XRoar COCO

A place to discuss everything Dragon related that doesn't fall into the other categories.
Post Reply
admin
Site Admin
Posts: 410
Joined: Thu Jul 17, 2008 10:22 pm

XRoar COCO

Post 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?
Simon Hardy
sixxie
Posts: 1348
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: XRoar COCO

Post by sixxie »

Works with extended basic 1.3, but no lower. How strange.

To save out as untokenised ASCII, try CSAVE"BLAH",A
sixxie
Posts: 1348
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: XRoar COCO

Post 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.
admin
Site Admin
Posts: 410
Joined: Thu Jul 17, 2008 10:22 pm

Re: XRoar COCO

Post 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.
Simon Hardy
admin
Site Admin
Posts: 410
Joined: Thu Jul 17, 2008 10:22 pm

Re: XRoar COCO

Post 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.
Simon Hardy
sixxie
Posts: 1348
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: XRoar COCO

Post 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 :)
sixxie
Posts: 1348
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: XRoar COCO

Post 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.
Post Reply