Read walls via MMU

This commit is contained in:
Devine Lu Linvega 2023-01-28 19:43:23 -08:00
parent 053b6ccf37
commit 8d55d5f9d6
2 changed files with 14 additions and 23 deletions

View File

@ -8,7 +8,7 @@ Oquonie is larger than a standard 64kb rom, it makes use of the MMU. The current
```
0000 ram
0001 walls, 40x96 sprites
0001 walls, 40x96 sprites(3c0)
0002 floors, 64x40 sprites
0003 steps, 64x40 sprites
0004 characters, 64x80 sprites

View File

@ -70,26 +70,8 @@
;on-mouse .Mouse/vector DEO2
;on-control .Controller/vector DEO2
;cache/w pmem
;&mmu-program #02 DEO2
BRK
&space-txt 20 "bytes 20 "left. $1
&mmu-program 01 0380 0001 0000 0000 =cache/w
@pmem ( addr* -- )
STH2
#0000
&l
#00 OVR STH2kr ADD2 LDA phex/b
DUP #0f AND #0f NEQ #16 MUL #0a ADD #18 DEO
INC NEQk ,&l JCN
POP2
POP2r
JMP2r
@meta 00
( name ) "Oquonie 0a
@ -204,10 +186,7 @@ JMP2r
INC2 INC2 STH2
#0006 #0000
&lw
DUP get-wall #00 EQU ?&skip-wall
DUP2 STH2kr OVR2 #03c0 MUL2 ;cache/w ADD2 STH2
ADD2 LDA STH2r #03c0 ;res/w fetch-asset
&skip-wall
DUP load-wall
INC2 GTH2k ?&lw
POP2 STH2 ADD2r
( floors )
@ -243,6 +222,18 @@ JMP2r
JMP2r
@load-wall ( id -- )
get-wall DUP #00 EQU ?&skip-wall
OVR #00 SWP #03c0 MUL2 ;cache/w ADD2 ,&dst STR2
#00 OVR #01 SUB #03c0 MUL2 ,&src STR2
;&mmu #02 DEO2
&skip-wall
POP
JMP2r
&mmu 01 0380 0001 &src $2 0000 &dst $2
@load-event ( event* -- )
INC2k LDA2 #0004 ADD2 LDA2 JSR2