first commit
This commit is contained in:
62
main_test.s
Normal file
62
main_test.s
Normal file
@@ -0,0 +1,62 @@
|
||||
; Test version - Load game.bin manually from Workbench CLI
|
||||
; This helps us verify if the game code itself works
|
||||
|
||||
ORG $20000
|
||||
|
||||
START:
|
||||
; Don't call Forbid - we're running from CLI
|
||||
; move.l 4.w,a6
|
||||
; jsr -132(a6)
|
||||
|
||||
; Save old view
|
||||
lea CUSTOM,a6
|
||||
move.w INTENAR(a6),d0
|
||||
or.w #$8000,d0
|
||||
move.w d0,OldIntEna
|
||||
move.w DMACONR(a6),d0
|
||||
or.w #$8000,d0
|
||||
move.w d0,OldDmaCon
|
||||
|
||||
; Disable all interrupts and DMA
|
||||
move.w #$7FFF,INTENA(a6)
|
||||
move.w #$7FFF,DMACON(a6)
|
||||
move.w #$7FFF,INTREQ(a6)
|
||||
|
||||
; Initialize Subsystems
|
||||
bsr InitGraphics
|
||||
bsr InitGameLogic
|
||||
|
||||
; Enable DMA for Copper, Bitplanes, Blitter
|
||||
move.w #$83C0,DMACON(a6) ; Set DMAEN, BPLEN, COPEN, BLTEN
|
||||
|
||||
MAIN_LOOP:
|
||||
; Wait for vertical blank
|
||||
bsr WaitVBlank
|
||||
|
||||
; 1. Read Input
|
||||
bsr ReadInput
|
||||
|
||||
; 2. Update Game Logic
|
||||
bsr UpdateGame
|
||||
|
||||
; 3. Check for Exit (Left Mouse Button for now)
|
||||
btst #6,CIAA
|
||||
bne.s MAIN_LOOP
|
||||
|
||||
EXIT:
|
||||
; Restore System
|
||||
lea CUSTOM,a6
|
||||
move.w #$7FFF,DMACON(a6)
|
||||
move.w #$7FFF,INTENA(a6)
|
||||
|
||||
move.w OldDmaCon,DMACON(a6)
|
||||
move.w OldIntEna,INTENA(a6)
|
||||
|
||||
; Enable multitasking
|
||||
move.l 4.w,a6
|
||||
jsr -138(a6) ; Permit
|
||||
|
||||
moveq #0,d0 ; Return code 0
|
||||
rts
|
||||
|
||||
; ... rest of the code stays the same
|
||||
Reference in New Issue
Block a user