[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