CoCo/Dragon Machine Detect - BASIC example

Hardware Hacking, Programming and Game Solutions/Cheats
Post Reply
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

CoCo/Dragon Machine Detect - BASIC example

Post by zephyr »

Here is a BASIC conversion of my Machine Detect program.

Code: Select all

10 CLS:PRINT"COCO/DRAGON MACHINE DETECT V1.0"
20 PRINT"BY STEVE EVANS (ZEPHYR)"
30 FOR I=&H200 TO &H225:READ A$:POKE I,VAL("&H"+A$):NEXT
40 PRINT:PRINT"DETECTED MACHINE:":PRINT
50 GOSUB 100:GOSUB 200:GOSUB 300:END
60 DATA 1A,50,F,76,DC,0,FE,80,0,7F,FF,DF,8E,12,34,BF,80,0
70 DATA BC,80,0,26,7,11,93,0,27,2,20,4,3,76,DD,0,7F,FF,DE,39
100 '
110 ' MACHINE TYPE DETECTION
120 '
130 C=PEEK(&HFFFE)*256+PEEK(&HFFFF)
140 D=PEEK(&H8002)
150 IF C=&HA027 THEN PRINT"COCO 1/2"
160 IF C=&H8C1B THEN PRINT"COCO 3"
170 IF C=&HB3B4 AND D=&H40 THEN PRINT"DRAGON 32"
180 IF C=&HB3B4 AND D=&H3C THEN PRINT"DRAGON 64 (32K MODE)"
190 IF C=&HC000 THEN PRINT"DRAGON 64 (64K MODE)"
195 RETURN
200 '
210 'RAM SIZE DETECTION
220 '
230 M=(PEEK(&H74)*256+PEEK(&H75)+2)/1024
240 K$="K":IF C=&HC000 THEN M=64
250 IF C=&H8C1B THEN M=128:K$="K OR GREATER"
260 IF M<>32 THEN 280
270 EXEC&H200:IF PEEK(&H76)=0 THEN M=64
280 PRINTMID$(STR$(M),2);K$:RETURN
300 '
310 'VIDEO SYSTEM DETECTION
320 '
330 D=&HA7D1
340 IF C=&HB3B4 THEN D=&HB480
350 IF C=&HC000 THEN D=&HF405
360 TIMER=0:EXEC D:T=TIMER
370 IF T>32 THEN PRINT"NTSC" ELSE PRINT"PAL"
380 RETURN
Attachments
Machine Detect v1.0 - BASIC.zip
(3 KiB) Downloaded 209 times
Post Reply