[Coco] Trouble with check

Arthur Flexser flexser at fiu.edu
Sat Oct 4 17:26:17 EDT 2008


You say, "This program does not work with RGBDOS as $16A is changed." But the
program copies the 3 bytes initially at $16A-16C before it changes them, and
falls into these stored bytes at the end (CONT). So, shouldn't it work okay,
even if the initial contents of $16A-16C are different under RGBDOS?

Art

On Wed, 1 Oct 2008, Robert Gault wrote:


> 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.

>

> --

> Coco mailing list

> Coco at maltedmedia.com

> http://five.pairlist.net/mailman/listinfo/coco

>





More information about the Coco mailing list