added zoge
This commit is contained in:
commit
4105c50e98
2 changed files with 160 additions and 0 deletions
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# === Windows junk ===
|
||||
*.Zone.Identifier
|
||||
|
||||
# === VS Code settings ===
|
||||
.vscode/
|
||||
.code-workspace
|
||||
|
||||
# === MacOS junk (if ever used) ===
|
||||
.DS_Store
|
||||
|
||||
# === Linux trash (optional) ===
|
||||
*.swp
|
||||
*~
|
||||
|
||||
# === Node modules (if applicable) ===
|
||||
node_modules/
|
||||
|
||||
# === Python cache (if applicable) ===
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
autotester
|
||||
sictools.jar
|
||||
137
zoge/zoge.asm
Normal file
137
zoge/zoge.asm
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
. code
|
||||
bounce START 0
|
||||
|
||||
LDA NUM_B
|
||||
MUL D_SIZE
|
||||
STA MAXIDX
|
||||
|
||||
|
||||
LOOP LDX INDEX
|
||||
|
||||
LDA ballX,X
|
||||
COMP maxX
|
||||
JEQ X_WALL . hits right wall
|
||||
|
||||
COMP ZERO
|
||||
JEQ X_WALL . hits left wall
|
||||
|
||||
cmpY LDA ballY,X
|
||||
COMP maxY
|
||||
JEQ Y_WALL . hits bottom
|
||||
|
||||
COMP ZERO
|
||||
JEQ Y_WALL . hits top
|
||||
|
||||
endCOMP LDA bColour,X
|
||||
STA colour
|
||||
|
||||
LDA ballX,X
|
||||
LDB ballY,X
|
||||
LDT HEIGHT
|
||||
MULR T, B .flatten
|
||||
ADDR B, A
|
||||
|
||||
STX INDEX
|
||||
RMO A, X . copy flattened old coordinates to X
|
||||
|
||||
LDCH BLACK . clear screen
|
||||
+STCH SCREEN,X
|
||||
LDX INDEX
|
||||
|
||||
LDA ballX,X .//calculae new X
|
||||
LDT bSpeedX,X
|
||||
ADDR T, A
|
||||
STA ballX,X
|
||||
|
||||
LDB ballY,X . calculate new Y
|
||||
LDT bSpeedY, X
|
||||
ADDR T, B
|
||||
STB ballY,X
|
||||
|
||||
LDT HEIGHT
|
||||
MULR T, B . flatten
|
||||
ADDR B, A
|
||||
|
||||
STX INDEX
|
||||
RMO A, X . copy flattened old coordinates to X
|
||||
|
||||
LDA colour
|
||||
+STCH SCREEN,X . update screen
|
||||
LDX INDEX
|
||||
|
||||
. reset
|
||||
LDA #3
|
||||
ADDR A,X
|
||||
STX INDEX
|
||||
|
||||
LDA MAXIDX
|
||||
COMPR X,A
|
||||
JLT LOOP . while X < A -> keep looping balls
|
||||
|
||||
LDX #0 . wrap
|
||||
STX INDEX
|
||||
J LOOP
|
||||
|
||||
|
||||
halt J halt
|
||||
|
||||
END bounce
|
||||
|
||||
. functions
|
||||
X_WALL LDB bSpeedX,X
|
||||
LDT MINUS1
|
||||
MULR B, T
|
||||
STT bSpeedX,X
|
||||
J cmpY
|
||||
|
||||
Y_WALL LDB bSpeedY,X
|
||||
LDT MINUS1
|
||||
MULR B, T
|
||||
STT bSpeedY,X
|
||||
J endCOMP
|
||||
|
||||
|
||||
. data
|
||||
ZERO WORD 0
|
||||
MINUS1 WORD -1
|
||||
|
||||
D_SIZE WORD 3
|
||||
INDEX WORD 0
|
||||
MAXIDX RESW 1
|
||||
|
||||
NUM_B WORD 3
|
||||
|
||||
colour RESW 1
|
||||
|
||||
. ball data
|
||||
ballX WORD 60
|
||||
WORD 32
|
||||
WORD 32
|
||||
|
||||
ballY WORD 32
|
||||
WORD 32
|
||||
WORD 32
|
||||
|
||||
bSpeedX WORD 1
|
||||
WORD 0
|
||||
WORD 1
|
||||
|
||||
bSpeedY WORD 1
|
||||
WORD 1
|
||||
WORD 0
|
||||
|
||||
bColour WORD 195 . blue
|
||||
WORD 204 . green
|
||||
WORD 240 . red
|
||||
|
||||
maxX WORD 63
|
||||
maxY WORD 63
|
||||
WIDTH WORD 64
|
||||
HEIGHT WORD 64
|
||||
|
||||
. colors
|
||||
BLACK BYTE 0
|
||||
|
||||
. screen
|
||||
ORG 0xA000
|
||||
SCREEN RESB 4096
|
||||
Loading…
Add table
Add a link
Reference in a new issue