Cartridge self-checking

From NeoGeo Development Wiki
Revision as of 03:27, 13 March 2012 by Furrtek (talk | contribs) (Created page with "From samsho4, done for all 4 banks in $200000~$2FFFFF: <pre> move #$0FFF,d7 ;Number of times to test until error LAB_0057: move #$0001,$2FFFF0 ;Set P bank 1 cmpi #$0001,...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

From samsho4, done for all 4 banks in $200000~$2FFFFF:

	move	#$0FFF,d7		;Number of times to test until error
LAB_0057:
	move	#$0001,$2FFFF0		;Set P bank 1
	cmpi	#$0001,$2FFFF0		;Check if ($2FFFF0) = 1
	beq	LAB_0058		;Pass
	dbf	d7,LAB_0057		;Or loop
	move	#$0048,EXT_0574		;Fail
	move.b	#$FF,2066(a5)		;Set RAM
	jmp	EXT_01A0		;Write "WARNING BANK ERROR" and lock
LAB_0058:

Also see Slot check security.