From 7efef9a0424a5cce190fd18a950a80fba37e9dd4 Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Fri, 13 Oct 2023 11:30:55 +0200 Subject: [PATCH] All buttons should use that kind of code. --- src/include/input.asm | 30 ++- tools/Emulicious.ini | 508 +++++++++++++++++++++--------------------- 2 files changed, 282 insertions(+), 256 deletions(-) diff --git a/src/include/input.asm b/src/include/input.asm index ea2cbe3..f94cb62 100644 --- a/src/include/input.asm +++ b/src/include/input.asm @@ -43,7 +43,10 @@ GetInput:: bit 0, b ; A jr nz, .clearA .setA - ld a, 1 + ldh a, [hAState] + cp $FF + jr z, .readB + inc a ldh [hAState], a jr .readB .clearA @@ -54,7 +57,10 @@ GetInput:: bit 1, b ; B jr nz, .clearB .setB - ld a, 1 + ldh a, [hBState] + cp $FF + jr z, .readSelect + inc a ldh [hBState], a jr .readSelect .clearB @@ -65,7 +71,10 @@ GetInput:: bit 2, b ; Select jr nz, .clearSelect .setSelect - ld a, 1 + ldh a, [hSelectState] + cp $FF + jr z, .readStart + inc a ldh [hSelectState], a jr .readStart .clearSelect @@ -76,7 +85,10 @@ GetInput:: bit 3, b ; Start jr nz, .clearStart .setStart - ld a, 1 + ldh a, [hStartState] + cp $FF + jr z, .dpad + inc a ldh [hStartState], a jr .dpad .clearStart @@ -98,7 +110,10 @@ GetInput:: bit 2, b ; Up jr nz, .clearUp .setUp - ld a, 1 + ldh a, [hUpState] + cp $FF + jr z, .readDown + inc a ldh [hUpState], a jr .readDown .clearUp @@ -109,7 +124,10 @@ GetInput:: bit 3, b ; Down jr nz, .clearDown .setDown - ld a, 1 + ldh a, [hDownState] + cp $FF + jr z, .readLeft + inc a ldh [hDownState], a jr .readLeft .clearDown diff --git a/tools/Emulicious.ini b/tools/Emulicious.ini index 76dacd0..95b1113 100644 --- a/tools/Emulicious.ini +++ b/tools/Emulicious.ini @@ -1,255 +1,121 @@ #Emulicious settings file -#Fri Oct 13 11:18:40 CEST 2023 -SouthPanelHeight=635 -GameBoyErrorBreakpointMessage6= -GameBoyErrorBreakpointMessage5= -InterruptBreakpointEnabled=false -GameBoyErrorBreakpointMessage4= -GameBoyErrorBreakpointEnabled19=false -GameBoyErrorBreakpointMessage3= -DebuggerHideCpuUsageGraph=false -RomDir=C\:\\workspace\\dmgtris\\bin -GameBoyErrorBreakpointEnabled18=false -GameBoyErrorBreakpointMessage2= -GameBoyErrorBreakpointEnabled17=false -GameBoyErrorBreakpointMessage1= -GameBoyErrorBreakpointEnabled16=false -Key19=72 -GameBoyErrorBreakpointMessage0= -Key18=71 -Key17=76 -WindowMemoryTracerWindowY=631 -WindowPaletteViewerY=619 -Key16=74 -WindowMemoryTracerWindowX=383 -WindowPaletteViewerX=262 -GameBoyErrorBreakpointEnabled9=false -DebuggerEventFiltersGameBoy= -Key15=75 -GameBoyErrorBreakpointEnabled8=false -Key14=73 -GameBoyErrorBreakpointEnabled7=false -GameBoyErrorBreakpointEnabled10=true -Gamepad0Key9=-1 -Key13=83 -GameBoyErrorBreakpointEnabled6=false +#Fri Oct 13 11:30:41 CEST 2023 WindowEventViewerWindowHeight=861 -Gamepad0Key8=-1 -Key12=65 -GameBoyErrorBreakpointEnabled5=false -Gamepad0Key7=-1 -Key11=39 -GameBoyErrorBreakpointEnabled4=false -Gamepad0Key6=-1 -Key10=37 -GameBoyErrorBreakpointEnabled3=false -Gamepad0Key5=-1 -GameBoyErrorBreakpointEnabled2=false -Gamepad0Key4=-1 -WindowVideoViewerOpen=false -GameBoyErrorBreakpointEnabled1=false -Gamepad0Key3=-1 -GameBoyErrorBreakpointEnabled0=false -Gamepad0Key2=-1 -Gamepad0Key1=-1 +WindowEventViewerWindowDivider=309 +WindowMemoryTracerWindowY=631 +WindowMemoryTracerWindowX=383 +Update=2 AudioSync=false -Gamepad0Key0=-1 +DebuggerMemoryTabVisibleRect=0,0,0,0 +UninitializedMemoryBreakpointSuspend=true +GameBoyErrorBreakpointEnabled32=false +SMSGamepadBThreshold=50 +RegistersGameBoy=AF,BC,DE,HL,SP,PC,LCDC,STAT,LY,DIV,IE,IF +SMSbuttonsThreshold=50 +GBGamepadThreshold=50 +GameBoyErrorBreakpointEnabled20=false +StretchToWindow=false +WindowTileViewerOpen=false +DebuggerWestPanelSelectedTab=0 +WindowMemoryTracerWindowWidth=243 +WindowPaletteViewerOpen=false +Key37=-1 +Key36=-1 +GameBoyErrorBreakpointEnabled19=false +Key35=-1 +GameBoyErrorBreakpointEnabled18=false +Key34=-1 +GameBoyErrorBreakpointEnabled17=false +Key33=-1 +GameBoyErrorBreakpointEnabled16=false +Key32=-1 +WindowDebuggerHeight=987 +Key31=-1 +Key30=-1 +WindowMemoryTracerWindowHeight=289 WindowTilemapViewerOpen=false +GameBoyErrorBreakpointEnabled10=true +WindowTileViewerY=549 +WindowTileViewerX=271 +GBGamepad=-1 +Key29=-1 +Key28=10 +Key27=-1 +WindowTilemapViewerHeight=744 +Key26=-1 +Key25=-1 +Key24=-1 +Key23=10 +Key22=-1 +Key21=-1 +Key20=-1 +MemoryTracer=true +Key19=72 +Key18=71 +DebuggerMemorySelectedAddress=4 +SMSGamepadBKeyboard=false +Key17=76 +Key16=74 +Key15=75 +Key14=73 +Key13=83 +DataExecutionBreakpointEnabled=false +Key12=65 +Key11=39 +Key10=37 +WindowTileViewerHeight=453 +EventViewerEventFiltersGameBoy= +WindowMemoryTracerWindowOpen=false SMSInputDeviceB=1 SMSInputDeviceA=1 -DataExecutionBreakpointEnabled=false -GameBoyErrorBreakpointCondition32= -WindowEventViewerWindowY=489 -WindowEventViewerWindowX=1472 -WindowSpriteViewerHeight=527 -WindowSpriteViewerWidth=370 -DebuggerWestPanelSelectedTab=0 -WindowMemoryTracerWindowHeight=289 -Gamepad0Key37=-1 -Gamepad0Key36=-1 -SMSbuttonsGamepad=-1 -Gamepad0Key35=-1 -GameBoyErrorBreakpointCondition20= -Gamepad0Key34=-1 -Gamepad0Key33=-1 -Gamepad0Key32=-1 -Gamepad0Key31=-1 -Gamepad0Key30=-1 -DebuggerSouthPanelSelectedTab=0 -StackWidth=1311 -SMSGamepadAKeyboard=false -GameBoyErrorBreakpointCondition19= -GameBoyErrorBreakpointCondition18= -GameBoyErrorBreakpointCondition17= -GameBoyErrorBreakpointCondition16= -Gamepad0Key29=-1 -Gamepad0Key28=-1 -Gamepad0Key27=-1 -Gamepad0Key26=-1 -Gamepad0Key25=-1 -GameBoyErrorBreakpointCondition10= -GBGamepadThreshold=50 -InterruptBreakpointSuspend=true -Gamepad0Key24=-1 -Gamepad0Key23=-1 -Gamepad0Key22=-1 -Gamepad0Key21=-1 -Gamepad0Key20=-1 -UninitializedMemoryBreakpointEnabled=false -RegistersGameBoy=AF,BC,DE,HL,SP,PC,LCDC,STAT,LY,DIV,IE,IF -WindowMemoryTracerWindowOpen=false -Gamepad0Key19=-1 -WindowDebuggerHeight=987 -Gamepad0Key18=-1 -Gamepad0Key17=-1 -WindowSpriteViewerY=512 -Gamepad0Key16=-1 -WindowSpriteViewerX=320 -Gamepad0Key15=-1 -Gamepad0Key14=-1 -Gamepad0Key13=-1 -Gamepad0Key12=-1 -Gamepad0Key11=-1 -KeyboardRequireWindowFocus=true -Gamepad0Key10=-1 -DataExecutionBreakpointSuspend=true -SMSbuttonsKeyboard=false -GBGamepad=-1 -WindowEventViewerWindowOpen=true -WindowPaletteViewerHeight=313 -WindowMemoryTracerWindowWidth=243 -WindowVideoViewerWidth=980 -StretchToWindow=false -Gamepad1Key37=-1 -Gamepad1Key36=-1 -DebuggerHideToolbar=false -Gamepad1Key35=-1 -Gamepad1Key34=-1 -Gamepad1Key33=-1 -Gamepad1Key32=-1 -Gamepad1Key31=-1 -Gamepad1Key30=-1 -InterruptBreakpointCondition= -WindowPaletteViewerOpen=false -SMSGamepadAThreshold=50 -Gamepad1Key29=-1 -Gamepad1Key28=-1 -WindowDebuggerOpen=false -Gamepad1Key27=-1 -Gamepad1Key26=-1 -SMSGamepadB=-1 -Gamepad1Key25=-1 -SMSGamepadA=-1 -Gamepad1Key24=-1 -EventViewerEventFiltersGameBoy= -Gamepad1Key23=-1 -Gamepad1Key22=-1 -Gamepad1Key21=-1 -Gamepad1Key20=-1 -StackSplitLocation=320 -FontSize=13 -CodeFontSize=13 -WindowEmuliciousHeight=781 -CombineVideoViewers=true -WindowTilemapViewerY=544 -WindowTilemapViewerX=1013 -UninitializedMemoryBreakpointSuspend=true -GBGamepadKeyboard=false -MemoryTracer=true -SMSGamepadBKeyboard=false -DebuggerConsoleLogBreakpoints=true -SMSGamepadBThreshold=50 -Gamepad1Key19=-1 -BankSwapAtPCBreakpointEnabled=false -Gamepad1Key18=-1 -Gamepad1Key17=-1 -Gamepad1Key16=-1 -WindowPaletteViewerWidth=485 -GameBoyErrorBreakpointSuspend32=true -Recent0=C\:\\workspace\\dmgtris\\bin\\out.gb -Gamepad1Key15=-1 -Gamepad1Key14=-1 -Gamepad1Key13=-1 -Gamepad1Key12=-1 +InterruptBreakpointEnabled=false +OutlineWidth=425 +DebuggerEventFiltersGameBoy= GameBoyErrorBreakpointSuspend9=true -Gamepad1Key11=-1 +WindowMemoryEditorOpen=true GameBoyErrorBreakpointSuspend8=true -Gamepad1Key10=-1 GameBoyErrorBreakpointSuspend7=true +WindowPaletteViewerY=619 GameBoyErrorBreakpointSuspend6=true +SMSbuttonsGamepad=-1 +WindowPaletteViewerX=262 GameBoyErrorBreakpointSuspend5=true GameBoyErrorBreakpointSuspend4=true GameBoyErrorBreakpointSuspend3=true GameBoyErrorBreakpointSuspend2=true GameBoyErrorBreakpointSuspend1=true GameBoyErrorBreakpointSuspend0=true -Scale=5.0 -DebuggerMemorySelectedAddress=4 -WindowEmuliciousWidth=816 -GameBoyErrorBreakpointSuspend20=true -DataExecutionBreakpointCondition= -WindowTilemapViewerWidth=404 -BankSwapAtPCBreakpointCondition= -GameBoyErrorBreakpointMessage32= -SMSbuttonsThreshold=50 -WindowTileViewerY=549 -WindowTileViewerX=271 -Gamepad1Key9=-1 -UninitializedMemoryBreakpointCondition= -Gamepad1Key8=-1 -GameBoyErrorBreakpointSuspend19=true -Gamepad1Key7=-1 -GameBoyErrorBreakpointSuspend18=true -Gamepad1Key6=-1 -GameBoyErrorBreakpointSuspend17=true -Gamepad1Key5=-1 -GameBoyErrorBreakpointSuspend16=true -Gamepad1Key4=-1 -Gamepad1Key3=-1 -WindowVideoViewerY=275 -Gamepad1Key2=-1 -WindowVideoViewerX=946 -Gamepad1Key1=-1 -Gamepad1Key0=-1 -GameBoyErrorBreakpointSuspend10=true -WindowEventViewerWindowDivider=309 -WindowTilemapViewerHeight=744 -GameBoyErrorBreakpointMessage20= -WindowTileViewerWidth=467 -MemoryTracerDisplayFileOffsetsForROM=true -WindowDebuggerY=170 -WindowDebuggerX=1172 -Key37=-1 -Key36=-1 -WindowTileViewerOpen=false -GameBoyErrorBreakpointEnabled32=false -GameBoyErrorBreakpointCondition9= -Key35=-1 -GameBoyErrorBreakpointCondition8= -Key34=-1 -GameBoyErrorBreakpointCondition7= -GameBoyErrorBreakpointMessage19= -Key33=-1 -DebuggerMemoryTabVisibleRect=0,0,0,0 -GameBoyErrorBreakpointMessage18= -GameBoyErrorBreakpointCondition6= -Key32=-1 -WindowEventViewerWindowWidth=930 -OutlineWidth=425 -GameBoyErrorBreakpointMessage17= -GameBoyErrorBreakpointCondition5= -Key31=-1 -GameBoyErrorBreakpointMessage16= -GameBoyErrorBreakpointCondition4= -Key30=-1 -GameBoyErrorBreakpointCondition3= -GameBoyErrorBreakpointCondition2= +DebuggerConsoleLogBreakpoints=true +WindowDebuggerOpen=false +Gamepad1Key37=-1 +Gamepad1Key36=-1 +Gamepad1Key35=-1 +Gamepad1Key34=-1 +Gamepad1Key33=-1 +Gamepad1Key32=-1 +CombineVideoViewers=true +Gamepad1Key31=-1 +Gamepad1Key30=-1 +BankSwapAtPCBreakpointEnabled=false +DebuggerMemorySelectedTab=HRAM +WindowVideoViewerOpen=false +WindowMemoryEditorTabVisibleRect=0,0,583,128 +Gamepad1Key29=-1 +Gamepad1Key28=-1 +Gamepad1Key27=-1 +Gamepad1Key26=-1 +Gamepad1Key25=-1 +Gamepad1Key24=-1 +WindowTilemapViewerY=544 +Gamepad1Key23=-1 +WindowTilemapViewerX=1013 +Gamepad1Key22=-1 +Gamepad1Key21=-1 +Gamepad1Key20=-1 +WindowPaletteViewerWidth=485 Key9=40 -GameBoyErrorBreakpointCondition1= Key8=38 -GameBoyErrorBreakpointCondition0= Key7=83 -GameBoyErrorBreakpointMessage10= Key6=87 Key5=65 Key4=68 @@ -257,26 +123,168 @@ Key3=10 Key2=192 Key1=75 Key0=74 -WindowVideoViewerHeight=1027 -Update=2 -Key29=-1 -Key28=10 -Key27=-1 -Key26=-1 -WindowSpriteViewerOpen=false -Key25=-1 -WindowTileViewerHeight=453 -Key24=-1 -GameBoyErrorBreakpointEnabled20=false -Key23=10 -Key22=-1 -Key21=-1 +Gamepad1Key19=-1 +Gamepad1Key18=-1 +WindowEventViewerWindowY=489 +Gamepad1Key17=-1 +WindowEventViewerWindowX=1472 +Gamepad1Key16=-1 +Gamepad1Key15=-1 +Gamepad1Key14=-1 +Gamepad1Key13=-1 +Gamepad1Key12=-1 +Gamepad1Key11=-1 +Gamepad1Key10=-1 +WindowMemoryEditorSelectedAddress=-1 +WindowMemoryEditorWidth=665 +GameBoyErrorBreakpointCondition9= +GameBoyErrorBreakpointCondition8= +GameBoyErrorBreakpointCondition7= +GameBoyErrorBreakpointCondition6= +GameBoyErrorBreakpointCondition5= +GameBoyErrorBreakpointCondition4= +GameBoyErrorBreakpointCondition3= +GameBoyErrorBreakpointCondition2= +DebuggerHideCpuUsageGraph=false +GameBoyErrorBreakpointCondition1= +GameBoyErrorBreakpointCondition0= +Gamepad0Key37=-1 +Gamepad0Key36=-1 +Gamepad0Key35=-1 +Gamepad0Key34=-1 +Gamepad0Key33=-1 +Gamepad0Key32=-1 +WindowMemoryEditorSelectedTab=HRAM +Gamepad0Key31=-1 +Gamepad0Key30=-1 +SMSGamepadAThreshold=50 +WindowPaletteViewerHeight=313 +WindowVideoViewerY=275 +WindowVideoViewerX=946 +UninitializedMemoryBreakpointEnabled=false +Gamepad0Key29=-1 +Gamepad0Key28=-1 +Gamepad0Key27=-1 +Gamepad0Key26=-1 +Gamepad0Key25=-1 +Gamepad0Key24=-1 +Gamepad0Key23=-1 +Gamepad0Key22=-1 +DebuggerHideToolbar=false +Gamepad0Key21=-1 +WindowDebuggerWidth=1481 +Gamepad0Key20=-1 +DebuggerSouthPanelSelectedTab=0 +WindowEmuliciousWidth=816 +WindowVideoViewerWidth=980 +WindowMemoryEditorY=612 +WindowMemoryEditorX=1589 +Gamepad0Key19=-1 +Gamepad0Key18=-1 +Gamepad0Key17=-1 +Gamepad0Key16=-1 +Gamepad0Key15=-1 +Gamepad0Key14=-1 +Gamepad0Key13=-1 +FontSize=13 +Gamepad0Key12=-1 +Gamepad0Key11=-1 +Gamepad0Key10=-1 +StackWidth=1311 BankSwapAtPCBreakpointSuspend=true -Key20=-1 +WindowEmuliciousHeight=781 +WindowSpriteViewerHeight=527 +GameBoyErrorBreakpointMessage32= +InterruptBreakpointCondition= +Recent0=C\:\\workspace\\dmgtris\\bin\\out.gb +GameBoyErrorBreakpointMessage20= WindowEmuliciousY=489 WindowEmuliciousX=666 -DebuggerMemorySelectedTab=HRAM -WindowDebuggerWidth=1481 +GameBoyErrorBreakpointEnabled9=false +GameBoyErrorBreakpointEnabled8=false +GameBoyErrorBreakpointEnabled7=false +GameBoyErrorBreakpointEnabled6=false +GameBoyErrorBreakpointEnabled5=false +GameBoyErrorBreakpointEnabled4=false GameBoyErrorBreakpointMessage9= +GameBoyErrorBreakpointEnabled3=false GameBoyErrorBreakpointMessage8= +GameBoyErrorBreakpointEnabled2=false GameBoyErrorBreakpointMessage7= +GameBoyErrorBreakpointEnabled1=false +GameBoyErrorBreakpointMessage19= +GameBoyErrorBreakpointEnabled0=false +GameBoyErrorBreakpointMessage6= +GameBoyErrorBreakpointMessage18= +GameBoyErrorBreakpointMessage5= +GameBoyErrorBreakpointMessage17= +GameBoyErrorBreakpointMessage4= +GameBoyErrorBreakpointMessage16= +GameBoyErrorBreakpointMessage3= +GameBoyErrorBreakpointMessage2= +GameBoyErrorBreakpointMessage1= +MemoryTracerDisplayFileOffsetsForROM=true +GameBoyErrorBreakpointMessage0= +GameBoyErrorBreakpointCondition32= +GameBoyErrorBreakpointMessage10= +DataExecutionBreakpointCondition= +Gamepad1Key9=-1 +Gamepad1Key8=-1 +Gamepad1Key7=-1 +Gamepad1Key6=-1 +Gamepad1Key5=-1 +Gamepad1Key4=-1 +Gamepad1Key3=-1 +Gamepad1Key2=-1 +WindowTileViewerWidth=467 +Gamepad1Key1=-1 +Gamepad1Key0=-1 +RomDir=C\:\\workspace\\dmgtris\\bin +GameBoyErrorBreakpointCondition20= +WindowVideoViewerHeight=1027 +WindowEventViewerWindowOpen=true +WindowSpriteViewerY=512 +WindowSpriteViewerX=320 +CodeFontSize=13 +DataExecutionBreakpointSuspend=true +WindowSpriteViewerWidth=370 +GameBoyErrorBreakpointCondition19= +GameBoyErrorBreakpointCondition18= +GameBoyErrorBreakpointCondition17= +GameBoyErrorBreakpointCondition16= +Gamepad0Key9=-1 +Gamepad0Key8=-1 +Gamepad0Key7=-1 +Gamepad0Key6=-1 +Gamepad0Key5=-1 +GameBoyErrorBreakpointCondition10= +Gamepad0Key4=-1 +Gamepad0Key3=-1 +Gamepad0Key2=-1 +Gamepad0Key1=-1 +Gamepad0Key0=-1 +WindowDebuggerY=170 +WindowDebuggerX=1172 +InterruptBreakpointSuspend=true +SMSGamepadAKeyboard=false +GameBoyErrorBreakpointSuspend32=true +SMSGamepadB=-1 +SMSGamepadA=-1 +WindowEventViewerWindowWidth=930 +BankSwapAtPCBreakpointCondition= +GameBoyErrorBreakpointSuspend20=true +SouthPanelHeight=635 +SMSbuttonsKeyboard=false +StackSplitLocation=320 +WindowMemoryEditorHeight=534 +WindowTilemapViewerWidth=404 +GBGamepadKeyboard=false +UninitializedMemoryBreakpointCondition= +GameBoyErrorBreakpointSuspend19=true +GameBoyErrorBreakpointSuspend18=true +GameBoyErrorBreakpointSuspend17=true +GameBoyErrorBreakpointSuspend16=true +GameBoyErrorBreakpointSuspend10=true +WindowSpriteViewerOpen=false +Scale=5.0 +KeyboardRequireWindowFocus=true