ALLDREAM

Looking for a Dragon or CoCo game not already in the archive - Then request it here and hopefully it will either be uploaded to the archive or another member can upload it to this forum.
sixxie
Posts: 1348
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: ALLDREAM

Post by sixxie »

Ok, I think I have a fix. I was using a shortcut for non-VMA cycles during instructions, but this would lead to slight late recognition of IRQs. Removed the shortcut, tracing seems to work.

Snapshot builds here as usual:

http://www.6809.org.uk/tmp/xroar/
pser1
Posts: 1668
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: ALLDREAM

Post by pser1 »

Hello Sixxie,
thanks for your fast answer.
I have been testing with a short example from the Alldream manual, that simply fills the text screen with uppercase letters and waits for a key to be pressed.
After compilation (Break A) and run (Break G), I use to verify the generated code with unasemble (U $INI, $END)
Then I just Trace (T $INI,1) and from then just a T to go step by step.
I start in XRoar and in my Dragon64 with:

Code: Select all

 
POKE25,6:NEW:CLEAR200,5000:EXEC&HC000 
In my test, the program used is:

Code: Select all

ORG    $1400
               PUT     $1400
1400        LDX     #$400
1403 L1   LDA     #'A
1405 L2   STA     ,X+
1407       INCA
1408       CMPA   #'Z
140A       BHI      $1403  (L1)
140C       LDY     #$7FF
1410 L3   LEAY   -1,Y
1412       CMPY   #$0
1416       BNE     $1410  (L3)
1418       CMPX   #$600
141B       BCS     $1405  (L2)
141D L4  JSR      $8006
1420       BEQ     $141D  (L4)
1422       RTS
When Tracing it stops at:
$1403 - $1407 so it has jumped over $1405 (a double byte instruction)
then stops at $140A again jumping over one instruction: INCA (simple one byte one!)
Then when inside the loops it works ok.
Changing the register Y value to speed things up it goes back to $1405, this time is showed because of the jump to!
Then goes to $1407, but again it skips over $1408 to stop on $140A
Hope this could help
Pere

It is known that programs that work with IRQ cannot be traced with Alldream (that is indicated on the manual)
pser1
Posts: 1668
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: ALLDREAM

Post by pser1 »

Hello Sixxie,
I have just downloaded the win64 version and tested it twice.
Your patch performs great!
I could work with my real Dragon, but it helps a lot XRoar on the PC, so now I can choose where to test.
Thank you very much for such a fast reaction!

my best wishes to you and all of the Dragon/CoCo lovers for next year 2013
Pere
brennanos
Posts: 1
Joined: Fri Jun 27, 2014 4:18 pm

Re: ALLDREAM

Post by brennanos »

In fact the way it waits until an IRQ *will* trigger looks very timing related (which would explain the differences between XRoar versions as I tweak timings). To the extent that it runs *differently* on the Tano (i.e. won't run properly without a patch). Interesting approach, though!
Does anyone know what patch is required to get ALLDREAM to work correctly on the Tano Dragon? From what I can tell, the only thing that isnt working correctly is program tracing. When using T <address> to attempt to begin single stepping a program, the value of <address> is put into U instead of PC. Its still quite useable, as breakpoints seem to work fine. Any help is appreciated.

Thanks,

Brennan
Post Reply