Page 1 of 1

ON ERROR GOTO for CoCo 1/2 and Dragon 32/64

Posted: Mon Feb 20, 2012 10:14 pm
by zephyr
Here's a handy ON ERROR GOTO line 63999 routine for The Dragon 32/64. Once the error trapping routine has been enabled, any errors in your BASIC program will result in a jump to line 63999. If line 63999 does not exist, the program will stop and all errors will be reported as normal. The machine code is position independent and can be moved anywhere by altering line 80.

Code: Select all

10 'ON ERROR GOTO 63999 V1.0
20 'FOR THE DRAGON 32/64
30 'BY STEPHEN J WOOLHAM
40 '***************************
50 'BASIC EXAMPLE PROGRAM
60 '***************************
70 MC$="308D001CBC018F2716FC018FBF018FED8D002CB6018EA78D0024867EB7018E399E688CFFFF271734048EF9FF9F2BBD83FF3504250910DE21BD85DC7E849F393939"
80 X=1:FOR I=512 TO 576:POKE I,VAL("&H"+MID$(MC$,X,2)):X=X+2:NEXT
90 EXEC 512

Here's the same routine for the Tandy Color Computer 1 and 2.

Code: Select all

10 'ON ERROR GOTO 63999 V1.0
20 'FOR TANDY COCO 1 AND 2
30 'BY STEPHEN J WOOLHAM
40 '***************************
50 'BASIC EXAMPLE PROGRAM
60 '***************************
70 MC$="308D001CBC018F2716FC018FBF018FED8D002CB6018EA78D0024867EB7018E399E688CFFFF271734048EF9FF9F2BBDAD013504250910DE21BDAEA97EAD9E393939"
80 X=1:FOR I=512 TO 576:POKE I,VAL("&H"+MID$(MC$,X,2)):X=X+2:NEXT
90 EXEC 512

Re: ON ERROR GOTO for CoCo 1/2 and Dragon 32/64

Posted: Tue Feb 21, 2012 8:20 am
by zephyr
Here's a slightly more advanced routine which lets you set the line using DEF USR0=LINE NUMBER.

Code: Select all

10 'ON ERROR GOTO V1.0
20 'FOR THE DRAGON 32/64
30 'BY STEPHEN J WOOLHAM
40 '***************************
50 'BASIC EXAMPLE PROGRAM
60 '***************************
70 MC$="9EB0EC84BD84012524ED8D0029308D001FBC018F2716FC018FBF018FED8D0024B6018EA78D001C867EB7018E397E860596684C270E8EF9FF9F2B10DE21BD85DC7E849F393939"
80 X=1:FOR I=512 TO 581:POKE I,VAL("&H"+MID$(MC$,X,2)):X=X+2:NEXT
90 EXEC 512

Here's the same routine for the Tandy Color Computer 1 and 2.

Code: Select all

10 'ON ERROR GOTO V1.0
20 'FOR TANDY COCO 1 AND 2
30 'BY STEPHEN J WOOLHAM
40 '***************************
50 'BASIC EXAMPLE PROGRAM
60 '***************************
70 MC$="9EB0EC84BDAD032524ED8D0029308D001FBC018F2716FC018FBF018FED8D0024B6018EA78D001C867EB7018E397EAED296684C270E8EF9FF9F2B10DE21BDAEA97EAD9E393939"
80 X=1:FOR I=512 TO 581:POKE I,VAL("&H"+MID$(MC$,X,2)):X=X+2:NEXT
90 EXEC 512

Re: ON ERROR GOTO for CoCo 1/2 and Dragon 32/64

Posted: Tue Feb 21, 2012 8:28 am
by zephyr
Here's one quick example of how it can be used.

Code: Select all

10 DEF USR0=1000:GOSUB 100:EXEC 512
20 A$=INKEY$:IF A$="" THEN 20
30 PLAY "L8"+A$
40 GOTO 20
100 MC$="9EB0EC84BD84012524ED8D0029308D001FBC018F2716FC018FBF018FED8D0024B6018EA78D001C867EB7018E397E860596684C270E8EF9FF9F2B10DE21BD85DC7E849F393939"
110 X=1:FOR I=512 TO 581:POKE I,VAL("&H"+MID$(MC$,X,2)):X=X+2:NEXT
120 RETURN
1000 RUN 20