NeoGeo Header

 

 

This is a default header for your NeoGeo demos

 

 

--------- START OF CODE ---------

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;
;;;;	NeoGeo Startup
;;;;
;;;;
;;;;	Kaneda (with permission of CDoty)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    VertBlank   equ $100000
   
    dc.l $0010F300	;Stack Ptr
    dc.l $00C00402	;InitialPC 402 in BIOS is a jmp to 11002
    
    dc.l $00C00408	;?? samething as Initial PC?
    dc.l $00C0040E  	;?? samething as Initial PC?
    						  
    dc.l $00C00414	;Ptr to debugging switch     			
        
    dc.l $00C0041A,$00C0041A,$00C0041A,$00C0041A	; ?
    dc.l $00C00420,$00C00426,$00C00426,$00C00426	; ? all these calls
    dc.l $00C00426,$00C00426,$00C0042C,$00C00426	; ? make a jump 
    dc.l $00C00426,$00C00426,$00C00426,$00C00426	; ? to c11002
    dc.l $00C00426,$00C00426,$00C00426,$00C00432	; ?
    
    dc.l VBlank,	Irq2,$00000000  ;Vertical blank ptr=VBlank
    					;IRQ2 ptr=Irq2(see below)
    					
    dc.l $00000000,$00000000,$00000000,$00000000
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    
    ;0x100
    dc.b "NEO-GEO", $00			;Magic bytes
    dc.w $1000				;NGH number (my Demos starts at 1000)
    dc.w $0010, $0000
    dc.w $0010 				;ptr to debugging switch
    dc.w $0000
    dc.w $0100				;starting sprite number (0x100 rsv for NeoGeo logo)
    dc.w $0000
    
    dc.l JapConfig 		; Japanese Config
    dc.l USConfig		; US Config
    dc.l EspConfig		; Espagnol config

    jmp     Start			;Entry point of prgm
    jmp     Start2
    jmp     Start3

    ;0x127
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF

    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF
    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF,$FFFFFFFF

    dc.l $FFFFFFFF,$FFFFFFFF,$FFFFFFFF

    dc.w $0000

    dc.l SCODE 					  ;Ptr to security code

SCODE:
    dc.l $76004A6D,$0A146600,$003C206D,$0A043E2D  ;Securty code
    dc.l $0A0813C0,$00300001,$32100C01,$00FF671A
    dc.l $30280002,$B02D0ACE,$66103028,$0004B02D
    dc.l $0ACF6606,$B22D0AD0,$67085088,$51CFFFD4
    dc.l $36074E75,$206D0A04,$3E2D0A08,$3210E049
    dc.l $0C0100FF,$671A3010,$B02D0ACE,$66123028
    dc.l $0002E048,$B02D0ACF,$6606B22D,$0AD06708
    dc.l $588851CF,$FFD83607
    dc.w $4e75

;when VBlanck
VBlank:
    btst    #7, $10fd80		;bit 7= 1 when NeoGeo logo is displayed
    bne     DisplayedLogo				

    move.l  #$c00438, a0
    jmp     (a0)		;jmp in bios in NeoGeo logo display function

DisplayedLogo:
    move.w  #4, $3c000c		;IRQ 4 acknoledge?
    move.b  d0, $300001		;??? watchdog???

    addq.l  #1,VertBlank	;Vertical Blank occurs

    rte

;when Irq2
Irq2:
    rte


JapConfig:
USConfig:
EspConfig:
	dc.b "YOUR DEMO NAME  " ;16 chars
	dc.l $FFFFFFFF
	dc.w $0364
	dc.l $14132401


;Entry point
Start:
	jmp _main

Start2:
	rts
 
Start3:
	rts

--------- END OF CODE ---------

 

Back