[Coco] Re: Any reason to put a 6309 in a Coco2?
Torsten Dittel
Torsten at Dittel.info
Wed Jan 7 11:24:20 EST 2004
> Hmm, no technical reason that I know of - what and where are the latest
> BASIC ROM versions?
I remember Color BASIC 1.3 on my (lowercase) CoCo 2B. I thought there
was an (Disk?) Extended BASIC 1.2 to, but I might be wrong... have to
turn my CoCo on again... ;-)
Excerpts from earlier postings (Tim Lindner e.a.):
###################################
Color BASIC came in versions: 1.0, 1.1, and 1.2
Extended Color BASIC came in versions: 1.0 and 1.1
Color Disk BASIC came in versions 1.0 and 1.1
####################################
> 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
##########################################
I have done a little more commenting.
1.3:
A060 C6 04 LDB #$04 USE AS A MASK TO CHECK RAMSZ INPUT
A062 6F 1E CLR -2,X SET RAMSZ STROBE LOW
A064 E5 02 BITB 2,X CHECK RAMSZ INPUT
A066 27 06 BEQ $A070 BRANCH IF JUMPER SET
A068 A7 5B STA -5,U SET M0 OF SAM
A06A A7 55 STA -11,U SET P1 OF SAM
A06C 20 04 BRA $A072
A06E 12 NOP
A06F 12 NOP
A070 A7 5D STA -3,U SET M1 OF SAM
A072 6E A4 JMP ,Y GO DO A WARM OR COLD START
I am guessing that a CoCo 2 with version 1.3 of the ROM comes with a
SN74LS785 SAM and not a SN74LS783/MC6883 SAM.
So if the jumper is in place you have: 16K x 4 dynamic RAM.
If the jumper is clear you have: 64K x 1 dynamic RAM.
#############################################
> I am guessing that a CoCo 2 with version 1.3 of the ROM comes with a
> SN74LS785 SAM and not a SN74LS783/MC6883 SAM.
Correct, It mostly had to do with the refresh rates for 4 by XXk RAM
Chips.
> So if the jumper is in place you have: 16K x 4 dynamic RAM.
> If the jumper is clear you have: 64K x 1 dynamic RAM.
Vise-versa, you added the jumper for 64k.
###########################################
More information about the Coco
mailing list