fixed inputs still missing sometimes, updated build script
This commit is contained in:
@@ -13,12 +13,9 @@ InitEdit:
|
|||||||
ldh [SelectY], a
|
ldh [SelectY], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
EXPORT EditOldBuffer
|
EXPORT EditOldBuffer
|
||||||
SECTION "Edit old buffer", ROM0
|
SECTION "Edit old buffer", ROM0
|
||||||
EditOldBuffer:
|
EditOldBuffer:
|
||||||
call UpdateJoypad
|
|
||||||
|
|
||||||
ldh a, [JoypadDown]
|
ldh a, [JoypadDown]
|
||||||
and a, %1000
|
and a, %1000
|
||||||
ret z
|
ret z
|
||||||
|
|||||||
@@ -1,11 +1,21 @@
|
|||||||
INCLUDE "hardware.inc"
|
INCLUDE "hardware.inc"
|
||||||
|
|
||||||
|
EXPORT JoypadDown, JoypadPressed
|
||||||
Section "Joypad memory", HRAM
|
Section "Joypad memory", HRAM
|
||||||
; Bits 0..7 are A, B, Select, Start, Right, Left, Up, Down
|
; Bits 0..7 are A, B, Select, Start, Right, Left, Up, Down
|
||||||
JoypadPressed: ds 1
|
JoypadPressed: ds 1
|
||||||
JoypadWasPressed: ds 1
|
JoypadNewlyPressed: ds 1
|
||||||
JoypadDown: ds 1
|
JoypadDown: ds 1
|
||||||
|
|
||||||
|
EXPORT InitJoypad
|
||||||
|
SECTION "Init joypad", ROM0
|
||||||
|
InitJoypad:
|
||||||
|
xor a
|
||||||
|
ldh [JoypadDown], a
|
||||||
|
ldh [JoypadPressed], a
|
||||||
|
ldh [JoypadNewlyPressed], a
|
||||||
|
ret
|
||||||
|
|
||||||
EXPORT ReadJoypad
|
EXPORT ReadJoypad
|
||||||
SECTION "Read Joypad", ROM0
|
SECTION "Read Joypad", ROM0
|
||||||
ReadJoypad:
|
ReadJoypad:
|
||||||
@@ -33,9 +43,12 @@ ReadJoypad:
|
|||||||
; complement so that active buttons read as 1
|
; complement so that active buttons read as 1
|
||||||
or a, b
|
or a, b
|
||||||
cpl
|
cpl
|
||||||
|
|
||||||
; store currently pressed buttons
|
; add to currently pressed buttons
|
||||||
ldh [JoypadPressed], a
|
ld b, a
|
||||||
|
ldh a, [JoypadNewlyPressed]
|
||||||
|
or a, b
|
||||||
|
ldh [JoypadNewlyPressed], a
|
||||||
|
|
||||||
; reset joypad
|
; reset joypad
|
||||||
ld a, $30
|
ld a, $30
|
||||||
@@ -43,27 +56,23 @@ ReadJoypad:
|
|||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
EXPORT UpdateJoypad
|
||||||
SECTION "Update joypad", ROM0
|
SECTION "Update joypad", ROM0
|
||||||
UpdateJoypad:
|
UpdateJoypad:
|
||||||
; compute & store just pressed buttons
|
; compute & store just pressed buttons
|
||||||
ldh a, [JoypadPressed]
|
ldh a, [JoypadNewlyPressed]
|
||||||
ld b, a
|
ld b, a
|
||||||
ldh a, [JoypadWasPressed]
|
ldh a, [JoypadPressed]
|
||||||
cpl
|
cpl
|
||||||
and a, b
|
and a, b
|
||||||
ldh [JoypadDown], a
|
ldh [JoypadDown], a
|
||||||
|
|
||||||
; update was pressed
|
; update pressed
|
||||||
ld a, b
|
ld a, b
|
||||||
ldh [JoypadWasPressed], a
|
ldh [JoypadPressed], a
|
||||||
|
|
||||||
|
; reset newly pressed
|
||||||
|
xor a
|
||||||
|
ldh [JoypadNewlyPressed], a
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
EXPORT InitJoypad
|
|
||||||
SECTION "Init joypad", ROM0
|
|
||||||
InitJoypad:
|
|
||||||
xor a
|
|
||||||
ldh [JoypadDown], a
|
|
||||||
ldh [JoypadPressed], a
|
|
||||||
ldh [JoypadWasPressed], a
|
|
||||||
ret
|
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ ENDC
|
|||||||
call StartRender
|
call StartRender
|
||||||
call UpdateAutomata
|
call UpdateAutomata
|
||||||
call WaitRender
|
call WaitRender
|
||||||
|
call UpdateJoypad
|
||||||
call EditOldBuffer
|
call EditOldBuffer
|
||||||
call SwapBuffers
|
call SwapBuffers
|
||||||
jp .mainloop
|
jp .mainloop
|
||||||
|
|||||||
17
build.bat
17
build.bat
@@ -1,9 +1,10 @@
|
|||||||
..\..\Assembler\rgbasm -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\main.o Code\main.asm
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\main.o Code\main.asm
|
||||||
..\..\Assembler\rgbasm -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\data.o Code\data.asm
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\data.o Code\data.asm
|
||||||
..\..\Assembler\rgbasm -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\automata.o Code\automata.asm
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\automata.o Code\automata.asm
|
||||||
..\..\Assembler\rgbasm -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\render.o Code\render.asm
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\render.o Code\render.asm
|
||||||
..\..\Assembler\rgbasm -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\utils.o Code\utils.asm
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\utils.o Code\utils.asm
|
||||||
..\..\Assembler\rgbasm -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\nintendo-out.o Code\nintendo-out.asm
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\nintendo-out.o Code\nintendo-out.asm
|
||||||
..\..\Assembler\rgbasm -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\edit.o Code\edit.asm
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\edit.o Code\edit.asm
|
||||||
..\..\Assembler\rgblink -n rom.sym -w -t -o rom.gb -d Build/main.o Build/data.o Build/automata.o Build/render.o Build/utils.o Build/nintendo-out.o Build/edit.o
|
..\..\Assembler\rgbasm %* -i ..\..\Include\ -i Graphics\ -i Code\ -o Build\joypad.o Code\joypad.asm
|
||||||
|
..\..\Assembler\rgblink -n rom.sym -w -t -o rom.gb -d Build/main.o Build/data.o Build/automata.o Build/render.o Build/utils.o Build/nintendo-out.o Build/edit.o Build/joypad.o
|
||||||
..\..\Assembler\rgbfix -t "Game of Life" -v -p 0 rom.gb
|
..\..\Assembler\rgbfix -t "Game of Life" -v -p 0 rom.gb
|
||||||
Reference in New Issue
Block a user