Ye I implemented Joshua's timer code which does work but maybe needs a cache flush.
You can try to use bullys old timer the way the code in the OP does
change all the macro-region stuff to this..
.set region, '' #Must set region value, or else source will not compile
.if (region == 'E' || region == 'e') # RMCE
.set _1sthalf, 0x8053
.set _2ndhalf, 0x10A0
.elseif (region == 'P' || region == 'p') # RMCP
.set _1sthalf, 0x8053
.set _2ndhalf, 0x5BE8
.elseif (region == 'J' || region == 'j') # RMCJ
.set _1sthalf, 0x8053
.set _2ndhalf, 0x5568
.elseif (region == 'K' || region == 'k') # RMCK
.set _1sthalf, 0x8052
.set _2ndhalf, 0x3C40
.else # Invalid Region
.err
.endif
And any source parts that contain this...
lis r12, _1sthalf
lis r11, 0xA384 #Default Word Value (instruction) at Millisecond Display Code Address
ori r11, r11, 0x0008
stw r11, _2ndhalf (r12)
---
lis r11, 0xA384 #Set 1st half of default word value to write to Millisecond Display address
ori r11, r11, 0x0008 #Set 2nd half of default word value
Change the A3840008 to 80A10024
And in the second ASM..
oris r11, r0, 0x3B80
change that to oris r11, r0, 0x38A0
You can try to use bullys old timer the way the code in the OP does
change all the macro-region stuff to this..
.set region, '' #Must set region value, or else source will not compile
.if (region == 'E' || region == 'e') # RMCE
.set _1sthalf, 0x8053
.set _2ndhalf, 0x10A0
.elseif (region == 'P' || region == 'p') # RMCP
.set _1sthalf, 0x8053
.set _2ndhalf, 0x5BE8
.elseif (region == 'J' || region == 'j') # RMCJ
.set _1sthalf, 0x8053
.set _2ndhalf, 0x5568
.elseif (region == 'K' || region == 'k') # RMCK
.set _1sthalf, 0x8052
.set _2ndhalf, 0x3C40
.else # Invalid Region
.err
.endif
And any source parts that contain this...
lis r12, _1sthalf
lis r11, 0xA384 #Default Word Value (instruction) at Millisecond Display Code Address
ori r11, r11, 0x0008
stw r11, _2ndhalf (r12)
---
lis r11, 0xA384 #Set 1st half of default word value to write to Millisecond Display address
ori r11, r11, 0x0008 #Set 2nd half of default word value
Change the A3840008 to 80A10024
And in the second ASM..
oris r11, r0, 0x3B80
change that to oris r11, r0, 0x38A0