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/
ALLDREAM
Re: ALLDREAM
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:
In my test, the program used is:
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)
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
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
$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)
Re: ALLDREAM
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
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
Re: ALLDREAM
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.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!
Thanks,
Brennan