[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