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)