ten kod dodaje do amigi to co jest w ROMie od TOS 1.06
Instaluje on nową procedurę obsługi "Privilege violation vector" (adres $00000020):
MoveMe movem.l D0/A0,-(SP) ; Save registers
move.l 8+2(SP),A0 ; Pointer to opcode
move.w (A0),D0 ; Pickup opcode
andi.w #~%111111,D0 ; Mask out EA field
cmpi.w #$40C0,D0 ; Is it a MOVE SR,ea?
bne.s NotOne
bset #1,(A0) ; Convert it to MOVE CCR,ea 40C0 --> 42C0
movem.l (SP)+,D0/A0 ; Restore regs
rte ; Rerun new opcode
NotOne movem.l (SP)+,D0/A0 ; Restore regs
jmp $FC0000 ; To previous handler, patched on
; installation of this routine
Tak wygląda Atarowa procedura w TOS 1.06:
movem.l D0/A0,-(a7)
movea.l 10(a7),a0
move.w (a0),d0
and.w #$ffc0,d0
cmp.w #$40c0,d0
bne.s +10 {$E00536}
move.b #$42,(a0) ; Convert it to MOVE CCR,ea 40C0 --> 42C0
movem.l (a7)+,D0/A0
rte
{$E00536} movem.l (a7)+,D0/A0
jmp $8e00ca2
40C0 -> move SR,D0
42C0 -> move CCR,D0
Ostatnio edytowany przez Cyprian (2016-10-31 23:34:04)
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org