Skip to content

Instantly share code, notes, and snippets.

@LDAsuku
Last active July 5, 2020 01:40
Show Gist options
  • Save LDAsuku/460ff26dae7309f67fbf47734b8fc58a to your computer and use it in GitHub Desktop.
Save LDAsuku/460ff26dae7309f67fbf47734b8fc58a to your computer and use it in GitHub Desktop.
crash_bsnes.asm
; asar --fix-checksum=off --no-title-check crash_bsnes.asm crash_bsnes.sfc
; causes bsnes-plus on accuracy to hang
; lags the hell out of ZSNES and Snes9X-GTK
; no$sns and others are unaffected
org $008000
e_reset:
; fuck it, enable NMI
lda #$80
sta $4200
e_nmi:
lda #$01
xba
lda #$ff
tcs ; wouldn't want to cause a stack overflow now, would we?
; fuck it, start a bunch of garbage DMA
- stz $4305 : stz $4306
stz $4315 : stz $4316
stz $4325 : stz $4326
stz $4335 : stz $4336
stz $4345 : stz $4346
stz $4355 : stz $4356
stz $4365 : stz $4366
stz $4375 : stz $4376
sta $420b
bra -
padbyte $02 : pad $00ffc0
org $00ffc0
db "CRASH BSNES " ; rom title (21 bytes, ascii)
db $20 ;" ; map mode: slow lorom
db $00 ; cart contents: rom only
db $05 ; rom size: 32kb (1 bank)
db $00 ; no ram
db $01,$33,$00 ; NTSC; unused; revision: 00
dw $5555,$5555 ; checksums
dw $ffff,$ffff ; unused vectors
dw e_reset ; native cop vector
dw e_reset ; native brk vector
dw e_reset ; native abort vector
dw e_reset ; native nmi vector
dw e_reset ; native reset vector
dw e_reset ; native irq vector
dw $ffff,$ffff ; unused vectors
dw e_reset ; emulation cop vector
dw e_reset ; emulation brk vector
dw e_reset ; emulation abort vector
dw e_nmi ; emulation nmi vector
dw e_reset ; emulation reset vector
dw e_reset ; emulation irq+brk vector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment