[Coco] Trouble with check
Robert Gault
robert.gault at worldnet.att.net
Wed Oct 1 03:25:22 EDT 2008
Michael C. Robinson wrote:
> I'm having trouble getting Rainbow check plus to work. I'm on a 512k
> coco3 with a drivewire rom pack. Has anyone else with my setup
> experienced problems with check? I copied check out of the September
> 1986 Rainbow. I've been typing in a game that I should be able to use
> check on. Do some of the lines need to be changed?
>
> 10 CLS:X=256*PEEK(35)+178
> 20 CLEAR 25,X-1
> 30 X=256*PEEK(35)+178
> 40 FOR Z=X TO X+77
> 50 READ Y:W=W+Y:PRINT Z,Y;W
> 60 POKE Z,Y:NEXT
> 70 IFW=7985THEN80ELSEPRINT"DATA ERROR":STOP
> 80 EXEC X:END
> ...
>
> The rest is on page 15 of the September 1986 Rainbow.
>
>
See also Rainbow, 1984, p.21
You have not said what your problem is, so it's hard to tell what went
wrong. Here is the actual program that you typed in.
ORG $7FB2
* MODIFY A BASIC RAM HOOK
START LDA $16A CONSOLE IN MSB
STA <CONT,PCR
LDA #$7E JMP
STA $16A CONSOLE IN MSB
LDX $16B CONSOLE IN LSW
STX <CONT+1,PCR
LEAX <CHKPLS,PCR
STX $16B CONSOLE IN LSW
RTS
CHKPLS CMPA #10 DOWN ARROW
BNE CONT BACK TO BASIC RAM HOOK
PSHS X,D
CLRA
* Get Pointer to beginning of Basic program in memory
LDX <$19
C@ LDB ,X++ get POINTER content
BEQ A@
ADDA ,X+ get one byte of Line
B@ ADDA ,X+ get one byte of Line
LDB ,X test for end of Line
BNE B@
LEAX 1,X skip over marker
BRA C@
A@ STA $2DE line input buffer +3
LEAX <CHARAD,PCR get Pointer
STX <$A6 give new Pointer to Basic
LDA ,X get content of Pointer
ANDCC #%11111110 clear Carry
JSR $ADC6 tell Basic to process data
PULS D,X
CONT JMP $ADC6
* This is a tokenized program line.
* translation: PRINT PEEK(734)
* 734=$2DE which contains checksum.
CHARAD FCB $87,$FF,$86,$28,$37,$33,$34,$29,0
END START
This program will work with disk systems even though it seems to have
been written for tape systems. However, it expects the hooks and other
low RAM system content to be intact. If drivewire or any DOS
modifications have made use of the above hard coded addresses, then
CheckPlus will fail.
This program does not work with RGBDOS as $16A is changed. Probably
CheckPlus won't work with HDBDOS.
More information about the Coco
mailing list