Fix zRND; add random(), RoomSel01

This commit is contained in:
michaelangel007 2021-11-28 23:36:23 -08:00
parent bb7b564818
commit 3f14ead053

136
init.aw
View File

@ -6,7 +6,8 @@
SYMMAIN OFF SYMMAIN OFF
SYMBASIC OFF SYMBASIC OFF
SYMUSER CLEAR SYMASM CLEAR // data
SYMUSER CLEAR // symbols
// 6502 Stack // 6502 Stack
SYM FuncRet = 103 // Get return low address from hardware stack SYM FuncRet = 103 // Get return low address from hardware stack
@ -17,8 +18,8 @@
DA xIRQ 3FE DA xIRQ 3FE
// IO usage // IO usage
SYM IO.KEY = C000 SYM IO.KEYBOARD = C000
SYM IO.STROBE = C010 SYM IO.KEYSTROBE = C010
// Video modes // Video modes
SYM IO.GRAPHICS = C050 // TXTCLR SYM IO.GRAPHICS = C050 // TXTCLR
@ -31,8 +32,10 @@
SYM IO.HIRES = C057 // HIRES SYM IO.HIRES = C057 // HIRES
// Joystick // Joystick
SYM IO.BUTTON1 = C061 SYM IO.STROBE = C040 // Game I/O Strobe Output
SYM IO.BUTTON2 = C062
SYM IO.BUTTON1 = C061 // Open Apple
SYM IO.BUTTON2 = C062 // Closed Apple
SYM IO.BUTTON3 = C063 SYM IO.BUTTON3 = C063
SYM IO.JOY1X = C064 SYM IO.JOY1X = C064
SYM IO.JOY1Y = C065 SYM IO.JOY1Y = C065
@ -83,14 +86,15 @@ echo "=== Castle Wolfenstein ==="
DA ROM.Output 38 // KSWL DA ROM.Output 38 // KSWL
// ROM.z // ROM.z
DB zRNDL 4B // @ DW zRND 4A // @1615; Also search for LDA $C000
DB zRNDH 4C
DB GlyphOldX 60 DB GlyphOldX 60
DB GlyphX 61 DB GlyphX 61
DB GlyphY 62 DB GlyphY 62
DA GlyphDst 63 // 16-bit pointer DA GlyphDst 63 // 16-bit pointer
DW pRoom 6B // @16B1 $40F0
DB z_76 76 // @08F2= 76:7F DB z_76 76 // @08F2= 76:7F
DB z_D9 D9 // @08EC= D9:FF DB z_D9 D9 // @08EC= D9:FF
@ -375,7 +379,13 @@ SYM DOS.RESET = 9DBF // Pronto-DOS
SYm _ExitChar = 1495 SYm _ExitChar = 1495
DB GlyphSaveY 1496 DB GlyphSaveY 1496
DB GlyphSaveX 1498 DB GlyphSaveX 1498
Sym LineWrap = 149A // X Cursor > 40 chars? Yes SYM LineWrap = 149A // X Cursor > 40 chars? Yes
SYM RoomSel01 = 1591 // Select room 1, zRTSLo == Room Number
SYM random = 1615 // ??? XREF @15BD
SYM WallNextPtr = 169C // XREF @169C
SYM RoomNext = 16A6 // NextRoom. Return if (pRoom>>8) == $81
SYM UsePad = 1A4D // XREF @0A7E SYM UsePad = 1A4D // XREF @0A7E
SYM UseKey = 1A9E // XREF @0A73 SelectKeys SYM UseKey = 1A9E // XREF @0A73 SelectKeys
@ -395,7 +405,7 @@ SYM DOS.RESET = 9DBF // Pronto-DOS
SYM __100D__ = 100D // ??? SYM __100D__ = 100D // ???
SYM __10EF__ = 10EF // ??? SYM __10EF__ = 10EF // ???
SYM __1269__ = 1269 // ??? SYM __1269__ = 1269 // ???
SYM __1293__ = 1293 // ??? SYM __1293__ = 1293 // ??? Print which hand
SYM __13A2__ = 13A2 // ??? SYM __13A2__ = 13A2 // ???
SYM __13AA__ = 13AA // ??? SYM __13AA__ = 13AA // ???
SYM __13CB__ = 13CB // ??? SYM __13CB__ = 13CB // ???
@ -406,13 +416,21 @@ SYM DOS.RESET = 9DBF // Pronto-DOS
SYM __14C8__ = 14C8 // ??? SYM __14C8__ = 14C8 // ???
SYM __14DB__ = 14DB // ??? SYM __14DB__ = 14DB // ???
SYM __14F0__ = 14F0 // ??? Calls ROM $FD6F SYM __14F0__ = 14F0 // ??? Calls ROM $FD6F
SYM __1591__ = 1591 // ???
SYM __15A8__ = 15A8 // ??? SYM __15A8__ = 15A8 // ???
SYM __15AE__ = 15AE // ??? SYM __15AE__ = 15AE // ???
SYM __15B3__ = 15B3 // ??? XREF @15D9
SYM __15BD__ = 15BD // ??? XREF @15BA,15CB,15CF
SYM __15DC__ = 15DC // ???
SYM __15F3__ = 15F3 // ???
SYM __1626__ = 1626 // ??? SYM __1626__ = 1626 // ???
SYM __16B1__ = 16B1 // ??? SYM __16B1__ = 16B1 // ???
SYM __16BE__ = 16BE // ???
SYM __16C4__ = 16C4 // ???
SYM __16F5__ = 16F5 // ??? SYM __16F5__ = 16F5 // ???
SYM __16F9__ = 16F9 // ??? XREF @1749
SYM __174C__ = 174C // ??? SYM __174C__ = 174C // ???
SYM __1769__ = 1769 // ??? XREF @177A,1786
SYM __17C2__ = 17C2 // ???
SYM __17F7__ = 17F7 // ??? SYM __17F7__ = 17F7 // ???
SYM __182A__ = 182A // ??? SYM __182A__ = 182A // ???
SYM __185D__ = 185D // ??? XREF @ none SYM __185D__ = 185D // ??? XREF @ none
@ -424,10 +442,98 @@ SYM DOS.RESET = 9DBF // Pronto-DOS
// --- End 1B3D --- // --- End 1B3D ---
DB 406A // ??? @ $0DEB // SEKTOR
DB 406B // ??? @ $0DF1 // 4004 + 3DFC = 4004:7DFF
DB 406C // ??? @ $0E10 // Map Template for all castle room layout
DB 406D // ??? @ $0DFE dec
DB 406F // ??? @ $0965 // 4004..40FF // General Map Config
// Also $4004..40FF current room
DB 4040 // ??? @178B
DB 4041 // ??? @179D STZ
DB 4042 // ??? @17A0 STZ
DB 4047 // ??? @1798 ST #0A
DB 4048 // ??? @17A9 STZ
DB 4049 // ??? @17A3 STZ
DB 404A // ??? @17A6 STZ
DB 404B // ??? @1793 STA random + #80
DB 404C // ??? @17AC STZ
DB 4051 // ??? @17AF STZ
DB 4052 // ??? @17B2 STZ
DB 406A // ??? @0DEB
DB 406B // ??? @0DF1
DB 406C // ??? @0E10
DB 406D // ??? @0DFE dec
DB 406F // ??? @0965
DB Room01 4100:4100+FF
DB Room02 4200:4200+FF
DB Room03 4300:4300+FF
DB Room04 4400:4400+FF
DB Room05 4500:4500+FF
DB Room06 4600:4600+FF
DB Room07 4700:4700+FF
DB Room08 4800:4800+FF
DB Room09 4900:4900+FF
DB Room10 4A00:4A00+FF
DB Room11 4B00:4B00+FF
DB Room12 4C00:4C00+FF
DB Room13 4D00:4D00+FF
DB Room14 4E00:4E00+FF
DB Room15 4F00:4F00+FF
DB Room16 5000:5000+FF
DB Room17 5100:5100+FF
DB Room18 5200:5200+FF
DB Room19 5300:5300+FF
DB Room20 5400:5400+FF
DB Room21 5500:5500+FF
DB Room22 5600:5600+FF
DB Room23 5700:5700+FF
DB Room24 5800:5800+FF
DB Room25 5900:5900+FF
DB Room26 5A00:5A00+FF
DB Room27 5B00:5B00+FF
DB Room28 5C00:5C00+FF
DB Room29 5D00:5D00+FF
DB Room30 5E00:5E00+FF
DB Room31 5F00:5F00+FF
DB Room32 6000:5000+FF
DB Room33 6100:5100+FF
DB Room34 6200:5200+FF
DB Room35 6300:5300+FF
DB Room36 6400:5400+FF
DB Room37 6500:5500+FF
DB Room38 6600:5600+FF
DB Room39 6700:5700+FF
DB Room40 6800:5800+FF
DB Room41 6900:5900+FF
DB Room42 6A00:5A00+FF
DB Room43 6B00:5B00+FF
DB Room44 6C00:5C00+FF
DB Room45 6D00:5D00+FF
DB Room46 6E00:5E00+FF
DB Room47 6F00:5F00+FF
DB Room48 7000:5000+FF
DB Room49 7100:5100+FF
DB Room50 7200:5200+FF
DB Room51 7300:5300+FF
DB Room52 7400:5400+FF
DB Room53 7500:5500+FF
DB Room54 7600:5600+FF
DB Room55 7700:5700+FF
DB Room56 7800:5800+FF
DB Room57 7900:5900+FF
DB Room58 7A00:5A00+FF
DB Room59 7B00:5B00+FF
DB Room60 7C00:5C00+FF
DB Room61 7D00:5D00+FF
// DB Room01W 4049 // Left
// DB Room01E 404A // Right
// DB Room01N 404B // Forward
// DB Room01S 404C // Backward
// DB Room01U 404D // Stairs
// DB 4080:40FF
// DB 4100:417F
//
DB FONT 8400:87FF DB FONT 8400:87FF