diff --git a/framehook.asm b/framehook.asm index 581b988..c4927e3 100644 --- a/framehook.asm +++ b/framehook.asm @@ -53,28 +53,28 @@ NMIHookAction: JML.l NMIHookReturn ;-------------------------------------------------------------------------------- -;!NMI_AUX = "$7F5044" -;PostNMIHookAction: -; LDA !NMI_AUX+2 : BEQ + -; LDA $00 : PHA ; preserve DP ram -; LDA $01 : PHA -; LDA $02 : PHA -; -; LDA !NMI_AUX+2 : STA $02 ; set up jump pointer -; LDA !NMI_AUX+1 : STA $01 -; LDA !NMI_AUX+0 : STA $00 -; -; PHK : PER .return-1 ; push stack for RTL return -; JMP [$0000] -; -; .return -; LDA.b #$00 : STA !NMI_AUX+2 ; zero bank byte of NMI hook pointer -; -; PLA : STA $02 -; PLA : STA $01 -; PLA : STA $00 -; + -; -; LDA $13 : STA $2100 ; thing we wrote over, turn screen back on -;JML.l PostNMIHookReturn +!NMI_AUX = "$7F5044" +PostNMIHookAction: + LDA !NMI_AUX : BEQ + + LDA $00 : PHA ; preserve DP ram + LDA $01 : PHA + LDA $02 : PHA + + LDA !NMI_AUX+2 : STA $02 ; set up jump pointer + LDA !NMI_AUX+1 : STA $01 + LDA !NMI_AUX+0 : STA $00 + + PHK : PER .return-1 ; push stack for RTL return + JMP [$0000] + + .return + LDA.b #$00 : STA !NMI_AUX ; zero bank byte of NMI hook pointer + + PLA : STA $02 + PLA : STA $01 + PLA : STA $00 + + + + LDA $13 : STA $2100 ; thing we wrote over, turn screen back on +JML.l PostNMIHookReturn ;-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/shopkeeper.asm b/shopkeeper.asm index 3cfeb1b..cc546eb 100644 --- a/shopkeeper.asm +++ b/shopkeeper.asm @@ -194,19 +194,20 @@ SpritePrep_ShopKeeper: BRL - .stop - ;STA $FFFFFF - LDA $A0 : CMP.b #$FF : BNE .normal - .dumb - LDA $2137 - LDA $213F - LDA $213D - CMP.b #60 - !BLT .dumb - .normal - LDA #$80 : STA $2100 - JSR Shopkeeper_UploadVRAMTiles - LDA #$0F : STA $2100 - ;JSR.w QueueItemDMA + ;LDA $A0 : CMP.b #$FF : BNE .normal + ;.dumb + ; LDA $2137 + ; LDA $213F + ; LDA $213D + ; CMP.b #60 + ; !BLT .dumb + ;.normal + ;LDA #$80 : STA $2100 + ;JSR Shopkeeper_UploadVRAMTiles + ;LDA #$0F : STA $2100 + LDA.b #Shopkeeper_UploadVRAMTilesLong>>16 : STA !NMI_AUX+2 + LDA.b #Shopkeeper_UploadVRAMTilesLong>>8 : STA !NMI_AUX+1 + LDA.b #Shopkeeper_UploadVRAMTilesLong>>0 : STA !NMI_AUX .done LDA.l !SHOP_TYPE : BIT.b #$20 : BEQ .notTakeAll ; Take-all @@ -245,11 +246,11 @@ dw $0000, $0000 dw $0080, $0000 dw $0100, $0000 ;-------------------------------------------------------------------------------- -QueueItemDMA: - LDA.b #Shopkeeper_UploadVRAMTilesLong>>0 : STA !NMI_AUX - LDA.b #Shopkeeper_UploadVRAMTilesLong>>8 : STA !NMI_AUX+1 - LDA.b #Shopkeeper_UploadVRAMTilesLong>>16 : STA !NMI_AUX+2 -RTS +;QueueItemDMA: +; LDA.b #Shopkeeper_UploadVRAMTilesLong>>0 : STA !NMI_AUX +; LDA.b #Shopkeeper_UploadVRAMTilesLong>>8 : STA !NMI_AUX+1 +; LDA.b #Shopkeeper_UploadVRAMTilesLong>>16 : STA !NMI_AUX+2 +;RTS ;-------------------------------------------------------------------------------- ; X - Tile Buffer Offset ; Y - Item ID