Page 1 of 1
XRoar COCO
Posted: Tue Jan 06, 2009 4:32 pm
by admin
Hi all,
I just tried the following simple program and it does not work on XRoar 0.22 with the coco extended basic rom:
Code: Select all
10 PMODE 1,1
20 PCLS
30 SCREEN 1,1
40 PSET(10,20,8)
50 GOTO 50
On a dragon 32 rom it works. The code is actually from the "Getting started with Extended Basic (Tandy)" book! Anyone know whats happening here?
Also, I was about to upload a cas file (created by the coco) so you didn't have to type the code but then loading the cas file into a dragon machine the basic tokens were all messed up. Basic programs on tape are not compatible between the two machines?
Re: XRoar COCO
Posted: Tue Jan 06, 2009 6:22 pm
by sixxie
Works with extended basic 1.3, but no lower. How strange.
To save out as untokenised ASCII, try CSAVE"BLAH",A
Re: XRoar COCO
Posted: Tue Jan 06, 2009 6:40 pm
by sixxie
Ok it's a RAM translation problem - older BASIC ROMs set this up and it's triggering something. Will check more later.
I meant BASIC 1.3, btw, not Extended BASIC (which I think only goes to 1.1).
Edit: my mistake, the translation is happening consistently. Something seems to actually be clearing memory. Erk. Will look further later.
Re: XRoar COCO
Posted: Tue Jan 06, 2009 7:52 pm
by admin
Thanks for looking into this. I'll await your answer on the strange problem until I continue with coco programming.
As for saving "cross platform" cas files your tip worked.
Re: XRoar COCO
Posted: Tue Jan 06, 2009 11:08 pm
by admin
sixxie wrote:Ok it's a RAM translation problem - older BASIC ROMs set this up and it's triggering something. Will check more later.
I believe that older versions of the CoCo sense the memory slightly differently to the newer versions could be something to do with that, I had to sort it out on the MESS driver, and remember commenting it so might be worth looking at the MESS CoCo/Dragon driver. This may of course not be reflected in the basic Roms.
Cheers.
Phill.
Re: XRoar COCO
Posted: Wed Jan 07, 2009 2:27 pm
by sixxie
prime wrote:sixxie wrote:Ok it's a RAM translation problem - older BASIC ROMs set this up and it's triggering something. Will check more later.
I believe that older versions of the CoCo sense the memory slightly differently to the newer versions could be something to do with that, I had to sort it out on the MESS driver, and remember commenting it so might be worth looking at the MESS CoCo/Dragon driver. This may of course not be reflected in the basic Roms.
Cheers - I'll have a poke around in there later. So far ROM disassembly and trace leads me to:
Code: Select all
$F8 -> $FF02
IF BIT 2 of $FF22 CLEAR THEN
SET TO 4K
ELSE
$00 -> $FF02
IF BIT 2 of $FF22 CLEAR THEN
SET TO 64K
ELSE
SET TO 16K
Meaning *one* of the top five bits of PB on PIA0 is connected to PB2 on PIA1 on >16K CoCos otherwise PIA1/PB2 is tied low (4K) or high (16K). The CoCo schematic you can find (if you knew where it was and how to use archive.org) online doesn't seem to show which line is linked, but I have a 64K CoCo at home, so should be able to figure it out

Re: XRoar COCO
Posted: Wed Jan 07, 2009 4:05 pm
by sixxie
So I have a fix, just hacked it to relay the top bit (as it's probably as otherwise unused as the rest of them) to see that it works. Will make it "right" later. Happy that this wasn't some programming error, just a lack of hardware emulation
I'll do an interim release to fix this and the other recent stuff once I've done it properly.