Cleanup startup code
I'm starting to understand this stuff better. This makes it possible to use OS-level interrupts like the keyboard in the code.
This commit is contained in:
parent
634bdd884e
commit
c76af7faf8
|
@ -131,13 +131,15 @@ _takeOverSystem:
|
||||||
OpenLibrary #GraphicsLibrary,#0
|
OpenLibrary #GraphicsLibrary,#0
|
||||||
MOVE.L D0,GraphicsBase
|
MOVE.L D0,GraphicsBase
|
||||||
|
|
||||||
MOVE.L $4,A6
|
|
||||||
CALLLIB _LVOForbid
|
|
||||||
|
|
||||||
MOVE.L D0,A6
|
MOVE.L D0,A6
|
||||||
MOVE.L gb_ActiView(A6),OldView
|
MOVE.L gb_ActiView(A6),OldView
|
||||||
MOVE.L gb_copinit(A6),OldCopper
|
MOVE.L gb_copinit(A6),OldCopper
|
||||||
|
|
||||||
|
MOVE.L #0,A1
|
||||||
|
CALLLIB _LVOLoadView
|
||||||
|
CALLLIB _LVOWaitTOF
|
||||||
|
CALLLIB _LVOWaitTOF
|
||||||
|
|
||||||
CALLLIB _LVOOwnBlitter
|
CALLLIB _LVOOwnBlitter
|
||||||
CALLLIB _LVOWaitBlit
|
CALLLIB _LVOWaitBlit
|
||||||
|
|
||||||
|
@ -148,17 +150,11 @@ _takeOverSystem:
|
||||||
PreserveRegister intreq
|
PreserveRegister intreq
|
||||||
PreserveRegister adkcon
|
PreserveRegister adkcon
|
||||||
|
|
||||||
MOVE.L #0,A1
|
|
||||||
CALLLIB _LVOLoadView
|
|
||||||
CALLLIB _LVOWaitTOF
|
|
||||||
CALLLIB _LVOWaitTOF
|
|
||||||
|
|
||||||
LEA _custom,A0
|
|
||||||
|
|
||||||
; http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0036.html
|
; http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node0036.html
|
||||||
MOVE.W #$7FFF,intena(A0) ; disable all interrupts
|
MOVE.W #$7FFF,intena(A0) ; disable all interrupts
|
||||||
; we need VERTB to use WaitTOF
|
; we need VERTB to use WaitTOF
|
||||||
MOVE.W #INTF_SETCLR|INTF_INTEN|INTF_COPER|INTF_VERTB,intena(A0) ; enable master interrupt, copper, and VBR
|
; PORTS and EXTER give me access to the keyboard and mouse via OS interrupts
|
||||||
|
MOVE.W #INTF_SETCLR|INTF_INTEN|INTF_COPER|INTF_PORTS|INTF_EXTER|INTF_VERTB,intena(A0) ; enable master interrupt, copper, and VBR
|
||||||
|
|
||||||
MOVE.W #$7FFF,dmacon(a0)
|
MOVE.W #$7FFF,dmacon(a0)
|
||||||
MOVE.W #DMAF_SETCLR|DMAF_MASTER|DMAF_COPPER|DMAF_RASTER|DMAF_BLITTER|DMAF_SPRITE,dmacon(A0)
|
MOVE.W #DMAF_SETCLR|DMAF_MASTER|DMAF_COPPER|DMAF_RASTER|DMAF_BLITTER|DMAF_SPRITE,dmacon(A0)
|
||||||
|
@ -214,9 +210,6 @@ _giveBackSystem:
|
||||||
CALLLIB _LVOWaitTOF
|
CALLLIB _LVOWaitTOF
|
||||||
CALLLIB _LVOWaitBlit
|
CALLLIB _LVOWaitBlit
|
||||||
CALLLIB _LVODisownBlitter
|
CALLLIB _LVODisownBlitter
|
||||||
|
|
||||||
MOVE.L $4,A6
|
|
||||||
CALLLIB _LVOPermit
|
|
||||||
MOVE.L (SP)+,A6
|
MOVE.L (SP)+,A6
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue