[Coco] BASIC and Disk BASIC version numbers
tim lindner
tlindner at ix.netcom.com
Thu Dec 11 15:14:00 EST 2003
John Guin <johnguin at hotmail.com> wrote:
> Aha - I got MESS working with a COCO2B image, and it has Color Basic 1.3.
>
> EXEC41175 to see the Color Basic version (and, no, I have no idea how I
> managed to remember that call after ~20 years).
Damn, you think I would have remembered this! I'm a MESS dev afterall.
:)
The differences are very small, just two lines from a dump:
Ofst Hex ASCII
Color BASIC 1.2:
0060: C6 04 A7 1E E5 02 27 0A 6F 1E E5 02 27 02 33 5E ......'.O...'.3^
0150: 49 43 20 31 2E 32 0D 28 43 29 20 31 39 38 32 20 IC 1.2.(C) 1982
Color BASIC 1.3:
0060: C6 04 6F 1E E5 02 27 06 A7 5B A7 55 20 04 12 12 ..O...'..[.U ...
0150: 49 43 20 31 2E 33 0D 28 43 29 20 31 39 38 32 20 IC 1.3.(C) 1982
The bytes at offset $0150 are obviously just the banner. The bytes at
offset $0060 have to do with the determining RAM size:
1.2 (From the Unravelled series):
A060 C6 04 LDB #$04 USE AS A MASK TO CHECK RAMSZ INPUT
A062 A7 1E STA -2,X SET RAMSZ STROBE HIGH
A064 E5 02 BITB 2,X CHECK RAMSZ INPUT
A066 27 0A BEQ LA072 BRANCH IF JUMPER SET FOR 4K RAMS
A068 6F 1E CLR -2,X SET RAMSZ STROBE LOW
A06A E5 02 BITB 2,X CHECK RAMSZ INPUT
A06C 27 02 BEQ LA070 BRANCH IF JUMPER SET FOR 64K RAMS
A06E 33 5E LEAU -2,U ADJUST POINTER TO SET SAM FOR 16K RAMS
1.3 (Hand disasembled):
A060 C6 04 LDB #$04 USE AS A MASK TO CHECK RAMSZ INPUT
A062 6F 1E CLR -2,X
A064 E5 02 BITB 2,X
A066 27 06 BEQ +6
A068 A7 5B STA -5,U
A06A A7 55 STA -11,U
A06C 20 04 BRA +4
A06E 12 NOP
A06F 12 NOP
--
tim lindner
tlindner at ix.netcom.com Bright
More information about the Coco
mailing list