Re: Battle Chess - Software solution for 16 color To get Battle Chess to work in 16 colors without the JR1000 hardware fix, the code needs to be patched in 12 places (same patch, 12 times). The original program hard codes the video address B800 in 12 places but by changing every occurrence to 1800 you will have your fix. Note: this makes it a PCjr only program, and requires booting with pcjrmem.com /c (to make sure the video buffer really exists at 1800). The file to patch is called ALLCANM1 on disk 1. This can be done easily with CABLE (from PCTOOLS) or with debug if you're careful. (Norton Utilities is really nice, too, if you have it.) The method using debug is as follows: Run debug on ALLCANM1, find YOUR value of DS (using 'r' command) - it WILL be DIFFERENT for each machine - , add 2000 (hex) to your DS value and search for the hex string 00 B8 8E, beginning at that calculated value. Change every occurrence of B8 to 18, then write it back. Below is a sample using debug: ** Standard hackers warning: use only a backup diskette. ** C> debug ALLCANM1 -r AX=0000 BX=0002 CX=D583 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=3510 ES=3510 SS=3510 CS=3510 IP=0100 NV UP EI PL NZ NA PO NC 3510:0100 132E0A2A ADC BP,[2A0A] DS:2A0A=DC72 (My DS=3510, so I searched from 5510) (5510 = 3510+2000) -s 5510:0 ffff 00 b8 8e 5510:9F89 <----| 5510:A007 | 5510:A606 | 5510:A739 | 5510:B6E0 | 5510:B72E | (Note: add 1 to each address returned above) 5510:C03C | (We are changing the SECOND byte of the 5510:C0C5 | search string.) 5510:C4E1 | 5510:C560 | 5510:CB5F | 5510:CC95 | | -e 5510:9f8a <----| 5510:9F8A B8.18 -e 5510:a008 5510:A008 B8.18 ... etc ... 10 more times -w If you create a SOUND3 file as Dave Wise suggested (see previous append) (ED Note: Patch in this file also) and run it before running Battle chess, you will have it all - 16 color and sound. FYI, My jr exhibits a hum when 3 voice is turned on and I know of at least one other that does too. It is coming from the third voice being set too loud on initialization. I found by turning off voice number 3 before enabling 3 voice sound that my hum goes away. (All 3 voices will of course be used by the program at the proper volumes.) For anyone having a similar hum, add the lines: MOV AL,DF OUT C0,AL to the SOUND3 code. (Before the 'IN AL,61' will work) Hacking tip: Several Tandy programs can be fixed for jr by changing B800 to 1800 (unless it uses multiple video pages) Programs often use the combination MOV AX,B800 followed by MOV ES,AX - but occasionally they might use BX or DS instead. Looking for the hex string '00 B8 8E' will find all of these (using the operand of the 1st instruction and the opcode of the 2nd.) Not foolproof by any means - once in a while you find a good programmer who sets a variable equal to B800 only once, then manipulates that variable. Tom Forties *==================================================================== _____________________________________________________________________ Battle Chess & ZANY Golf sound for| POSTED/CHANGED DATE: 6/6/89 _____________________________________________________________________ ----- PCJR SOFTWARE appended at 20:35:50 on 89/06/05 GMT (by WISE at GDLPD) --- Subject: Sound for Battle Chess and Zany Golf on PCjr Ref: Append at 16:39:34 on 89/06/05 GMT (by LHNGUYEN at RALVMB) Another real short program to turn on 3-voice sound, should do the same thing as Liem's program, with a companion to reset to beeper mode: DEBUG -a 100 xxxx:0100 IN AL,61 xxxx:0102 OR AL,60 xxxx:0104 OUT 61,AL xxxx:0106 INT 20 xxxx:0108 -r cx :0008 -n SOUND3V.COM -w -a 102 xxxx:0102 AND AL,9F xxxx:0104 -n SOUNDI.COM -w -q Run SOUND3V prior to programs needing 3-voice sound, it works if a program supports Tandy sound but neglects to setup jr mux port. Many programs only support Tandy sound if a Tandy graphics mode was selected and/or if the BIOS Id check indicates a Tandy, so this doesn't always work... Run SOUNDI to reset to beeper mode. Dave Wise