[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