├── README.md ├── SCROLL ├── BOX ├── SLANE ├── UTILS ├── MES ├── OPT └── TEXT /README.md: -------------------------------------------------------------------------------- 1 | # Slaine 2 | Slaine C64 Source Code 3 | (c)Michael J Archer 4 | 5 | Source code unusual one as this game used the bitmap screen on C64, a twist on the traditional text adventures where the elements and thoughts of sliane where presented on the screen. 6 | Code used macro's a lot of generate the scrolling of the text. Assembler was using ADE on the BBC Micro, and sent to the C64 via a parallel link cable. 7 | Started on 21/05/1987 no idea when finished, the mind is a blank here. 8 | 9 | As big shout out to Jas Austin as he was one of the designers here. I'm sure most of the logic was his. As I can't work out what I did looking back over it 30 years later. 10 | -------------------------------------------------------------------------------- /SCROLL: -------------------------------------------------------------------------------- 1 | S EQU &E510 V EQU 6 ; SCROLL LEFT PIXEL SLP MACRO LOOP = 13 ASL [@1*8]+TST,X REPEAT ROL [@1*320]+S+[LOOP*8],X LOOP = LOOP-1 UNTIL LOOP =-1 ENDM ; SCROLL RIGHT PIXEL SRP MACRO LOOP = 0 LSR [@1*8]+TST,X REPEAT ROR [@1*320]+S+[LOOP*8],X LOOP = LOOP+1 UNTIL LOOP>13 ENDM ; SCROLL RIGHT CHARACTER SRC MACRO LOOP = 12 REPEAT LDA [@1*320]+S+[LOOP*8],X STA [@1*320]+S+[LOOP*8]+8,X LOOP = LOOP-1 UNTIL LOOP =-1 LDA [@1*8]+TST,X STA [@1*320]+S+[0*8],X ENDM ; SCROLL LEFT CHARCTER SLC MACRO LOOP = 0 REPEAT LDA [@1*320]+S+[LOOP*8]+8,X STA [@1*320]+S+[LOOP*8],X LOOP = LOOP+1 UNTIL LOOP =13 LDA [@1*8]+TST,X STA [@1*320]+S+[13*8],X ENDM ; SCROLL'S ; RIGHT TO LEFT PIXEL SRLP0 LDX #V SLP0 SLP 0 DEX BPL SLP0 RTS SRLP1 LDX #V SLP1 SLP 1 DEX BPL SLP1 RTS SRLP2 LDX #V SLP2 SLP 2 DEX BPL SLP2 RTS SRLP3 LDX #V SLP3 SLP 3 DEX BPL SLP3 RTS SRLP4 LDX #V SLP4 SLP 4 DEX BPL SLP4 RTS SRLP5 LDX #V SLP5 SLP 5 DEX BPL SLP5 RTS SRLP6 LDX #V SLP6 SLP 6 DEX BPL SLP6 RTS SRLP7 LDX #V SLP7 SLP 7 DEX BPL SLP7 RTS SRLP8 LDX #V SLP8 SLP 8 DEX BPL SLP8 RTS SRLP9 LDX #V SLP9 SLP 9 DEX BPL SLP9 RTS SRLP10 LDX #V SLP10 SLP 10 DEX BPL SLP10 RTS SRLP11 LDX #V SLP11 SLP 11 DEX BPL SLP11 RTS SRLP12 LDX #V SLP12 SLP 12 DEX BPL SLP12 RTS SRLP13 LDX #V SLP13 SLP 13 DEX BPL SLP13 RTS SRLP14 LDX #V SLP14 SLP 14 DEX BPL SLP14 RTS SRLP15 LDX #V SLP15 SLP 15 DEX BPL SLP15 RTS SRLP16 LDX #V SLP16 SLP 16 DEX BPL SLP16 RTS ; SCROLL'S ; LEFT TO RIGHT PIXEL SLRP0 LDX #V SRP0 SRP 0 DEX BPL SRP0 RTS SLRP1 LDX #V SRP1 SRP 1 DEX BPL SRP1 RTS SLRP2 LDX #V SRP2 SRP 2 DEX BPL SRP2 RTS SLRP3 LDX #V SRP3 SRP 3 DEX BPL SRP3 RTS SLRP4 LDX #V SRP4 SRP 4 DEX BPL SRP4 RTS SLRP5 LDX #V SRP5 SRP 5 DEX BPL SRP5 RTS SLRP6 LDX #V SRP6 SRP 6 DEX BPL SRP6 RTS SLRP7 LDX #V SRP7 SRP 7 DEX BPL SRP7 RTS SLRP8 LDX #V SRP8 SRP 8 DEX BPL SRP8 RTS SLRP9 LDX #V SRP9 SRP 9 DEX BPL SRP9 RTS SLRP10 LDX #V SRP10 SRP 10 DEX BPL SRP10 RTS SLRP11 LDX #V SRP11 SRP 11 DEX BPL SRP11 RTS SLRP12 LDX #V SRP12 SRP 12 DEX BPL SRP12 RTS SLRP13 LDX #V SRP13 SRP 13 DEX BPL SRP13 RTS SLRP14 LDX #V SRP14 SRP 14 DEX BPL SRP14 RTS SLRP15 LDX #V SRP15 SRP 15 DEX BPL SRP15 RTS SLRP16 LDX #V SRP16 SRP 16 DEX BPL SRP16 RTS ; SCROLL'S ; RIGHT TO LEFT CHAR SRLC0 LDX #V SLC0 SLC 0 DEX BPL SLC0 RTS SRLC1 LDX #V SLC1 SLC 1 DEX BPL SLC1 RTS SRLC2 LDX #V SLC2 SLC 2 DEX BPL SLC2 RTS SRLC3 LDX #V SLC3 SLC 3 DEX BPL SLC3 RTS SRLC4 LDX #V SLC4 SLC 4 DEX BPL SLC4 RTS SRLC5 LDX #V SLC5 SLC 5 DEX BPL SLC5 RTS SRLC6 LDX #V SLC6 SLC 6 DEX BPL SLC6 RTS SRLC7 LDX #V SLC7 SLC 7 DEX BPL SLC7 RTS SRLC8 LDX #V SLC8 SLC 8 DEX BPL SLC8 RTS SRLC9 LDX #V SLC9 SLC 9 DEX BPL SLC9 RTS SRLC10 LDX #V SLC10 SLC 10 DEX BPL SLC10 RTS SRLC11 LDX #V SLC11 SLC 11 DEX BPL SLC11 RTS SRLC12 LDX #V SLC12 SLC 12 DEX BPL SLC12 RTS SRLC13 LDX #V SLC13 SLC 13 DEX BPL SLC13 RTS SRLC14 LDX #V SLC14 SLC 14 DEX BPL SLC14 RTS SRLC15 LDX #V SLC15 SLC 15 DEX BPL SLC15 RTS SRLC16 LDX #V SLC16 SLC 16 DEX BPL SLC16 RTS ; SCROLL'S ; LEFT TO RIGHT CHAR SLRC0 LDX #V SRC0 SRC 0 DEX BPL SRC0 RTS SLRC1 LDX #V SRC1 SRC 1 DEX BPL SRC1 RTS SLRC2 LDX #V SRC2 SRC 2 DEX BPL SRC2 RTS SLRC3 LDX #V SRC3 SRC 3 DEX BPL SRC3 RTS SLRC4 LDX #V SRC4 SRC 4 DEX BPL SRC4 RTS SLRC5 LDX #V SRC5 SRC 5 DEX BPL SRC5 RTS SLRC6 LDX #V SRC6 SRC 6 DEX BPL SRC6 RTS SLRC7 LDX #V SRC7 SRC 7 DEX BPL SRC7 RTS SLRC8 LDX #V SRC8 SRC 8 DEX BPL SRC8 RTS SLRC9 LDX #V SRC9 SRC 9 DEX BPL SRC9 RTS SLRC10 LDX #V SRC10 SRC 10 DEX BPL SRC10 RTS SLRC11 LDX #V SRC11 SRC 11 DEX BPL SRC11 RTS SLRC12 LDX #V SRC12 SRC 12 DEX BPL SRC12 RTS SLRC13 LDX #V SRC13 SRC 13 DEX BPL SRC13 RTS SLRC14 LDX #V SRC14 SRC 14 DEX BPL SRC14 RTS SLRC15 LDX #V SRC15 SRC 15 DEX BPL SRC15 RTS SLRC16 LDX #V SRC16 SRC 16 DEX BPL SRC16 RTS SLPTL DB >SRLP0,>SRLP1,>SRLP2,>SRLP3 DB >SRLP4,>SRLP5,>SRLP6,>SRLP7 DB >SRLP8,>SRLP9,>SRLP10,>SRLP11 DB >SRLP12,>SRLP13,>SRLP14,>SRLP15 DB >SRLP16 SLPTH DB SLRP0,>SLRP1,>SLRP2,>SLRP3 DB >SLRP4,>SLRP5,>SLRP6,>SLRP7 DB >SLRP8,>SLRP9,>SLRP10,>SLRP11 DB >SLRP12,>SLRP13,>SLRP14,>SLRP15 DB >SLRP16 SRPTH DB SRLC0,>SRLC1,>SRLC2,>SRLC3 DB >SRLC4,>SRLC5,>SRLC6,>SRLC7 DB >SRLC8,>SRLC9,>SRLC10,>SRLC11 DB >SRLC12,>SRLC13,>SRLC14,>SRLC15 DB >SRLC16 SLCTH DB SLRC0,>SLRC1,>SLRC2,>SLRC3 DB >SLRC4,>SLRC5,>SLRC6,>SLRC7 DB >SLRC8,>SLRC9,>SLRC10,>SLRC11 DB >SLRC12,>SLRC13,>SLRC14,>SLRC15 DB >SLRC16 SRCTH DB (COL+&A2) STA MIKE2+0 LDA #13 STA YTEMP LDA #17 STA XTEMP JMP PLTC FACE LDA #<&EE60 STA MIKE2+1 LDA #>&EE60 STA MIKE2+0 LDA #SLFACE STA MIKE1+0 LDX #14 ; XSIZE LDA #17*8 ; ADDAMOUNT STA ADM+1 LDY #(17*8)-1 ; YSIZE STY HEO+1 JSR HEO LDA #10*16 ; LT RED STA TMP LDX #14 ; Y AMOUNT LDA #16 STA YTEMP LDA #<(COL+&1CC) STA MIKE2+1 LDA #>(COL+&1CC) STA MIKE2+0 JSR CHARLL LDX #0 ; (C) SYMBOL JMP FIRSTW FBOX STX LASTB ; FAST WINDOW JSR BOXME ; BOX PLOT LDA SH STA POLO2+1 LDA SL STA POLO1+1 JSR SMALLT LDA #>TEXTBUF STA MIKE1 LDA #320 STA MIKE2+0 LDA MIKE2+1 ADC #<320 STA MIKE2+1 DEX BNE HEO RTS ;X=BOX NUMBER WINDOW JSR FADEIT ; COLOUR FADE FIRSTW STX LASTB ; LAST BOX LDY #01*16 ; WHITE LDA #15*16 ; LIGHT GRAY STA LASTC LDA BOXML,X ; GET FROM STA BLL ; WHERE LDA BOXMH,X ; BOX IS IN STA BLH ; MEMORY TXA CMP #51 ;T ; SMALL TEXT BCC GRAFIX ; IF GRAFIC JSR SMALLT ; SMALL TEXT LDY #14*16 ; BLUE LDA #6*16 ; LT BLUE TEXT STA LASTC LDA #>TEXTBUF ; GET FROM STA BLL ; SMALL TEXT LDA #TEXTBUF STA WSTORE JSR ABE ;TOPLINE LDA #TEXTBUF+4 STA WSTORE STA WSTORET LDA #2 ;ALLWAYS STA YSIZE ;STARTS AT 2 LDX #0 ;COUNTER JSR FIR MES JSR PRL CPX #LL ;MAXX BNE FLYAW JMP NEL FLYAW STX TEMP LDY #255 NT INY LDA (STEXT),Y CMP #255 BEQ FINO CMP #32 BNE NT TYA CLC ADC TEMP CMP #LL+1 BCC MES DE JSR SPA INX CPX #LL BNE DE NEL JSR EN INC YSIZE LDX #0 LDA #255 STA LEFTRIGHT LDA WSTORET CLC ADC #(LL/2*8)+8 STA WSTORET STA WSTORE BCC PL INC WSTORET+1 PL LDA WSTORET+1 STA WSTORE+1 JSR FIR JMP MES EXI PLA PLA FINO CPX #0 BEQ R JSR ST JSR EN JMP BP R DEC YSIZE LDA WSTORE SEC SBC #8 STA WSTORE BCS DER DEC WSTORE+1 DER JMP BP PRL LDY #0 LDA (STEXT),Y CPX #LL BEQ SR CMP #32 BEQ SSP CMP #255 BEQ EXI JSR PR INX INC STEXT BNE PRL INC STEXT+1 BNE PRL SSP CPX #0 BEQ BO JSR SPA INX BO INC STEXT BNE SR INC STEXT+1 SR RTS ST JSR SPA INX CPX #LL BNE ST RTS PR LDY #0 STY SMEM+1 STA TEMP AND #254 ASL A ROL SMEM+1 ASL A ROL SMEM+1 ADC #>(SMTEXT-(16*8)) STA SMEM LDA SMEM+1 ADC #<(SMTEXT-(16*8)) STA SMEM+1 LDA TEMP AND #1 SEC SBC #1 STA TEMP JSR TXP JSR F1 LDA SMEM CLC ADC #4 STA SMEM BCC EPR INC SMEM+1 EPR JSR TXP LDA SMEM SEC SBC #4 STA SMEM BCS FL DEC SMEM+1 FL JSR B1 JMP NE TXP LDY #3 PLT LDA (SMEM),Y BIT TEMP BPL LOWH LSR A LSR A LSR A LSR A LOWH AND #15 BIT LEFTRIGHT BMI JUST ASL A ASL A ASL A ASL A JUST ORA (WSTORE),Y STA (WSTORE),Y DEY BPL PLT RTS BLOCK NE LDA LEFTRIGHT EOR #255 STA LEFTRIGHT BMI :RET LDA WSTORE CLC ADC #8 STA WSTORE BCC :RET INC WSTORE+1 :RET RTS SPA JSR PLD JSR F1 JSR PLD JSR B1 JMP NE PLD LDY #3 BIT LEFTRIGHT BMI JO LDA #&F0 NOPP JO LDA #&0F STA TEMP SPL LDA TEMP ORA (WSTORE),Y STA (WSTORE),Y DEY BPL SPL RTS FIR JSR PLS JSR F1 JSR PLS JMP B1 PLS LDY #3 LDA #&50 SS STA (WSTORE),Y DEY BPL SS RTS EN BIT LEFTRIGHT BMI JO2 LDA #&A0 NOPP JO2 LDA #&0A STA TEMP JSR SLA JSR F1 JSR SLA JMP B1 SLA LDY #3 SAL1 LDA TEMP ORA (WSTORE),Y STA (WSTORE),Y DEY BPL SAL1 RTS F1 LDA WSTORE CLC ADC #(LL/2*8)+4 STA WSTORE BCC NOC INC WSTORE+1 NOC RTS B1 LDA WSTORE SEC SBC #(LL/2*8)+4 STA WSTORE BCS NOD DEC WSTORE+1 NOD RTS ABE LDY #3 SO LDA DA,Y STA (WSTORE),Y DEY BPL SO LDX #(LL/2) JMP FIX MO LDY #3 SP LDA DL,Y STA (WSTORE),Y DEY BPL SP FIX LDA WSTORE CLC ADC #8 STA WSTORE BCC E INC WSTORE+1 E DEX BNE MO LDY #3 ENT LDA DR,Y STA (WSTORE),Y DEY BPL ENT RTS ;BOTTOM BIT BP LDA WSTORE CLC ADC #8 STA WSTORE BCC Z INC WSTORE+1 Z LDY #3 SQ LDA DA2,Y STA (WSTORE),Y DEY BPL SQ LDX #(LL/2) JMP FIW MR LDY #3 SW LDA L2,Y STA (WSTORE),Y DEY BPL SW FIW LDA WSTORE CLC ADC #8 STA WSTORE BCC TS INC WSTORE+1 TS DEX BNE MR LDY #3 ENR LDA DR2,Y STA (WSTORE),Y DEY BPL ENR RTS SMTEXT HEX "FFFDFDFDFDFFFDFF" HEX "FFFFFFFFFFFFFFFF" HEX "FFFFFFFFFFFFFFFF" HEX "FFFDFDFBFFFFFFFF" HEX "FFFFFFFFFFFFFFFF" HEX "FFFFFFFFFFFFFFFF" HEX "FFFFFFFFFFDFBFFF" HEX "FFFFFFFFFFCFCFFF" HEX "FFDDA9ADADADD8FF" HEX "FFD9AEEDDEBE89FF" HEX "FFB8BBB9BE8ED9FF" HEX "FF88BE8EAEAD8DFF" HEX "FF88AA8AA8AE8EFF" HEX "FFFFDDDDFFDDDBFF" HEX "FFFFFFFFFFFFFFFF" HEX "FFFDFAFEFDFFFDFF" HEX "FFFDFAFAF8FAFAFF" HEX "FF98AB9B9BAB98FF" HEX "FF98ABA9ABAB98FF" HEX "FF8DBA9BBABABDFF" HEX "FFA8AD8DADADA8FF" HEX "FFEAEAE9E9EA9AFF" HEX "FFBAB8BABABA8AFF" HEX "FFA8AA8A8AAAA8FF" HEX "FF88AAAA8AB9BEFF" HEX "FF88ABA89EAEA8FF" HEX "FF8ADADADADAD8FF" HEX "FFAAAAAAAA88DAFF" HEX "FFAAAADADDADADFF" HEX "FF8FEFDFDFBF8FFF" DA DB &00,&7F,&40,&5F DL DB &00,&FF,&00,&FF DR DB &00,&FE,&02,&FA DA2 DB &5F,&40,&7F,&00 L2 DB &FF,&00,&FF,&00 DR2 DB &FA,&02,&FE,&00 -------------------------------------------------------------------------------- /SLANE: -------------------------------------------------------------------------------- 1 | LOC EQU 1 DEB EQU 0 ; ON BORDER ORG &6600 MSW -1 EXEC MAIN ; START OF CODE ; SLANE SOURCE ; STARTED 21/05/1987 ; COPYRIGHT 1987/88 ; MICHAEL ARCHER DSECT ORG &01 R6510 DS 1 ; I/O PORT SYNC DS 1 ; 1/50 SECOND COUNTER LEFT DS 1 ; 0/1 THE VALUE OF RIGHT DS 1 ; 0/1 0 OR 1 FOR ANY UP DS 1 ; 0/1 MOVEMENT FOR DOWN DS 1 ; 0/1 THAT DIRECTION FIRE DS 1 ; 0/1 IN THE JOYSTICK ROOM DS 1 ; ROOM NUMBER MAPD DS 2 ; MAP DATA WARP DS 2 ; CURRENT WARP RATING MAXW DS 3 ; MAXIMUM WARP RATING KILL DS 1 ; TIMER FOR ENEMY YESB DS 1 ; DO WHAT ON YES SELECTED NOB DS 1 ; DO WHAT ON NO SELECTED AXE DS 1 ; WHAT AXE IS DOING MONEY DS 1 ; HOW MUCH LOLLY YOU GOT OPPONT DS 1 ; WHAT THEY ARE DOING ENEMYW DS 1 ; ENEMY WAR RATING TOTAL STAKE DS 1 ; HOW MUCH FOR DRINK CONTEST DRINK DS 1 ; ARE YOU IN DRINK CONTEST DRUNK DS 1 ; 8 TO DRINK VDRUNK DS 1 ; VILLAGER DRUNK ? ELAPSE DS 1 ; SPEED FOR OPP.DRINKER INTOX DS 1 ; AMOUNT TO DRUNKEN FIGHT DS 1 ; ARE YOU IN FIGHT MODE MAIN1 DS 1 ; TASK COMPLETE MAIN2 DS 1 MAIN3 DS 1 MAIN4 DS 1 MAIN5 DS 1 ; NAME FLAG EATTACK DS 1 ; IF ENEMY ATTACK YOU ATYPE DS 1 ; WHAT ATTACK TYPE TIMER DS 1 ; SECOND'S COUNTER TIMER2 DS 1 ; 255 TO 1 CONT AT 50/Second VILOFF DS 1 ; OFFSET TO ENEMY TABLE POSITION DS 1 ; DOWN SCROLLS LISTO DS 1 ; LIST OFFSET NTSC DS 1 ; JOYSTICK IRQTEMP DS 3 ; 0=A1=X2=Y MOVEICON DS 1 ; MASTER ICON CONTROL HITUKO DS 1 ; HOW MANY HITS POINT DS 1 ; IF POINTING HAND NEXTONE DS 1 ; TOGGLE FOR 0/1 XCORD DS 4 ; HAND UKKO YCORD DS 4 ; AND 2 BLOODS FRAME DS 1 ; HAND FRAME DEBUG DS 3 ; SPRITES ON BORDER SEED DS 3 ; FOR RANDOM NUMBER WHATY DS 1 ; CHOSEN Y POS DOWN WHATO DS 1 ; WHAT OBJECT NUMBER WHATS DS 1 ; WHAT SCROLL NUMBER WHATP DS 1 ; WHAT OBJECT*4 TABLE OFF. DOWHAT DS 1 ; WHAT TO DO WITH OBJECT XA DS 1 ; XADD TO HAND YA DS 1 ; YADD TO HAND MUSIC DS 1 ; MUSIC ON/OFF LASTB DS 1 ; LAST WINDOW LASTC DS 1 ; COLOUR TO FADE LAST WINDOW ENEMYT DS 8 ; ENEMY DATA TEMP AREA TEMPM DS 2 ; TEMPARY MEMORY FOR ; OPTION ROUTINES ; NEVER OVER WRITE THESE TEXMEM DS 2 ; TTEXT BIT SSAVEX DS 1 ; XTEMP SAVE SCMEML DS 8 ; TEXT MEMLO SCMEMH DS 8 ; TEXT MEMHI SSIZE DS 8 ; 0 TO 13 / 13 TO 0 SCOUNT DS 8 ; 0 TO 7 WHSCRL DS 8 ; WHAT SCROLL TO CALL WHSCRH DS 8 ; LO / HIGH SCDELY DS 8 ; WHEN ON SCREEN WHDELY DS 8 ; WHAT DELAY SCOFFB DS 8 ; Y * 8 OFF WHERAY DS 8 ; WHERE EACH SCROLL IS SCDIR DS 8 ; DIRECTION USED DS 8 ; IF BEING USED SPEED DS 8 ; 1 PIXEL 8 PIXELS LIST DS 30 ; VERY IMPORTANT COMMON DS 1 ; ALLOW FOR COMMON DEND ; ROUTINES TO SHARE ; SAME LOCATIONS ; NORMAL DEFINED MEMORY OPTNUM DS 17 ; WHAT OPTION DOWN/USED PICKED DS 17 ; THE CHOSEN ONE DSECT ORG COMMON ;SMALL TEXT ROUTINE YSIZE DS 1 WSTORE DS 2 WSTORET DS 2 LEFTRIGHT DS 2 STEXT DS 2 SMEM DS 2 DEND T EQU 117 ; START OF BOX NUMBER STEPX EQU 5 ; MOVEMENT AMOUNT X CORD STEPY EQU 3 ; MOVEMENT AMOUNT Y CORD DSECT ORG COMMON ; BRING UP WINDOW ROUTINE ; AND FADE IN ROUTINE MIKE1 DS 2 MIKE2 DS 2 XTEMP DS 1 YTEMP DS 1 SCN DS 2 BOXM DS 2 L DS 1 BLL DS 1 BLH DS 1 AMOUNT DS 1 XS DS 1 YS DS 1 SX DS 1 SY DS 1 SX2 DS 1 SY2 DS 1 XAM DS 1 YAM DS 1 SL DS 1 SH DS 1 TEMP DS 2 TMP DS 1 MESAGE DS 2 DEND LL EQU 12 ;SMTEXTSIZE BSEED EQU &0200 ;14*17 TEXTBUF EQU BSEED+(14*17); &270 MAX TST EQU TEXTBUF+&400;SCROLL 17*8 SLFACE EQU &1000 BOXST EQU &1000+&770 ;START BANK EQU &C000 COL EQU &DC00 VIC EQU &D000 SID EQU &D400 X0 EQU VIC+0 Y0 EQU VIC+1 X1 EQU VIC+2 Y1 EQU VIC+3 X2 EQU VIC+4 Y2 EQU VIC+5 X3 EQU VIC+6 Y3 EQU VIC+7 X4 EQU VIC+8 Y4 EQU VIC+9 X5 EQU VIC+10 Y5 EQU VIC+11 X6 EQU VIC+12 Y6 EQU VIC+13 X7 EQU VIC+14 Y7 EQU VIC+15 MSB EQU VIC+16 VICCR1 EQU VIC+17 RASTER EQU VIC+18 ENABLE EQU VIC+21 VICCR2 EQU VIC+22 EXPANDY EQU VIC+23 VICMCR EQU VIC+24 VICIFR EQU VIC+25 VICIMR EQU VIC+26 PRIORITY EQU VIC+27 MULTICOL EQU VIC+28 EXPANDX EQU VIC+29 BORDER EQU VIC+32 COLOUR0 EQU VIC+33 COLOUR1 EQU VIC+34 COLOUR2 EQU VIC+35 COLOUR3 EQU VIC+36 MULTI0 EQU VIC+37 MULTI1 EQU VIC+38 SPC0 EQU VIC+39 SPC1 EQU VIC+40 SPC2 EQU VIC+41 SPC3 EQU VIC+42 SPC4 EQU VIC+43 SPC5 EQU VIC+44 SPC6 EQU VIC+45 SPC7 EQU VIC+46 NYBBLE EQU &D800 CIA1 EQU &DC00 CIA2 EQU &DD00 SPRITE0 EQU COL+&3F8 SPRITE1 EQU SPRITE0+1 SPRITE2 EQU SPRITE1+1 SPRITE3 EQU SPRITE2+1 SPRITE4 EQU SPRITE3+1 SPRITE5 EQU SPRITE4+1 SPRITE6 EQU SPRITE5+1 SPRITE7 EQU SPRITE6+1 NOPP MACRO DB &2C ; BIT xx xx ENDM NMI RTI IRQ STA IRQTEMP LDA #1 STA VICIFR CLD LDA #%00110011 STA VICCR1 STX IRQTEMP+1 STY IRQTEMP+2 NOANY JMP ACORN ;BIT,JMP JSR IRQ2 LDA XCORD STA X0 ;TOP1 STA X1 ;TOP2 STA X2 ;BOT1 STA X3 ;BOT2 LDA YCORD STA Y0 ;TOP1 STA Y1 ;TOP2 CLC ADC #21 STA Y2 ;BOT1 STA Y3 ;BOT2 LDA XCORD+1 STA X4 ;UCKKO STA X5 ;HAND LDA YCORD+1 STA Y4 STA Y5 LDA #0 STA MSB LDY FRAME STA R6510 LDA POINTT1,Y ;TOP OF STA SPRITE0 ;HAND LDA POINTT2,Y STA SPRITE1 LDA POINTB1,Y ;BOTTOM STA SPRITE2 ;OF HAND LDA POINTB2,Y STA SPRITE3 LDA #%00110101 STA R6510 JSR SCROLS LDA MUSIC BPL SOON LDY #&1C LDA #0 TNN STA SID,Y DEY BPL TNN JMP SOM2 SOON JSR &583F ; MUSIC SOM2 LDA #%00111011 STA VICCR1 LDX IRQTEMP+1 LDY IRQTEMP+2 ACORN LDA #248 STA RASTER LDA IRQTEMP+0 RTI IRQ2 LDA SYNC ; FIGHT TIMER CLC ADC #1 CMP #50 BCC WQS LDA TIMER BEQ ATZ DEC TIMER ATZ LDA #0 WQS STA SYNC LDA DRINK BPL NODR LDA TIMER2 ; DRINK CONTEST BNE DECT ; TIMER LDA VDRUNK CLC ADC #1 CMP #9 BCS NODR STA VDRUNK LDA ELAPSE STA TIMER2 DECT DEC TIMER2 NODR JSR JOYSTICK BIT MOVEICON ;MASTER BPL NOMOVE ;CONTROL LDA POINT ;IF ALREADY BNE ALMOV ;POINTING LDA FIRE ;IF NOT BEQ OUTOFB ;CHECK STA POINT ;1 ALMOV LDA NEXTONE EOR #1 STA NEXTONE CLC ADC FRAME CMP #9 BCC OKYA LDA #0 STA POINT OKYA STA FRAME NOMOVE JMP LEAVA1 OUTOFB LDA XA ;MOVEHAND CLC ;ABOUT ADC RIGHT ;SCREEN CMP #STEPX BEQ RES1 STA XA RES1 LDA XA SEC SBC LEFT CMP #-STEPX BEQ RES2 STA XA RES2 LDA YA SEC SBC UP CMP #-STEPY BEQ RES3 STA YA RES3 LDA YA CLC ADC DOWN CMP #STEPY BEQ RES4 STA YA RES4 BIT MOVEICON ;IF NOT BVS DRUNKN ;DRUNK LDA LEFT ;MAKE HAND ORA RIGHT ;STAY STILL ORA UP ;IF NO ORA DOWN ;JOYSTICK BNE DRUNKN ;MOVEMENT LDA NEXTONE EOR #1 STA NEXTONE LDA XA BEQ YCHO BPL DECI INC XA NOPP DECI DEC XA YCHO LDA YA BEQ DRUNKN BPL DECI2 CMP #-1 BNE SWE LDA YCORD AND #7 BNE DRUNKN SWE INC YA JMP DRUNKN DECI2 CMP #1 BNE SWE2 LDA YCORD AND #7 BNE DRUNKN SWE2 DEC YA DRUNKN LDA XA CLC ADC XCORD STA XCORD CMP #118+16+8 BCC TOHAF LDA #118+16+8 STA XCORD LDA #-2 STA XA TOHAF CMP #36 BCS LEAVA LDA #36 STA XCORD LDA #2 STA XA LEAVA LDA YA CLC ADC YCORD STA YCORD CMP #&D3 BCC TOHAF1 LDA #&D3 STA YCORD LDA #-2 JMP LEAA TOHAF1 CMP #&4D BCS LEAVA1 LDA #&4D STA YCORD LDA #2 LEAA STA YA LEAVA1 LDA OBJ25+1 BMI GOAW LDA XCORD NOPP GOAW LDA #-12 CLC ADC #12 CMP XCORD+1 BEQ HAMMY BCS FRUIT DEC XCORD+1 NOPP FRUIT INC XCORD+1 HAMMY LDA OBJ25+1 ; IS HE HERE ? BMI GOAW2 LDA YCORD NOPP GOAW2 LDA #255-28 CLC ADC #28 CMP YCORD+1 BEQ HAMMY2 BCS FRUIT2 DEC YCORD+1 NOPP FRUIT2 INC YCORD+1 HAMMY2 RTS MAIN SEI LDX #0 STX VICCR1 REPLA2 LDA RASTER CMP #60 BNE REPLA2 DEX BNE REPLA2 CLD LDX #255 TXS LDA #%00100101 STA R6510 LDA #>NMI STA &FFFA LDA #NMI ;RESET STA &FFFC LDA #IRQ STA &FFFE LDA #STARTM ;BY ME! LDY #R1 STA DES+1 JMP BLOCKC SAVE LDA #&2C STA LOAD JSR FACE JSR CLEARB JSR FADEO LDX #T+86 JSR WINDOW LDA CIA2+11 ; HOURS STA &47F1 LDA CIA2+10 STA &47F2 LDA CIA2+9 STA &47F3 SEI LDY #2 CE LDA &00,Y STA &4800,Y INY BNE CE CLI LDA #&49 STA DES+2 LDA #R1 STA SOR+1 BLOCKC LDX #8 LDY #0 SOR LDA &FFFF,Y DES STA &FFFF,Y INY BNE SOR INC SOR+2 INC DES+2 DEX BNE SOR LDA #0 STA CIA2+8 ; RESTART TIMER JSR OK LDA ROOM JSR ANDDE JMP AWS TUFF LDA KILL BNE CMAY LDA MAIN1 AND MAIN2 AND MAIN3 AND MAIN4 CMP #255 BNE CMAY LDA ENEMYT+2 BNE CMAY JSR FACE LDX #T+78 JSR WINDOW LDA #0 STA MAIN1 STA MAIN2 STA MAIN3 STA MAIN4 LDA #109 STA R53+7 LDA #9 ; DOOR OPEN STA R53+10 CMAY LDA FIGHT ; WHAT MODE BEQ NFITM ; FIGHT MODE JMP FITM ; DRINKING COMPETITION NFITM LDA DRINK BEQ NOBOOZ LDA VDRUNK CMP #4 BNE NHAL BODG LDA #0 ; SMC BMI NHAL LDA #255 STA BODG+1 LDX #T+56 JSR WINDOW NHAL LDA VDRUNK CMP #7 BNE NLASO BODG2 LDA #0 BMI NLASO LDA #255 STA BODG2+1 LDX #T+57 JSR WINDOW NLASO LDA VDRUNK CMP #8 BEQ LOS JMP AWS LOS JSR CLEARB JSR FADEO JSR FACE LDX #T+55 JSR WINDOW LDX #T+54 JSR WINDOW JSR LOST LDA #0 STA DRINK JSR OK JMP AWS ; NORMAL MODE NOBOOZ LDA KILL ; ANY PEOPLE BEQ NOWT ; TO KILL ? LDA TIMER ; ARE THEY GOING BNE NOWT ; TO ATTACK JSR ATTACK ; YOU FIRST LDA #0 ; CLEAR OUT STA KILL NOWT LDA ENEMYT+2 BNE OHW LDA LIST+0 CMP #11 ; YES NO MENU BEQ OHW CMP #10 ; ALL IS LOST BEQ OHW LDA SEED CMP #"M" BNE OHW LDA ROOM STA VILLAG JSR RAND AND #7 CLC ADC #1 STA VILLAG+2 LDX #T+89 JSR WINDOW LDA ROOM JSR ANDDE OHW LDA CIA2+11 ;2 HOURS ANYWAY BIT CIA2+8 ;SILLY TOD CMP #2 BCC STT LDA #0 ;CLEAR HOURS STA CIA2+11 ;STOP CLOCK JSR FACE JSR CLEARB JSR FADEO LDX #T+22 JSR WINDOW LDX #T+21 JSR WINDOW BANJO LDA #13 ; ALL IS LOST STA LIST LDA #255 STA LIST+1 LDA #0 STA LISTO JMP AWS STT LDA HITUKO ; IF NOT HIT CMP #3 BNE AWS ; HIM LEAVE ALONE LDA CIA1+10 CMP #1 ; TIME DELAY BCC AWS LDA #0 ; BRING STA HITUKO STA CIA1+11 ; STOP CLOCK STA CIA1+10 STA CIA1+9 ; STOP CLOCK JSR FACE LDA ROOM STA OBJ25+1 LDX #3 JSR WINDOW LDX #T+16 ; I AM BACK JSR WINDOW LDA LIST+0 ; IF NOT ON CMP #1 BNE AWS ; MAIN SELECT LDA #7 ; HIT UKKO JSR GAIN ; AGAIN AWS IF DEB=255 JSR DEB FI JSR SET ; ANOTHER SCROLL ? JMP FOREVER ; FIGHT MODE FITM LDA TIMER BEQ RESOE JMP RESO RESOE LDA EATTACK BEQ NOAT JSR RAND ; TAKEIN A HIT AND ENEMYT+4 SED CLC ADC #1 CLD STA MIKE1 LSR A LSR A LSR A LSR A ORA #"0" STA DAM1+7 LDA MIKE1 AND #&F ORA #"0" STA DAM1+8 LDA MIKE1 JSR SUBW BCC ALIV LDA ROOM STA OBJ25+1 JSR CLEARB JSR FADEO JSR FACE LDX #16 JSR WINDOW LDX #T+44 JSR WINDOW LDX #T+45 JSR WINDOW LDA #&15 JSR ADT LDA #238 ; YOU GOT KILLED JSR KNOCK LDA MAXW+1 STA WARP+1 LDA MAXW+0 STA WARP+0 JMP AWS ALIV JSR UPDATE ALIVE LDX #>E4 LDY #E3 LDY #E2 LDY #E1 LDY #OBJ1 STA TEMPM+0 LDA #51 ; START OF STA WHATO ; SCROLL OPTNUM LDX #0 STX LISTO LDY #1 NEXOB LDA (TEMPM),Y CMP #255 ; END MARKER ? BEQ RETRN NOEE CMP #255 ; SMC BEQ GOTO NOEE2 CMP #255 BNE NOTT GOTO LDA WHATO STA LIST+0,X INX ; NEXT IN LIST NOTT INC WHATO ; NEXT OBJECT LDA TEMPM+0 CLC ADC #4 STA TEMPM+0 BCC NEXOB INC TEMPM+1 BNE NEXOB RETRN DEY ; TO 0 LDA (TEMPM),Y INY ; BACK TO 1 CMP #255 ; DELIMITER BNE NOEE JMP ADDEN ; + OK ;LDA #60 ; TAKE OUT ;JMP LOOSE ; UKKO ONLY CLEARB LDX #7 ; STOP ALL SCROLLING STOPT LDA #0 STA USED+0,X LDY WHERAY,X LDA #255 STA OPTNUM,Y DEX BPL STOPT RTS DELTH LDX #7 ; STOP ONE LINE NEXO LDY WHERAY+0,X ; FROM SCROLLING CPY WHATY BEQ HALT HOTH DEX BPL NEXO RTS ; IF NOT THERE HALT LDA #0 ; STOP LINE FROM STA USED+0,X LDA #255 STA OPTNUM,Y JMP FADEL ; FADE LINE BLOCK GAIN STA TEMP ; ADD WHAT LDX #255 :LOOP INX LDA LIST+0,X CMP TEMP BEQ EROR CMP #255 BNE :LOOP LDA TEMP ; NEW OPTION STA LIST+0,X LDA #255 ; END OF LIST STA LIST+1,X RTS BLOCK LOOSE STA TEMP ; DELETE WHAT LDX #255 :LOOP INX LDA LIST+0,X CMP #255 BEQ EROR CMP TEMP BNE :LOOP BLOCK :LOOP LDA LIST+1,X CMP #255 ; END OF LIST BEQ ENOL LDA LIST+1,X STA LIST+0,X INX BNE :LOOP ENOL STA LIST+0,X EROR RTS ITM LDA WHATO CMP #14 BEQ CANDL LDA WHATS CMP #51 BNE WEEQW JSR FACE LDX #T+36 JSR WINDOW SEC RTS WEEQW CMP #51+3 BCS YOUC JSR FACE PEN LDX #T+37 ; TWIT JSR WINDOW SEC RTS YOUC CLC RTS CANDL LDA ROOM CMP #82 BCC YOUC CMP #109 BCS YOUC BCC PEN ADDW SED CLC ADC WARP+0 STA WARP+0 LDA WARP+1 ADC #0 STA WARP+1 CMP MAXW+1 ; IF WAPROPT00 ;BEFORE STA SCMEML,X ;IT GETS LDA #OPT00,>OPT01,>OPT02,>OPT03 DB >OPT04,>OPT05,>OPT06,>OPT07 DB >OPT08,>OPT09,>OPT10,>OPT11 DB >OPT12,>OPT13,>OPT14,>OPT15 DB >OPT16,>OPT17,>OPT18,>OPT19 DB >OPT20,>OPT21,>OPT22,>OPT23 DB >OPT24,>OPT25,>OPT26,>OPT27 DB >OPT28,>OPT29,>OPT30,>OPT31 DB >OPT32,>OPT33,>OPT34,>OPT35 DB >OPT36,>OPT37,>OPT38,>OPT39 DB >OPT40,>OPT41,>OPT42,>OPT43 DB >OPT44,>OPT45,>OPT46,>OPT47 DB >OPT48,>OPT49,>OPT50,>OPT51 DB >OPT52,>OPT53,>OPT54,>OPT55 DB >OPT56,>OPT57,>OPT58,>OPT59 DB >OPT60,>OPT61,>OPT62,>OPT63 DB >OPT64,>OPT65,>OPT66,>OPT67 DB >OPT68,>OPT69,>OPT70,>OPT71 DB >OPT72,>OPT73,>OPT74,>OPT75 DB >OPT76,>OPT77,>OPT78,>OPT79 DB >OPT80,>OPT81,>OPT82,>OPT83 DB >OPT84,>OPT85,>OPT86,>OPT87 DB >OPT88,>OPT89,>OPT90,>OPT91 DB >OPT92,>OPT93,>OPT94,>OPT95 DB >OPT96,>OPT97,>OPT98,>OPT99 DB >OPT100 OPTMH DB (253*64+BANK) STA MIKE1 LDA #<(253*64+BANK) STA MIKE1+1 LDA DEBUG+2 JSR ONEB LDA DEBUG+1 JSR ONEB LDA DEBUG+0 ONEB STA MIKE2 AND #&F0 LSR A LSR A LSR A LSR A JSR NUMB LDA MIKE2 AND #&0F NUMB CMP #10 BCC SE ADC #6 SE ASL A ASL A ASL A TAX LDY #0 LDA NUMBRS+0,X STA (MIKE1),Y LDY #1*3 LDA NUMBRS+1,X STA (MIKE1),Y LDY #2*3 LDA NUMBRS+2,X STA (MIKE1),Y LDY #3*3 LDA NUMBRS+3,X STA (MIKE1),Y LDY #4*3 LDA NUMBRS+4,X STA (MIKE1),Y LDY #5*3 LDA NUMBRS+5,X STA (MIKE1),Y LDY #6*3 LDA NUMBRS+6,X STA (MIKE1),Y LDY #7*3 LDA NUMBRS+7,X STA (MIKE1),Y LDY TMP LDA ADDMX,Y STA MIKE1 INC TMP RTS ADDMX DB >((253*64)+BANK+01) DB >((253*64)+BANK+02) DB >((254*64)+BANK+00) DB >((254*64)+BANK+01) DB >((254*64)+BANK+02) FI TTEXT LDY #0 STY TEXMEM+1 ASL A ROL TEXMEM+1 ASL A ROL TEXMEM+1 ASL A ROL TEXMEM+1 ADC #>(CHSET-(32*8)) STA TEXMEM LDA TEXMEM+1 ADC #<(CHSET-(32*8)) STA TEXMEM+1 LDY #0 LDA (TEXMEM),Y STA TST+0,X INY LDA (TEXMEM),Y STA TST+1,X INY LDA (TEXMEM),Y STA TST+2,X INY LDA (TEXMEM),Y STA TST+3,X INY LDA (TEXMEM),Y STA TST+4,X INY LDA (TEXMEM),Y STA TST+5,X INY LDA (TEXMEM),Y STA TST+6,X ;INY ; ALL WAYS BLANK ;LDA (TEXMEM),Y ;STA TST+7,X RTS CHSET HEX "0000000000000000" HEX "1010101010001000" HEX "0028282800000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0010102000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000004040800" HEX "0000000000000000" HEX "00000000000C0C00" HEX "0000000000000000" NUMBRS HEX "FC66666E7666BC00" HEX "183858181C182000" HEX "FC067EC4C0FE4200" HEX "FC8E3C06067E8400" HEX "1C183064FE0C1800" HEX "FEC2E07E067E8400" HEX "7EC0FCC6E67C8000" HEX "FC8C0C0C0E0C1000" HEX "7C663C66667E8000" HEX "FECCCC7C0E0C1000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "0000000000000000" HEX "3C061E2666663D00" HEX "7E303E3333335E00" HEX "3A64606060231F00" HEX "1F063E6666663D00" HEX "3E61687C60613E00" HEX "3E61687C60607000" HEX "3E6363231F437E00" HEX "70607E6363666F00" HEX "381C181818381C00" HEX "5F23030303261C00" HEX "70606468706C6300" HEX "4030303030384F00" HEX "367F6B6B63237700" HEX "5E33333333367700" HEX "7E33733333130E00" HEX "5E3333332E207000" HEX "3D6666663E060F00" HEX "5E33303030307800" HEX "3E61603E03633E00" HEX "7F19181818183C00" HEX "3763636363331E00" HEX "7331323438302000" HEX "7723636B6B7B3600" HEX "436634181C366300" HEX "432363633F031E00" HEX "633E040810337F00" -------------------------------------------------------------------------------- /MES: -------------------------------------------------------------------------------- 1 | ; MESSAGES STEX01 DATA "A BRAIN BITER, YOUR STONE AXE. ",255 STEX02 DATA "YOUR INVALUABLE TORC. ",255 STEX03 DATA "YOUR BATTLE HARNESS. ",255 STEX04 DATA "THROUGH THE GLASS CAN BE SEEN A SKY BLUE PENDANT. ",255 STEX05 DATA "A PILE OF GOLD CROWNS. ",255 STEX06 DATA "A GOLD RING. ",255 STEX07 DATA "A GOLD RING. SET WITH A QUARTZ STONE. ",255 STEX08 DATA "A STUDDED WOODEN CHEST. ",255 STEX09 DATA "A SMALL LEATHER POUCH. ",255 STEX10 DATA "AN ORDINARY EVERY DAY SPADE. ",255 STEX11 DATA "KNIFE AND A CRUDE FORK. ",255 STEX12 DATA "A TINY WOODEN FLUTE. ",255 STEX13 DATA "SOME ENGRAVING TOOLS. ",255 STEX14 DATA "A WAX CANDLE. ",255 STEX15 DATA "A DECK OF CARDS FOR THE GAMBLERS. ",255 STEX16 DATA "A LEATHER DICE SHAKER. ",255 STEX17 DATA "A DICE WHICH IS OBVIOUSLY LOADED. ",255 STEX18 DATA "A RUSTY KEY. ",255 STEX19 DATA "A CLEAR GLASS BOTTLE. ",255 STEX20 DATA "A PHOENIX MADE OF PUREST GREEN. ",255 STEX21 DATA "A BLACKENED JEWEL IN THE SHAPE OF AN EYE. ",255 STEX22 DATA "A CONVEX GLASS LENS. ",255 STEX23 DATA "UGH! SOME FLEAS THAT NORMALLY LIVE ON SMELLY DWARVES. ",255 STEX24 DATA "A LONG OAK BAR. ",255 STEX25 DATA "YOUR FAITHFUL AND LONG SUFFERING SIDE KICK DWARF. ",255 STEX26 DATA "A LOAF OF BREAD. ",255 STEX27 DATA "A GLASS OF ALE. ",255 STEX28 DATA "IT HAS FISH ENGRAVED AROUND THE BOWL. ",255 STEX29 DATA "A GLASS OF ALE ",255 STEX30 DATA "THIS ITEM IS A CHARM FOR THE WEARING OF. ",255 STEX31 DATA "A THIEVES DAGGER. ",255 STEX32 DATA "SOME TINDER IN A METAL BOX. ",255 STEX33 DATA "SOME LOCK PICKS. ",255 STEX34 DATA "A SMOULDERING FURNACE. WITH BELLOWS ATTACHED. ",255 STEX35 DATA "SOME SMITHYS TONGS. ",255 STEX36 DATA "A WATER BUCKET WILL SPEED UP THE COOLING PROCESS ",255 STEX37 DATA "SOME FRESHLY DUG EARTH. ",255 STEX38 DATA "A SHALLOW HOLE IN THE GROUND. ",255 STEX39 DATA "SOME FRESHLY DUG EARTH. ",255 STEX40 DATA "A SHALLOW HOLE IN THE GROUND. ",255 STEX41 DATA "THIS IS THE MUTILATED BODY OF A GRAVE DIGGER. ",255 STEX42 DATA "A MOUND OF FRESHLY DUG EARTH. ",255 STEX43 DATA "A WOODEN COFFIN. ",255 STEX44 DATA "MADE OF SOLID OAK. ",255 STEX45 DATA "AN OLD FASHIONED TELESCOPE. ",255 STEX46 DATA "ENGRAVED ABOVE THE ARCH IS 'ONLY THE FOUR MAY ENTER', ",255 STEX47 DATA "AN ARCHWAY ",255 STEX48 DATA "A WEATHERED GRAVESTONE WITH NO NAME ON IT. ",255 STEX49 DATA "A BAR. ",255 STEX50 DATA "A FOUNTAIN. ",255 STEX51 DATA "A FURNACE. ",255 STEX52 DATA "SOME TONGS. ",255 STEX53 DATA "A WATER BUCKET ",255 STEX54 DATA "SOME EARTH. ",255 STEX55 DATA "A HOLE. ",255 STEX56 DATA "SOME EARTH. ",255 STEX57 DATA "A HOLE. ",255 STEX58 DATA "A BODY. ",255 STEX59 DATA "A MOUND OF EARTH. ",255 STEX60 DATA "A COFFIN. ",255 STEX61 DATA "A DOOR. ",255 STEX62 DATA "A TELESCOPE. ",255 STEX63 DATA "AN ARCH. ",255 STEX64 DATA "AN ARCH. ",255 STEX65 DATA "A GRAVESTONE. ",255 STEX66 DATA "WHAT DID YOU DO THAT FOR? ",255 STEX67 DATA "ONE MORE LIKE THAT AND I'M OFF ",255 STEX68 DATA "THAT'S THE LAST TIME YOU HIT ME ",255 STEX69 DATA "BECAUSE I AM BORED ! ",255 STEX70 DATA "ARE YOU SITTING COMFORTABLY? ",255 STEX71 DATA "GOOD, THEN WE SHALL BEGIN. ",255 STEX72 DATA "DON'T BE SILLY SLAINE. ",255 STEX73 DATA "FAR TOO HEAVY TO TAKE. ",255 STEX74 DATA "ALREADY OPEN SILLY ! ",255 STEX75 DATA "IT IS CLOSED SILLY ! ",255 STEX76 DATA "YOUR STOMACH WILL NOT AGREE. ",255 STEX77 DATA "YOU GIVE OUT A LARGE BURP !! ",255 STEX78 DATA "BLANK ",255 STEX79 DATA "TAKE WHAT OBJECT ? ",255 STEX80 DATA "THERE'S NOTHING. ",255 STEX81 DATA "PUT WHAT ? ",255 STEX82 DATA "I AM BACK, DID YOU MISS ME ? ",255 STEX83 DATA "YOU DECIDE IT IS TIME FOR A REST. ",255 STEX84 DATA "THAT'S BETTER. ",255 STEX85 DATA "THERE'S NO EFFECT ",255 STEX86 DATA "USE WITH WHAT ? ",255 STEX87 DATA "ALL IS LOST ",255 STEX88 DATA "THE HEAVENS OPEN UP AND THE LAND IS TORN ASSUNDER, " DATA "AS THE FOUR ELEMENTS JOIN TOGETHER. ",255 STEX89 DATA "YOU FILL A BIT DIZZY ! ",255 STEX90 DATA "YOUR WARP RATING 000 ",255 STEX91 DATA "YOUR MAXIMUM WARP RATING 000 ",255 STEX92 DATA "IT IS DAWN. ",255 STEX93 DATA "IT IS EARLY MORNING. ",255 STEX94 DATA "IT IS LATE MORNING. ",255 STEX95 DATA "IT IS NOON. ",255 STEX96 DATA "IT IS EARLY AFTERNOON. ",255 STEX97 DATA "IT IS LATE AFTERNOON. ",255 STEX98 DATA "IT IS EVENING. ",255 STEX99 DATA "IT IS DUSK AND YOU HAVE LITTLE TIME LEFT SLAINE... ",255 STEXA0 DATA "KEEP YOU HAND'S TO YOUR SELF SLAINE. ",255 STEXA1 DATA "ALL RIGHT YOU CAN HAVE IT. ",255 STEXA2 DATA "HAVE YOU GONE CRAZY? THE AXE IS YOUR ONLY WEAPON ! ",255 STEXA3 DATA "THAT WOULD'NT BE A GOOD IDEA ! ",255 STEXA4 DATA "THERE IS 00 VILLAGERS HERE. ",255 STEXA5 DATA "THERE IS 00 WARRIORS HERE. ",255 STEXA6 DATA "COMING STRAIGHT FOR YOU. ",255 STEXA7 DATA "ENEMY WARP RATING 00 ",255 STEXA8 DATA "YOU FEEL THE EARTH POWER SURGE THROUGH YOUR BODY! ",255 STEXA9 DATA "THE ENEMY IS MASSACRED! ",255 STEXB0 DATA "EVERYTHING GOES DARK. ",255 STEXB1 DATA "SLAINE WAKE UP, YOU WERE OUT FOR QUITE A WHILE. ",255 STEXB2 DATA "YOU HAVE 00 GOLD PIECES. ",255 STEXB3 DATA "YOU CHALLENGE THE VILLAGER TO A DRINKING CONTEST. THE STAKE STANDS AT 00 GOLD PIECES. ",255 STEXB4 DATA "ARE YOU IN ? ",255 STEXB5 DATA "THE BARMAN SETS UP TWO ROWS OF DRINKS. AND SAYS START DRINKING. ",255 STEXB6 DATA "THE VILLAGER STARTS ON HIS ROW OF DRINKS. ",255 STEXB7 DATA "YOU HAVE NOT ENOUGH GOLD. ",255 STEXB8 DATA "YOU DOWN YOUR LAST DRINK. AND TAKE THE WINNINGS. ",255 STEXB9 DATA "SO YOU CAN'T TAKE IT THEN ? ",255 STEXC0 DATA "THE VILLAGER TAKES THE GOLD. ",255 STEXC1 DATA "THE VILLAGER FINISHES FIRST. ",255 STEXC2 DATA "HE IS HALF WAY THROUGH ",255 STEXC3 DATA "HE IS ON HIS LAST PINT ! ",255 STEXC4 DATA "THE GEM IS FIRMLY WEDGED IN ! ",255 STEXC5 DATA "WHAT WITH ? ",255 STEXC6 DATA "PLACING THE DAGGER BEHIND THE EYE, YOU MANAGE TO FORCE IT FROM THE PHEONIX. ",255 STEXC7 DATA "UKKO USES THE BELLOWS AND THE FURNACE GETS HOTTER. NOTHING ELSE HAPPENS. ",255 STEXC8 DATA "UKKO HEATS THE FURNACE WITH THE BELLOWS. THE EYE TURNS BLACK AND A MIST APPEARS... ",255 STEXC9 DATA "HERE IS A DEMON. ",255 STEXD0 DATA "THE CANDLE IS LIT. ",255 STEXD1 DATA "HUMMM. IT LOOKS A BIT DARK IN THERE ! ",255 STEXD2 DATA "YOU DIG A SMALL HOLE. ",255 STEXD3 DATA "YOU FILL IN THE HOLE. ",255 STEXD4 DATA "YOU CAN'T TAKE THAT ! ",255 STEXD5 DATA "THERE IS A SUDDEN TREMOR. AS THE ELEMENT IS RELEASED. ",255 STEXD6 DATA "HERE IS A BOATMAN. ",255 STEXD7 DATA "HE SAYS IT'S 25 GOLD PIECES, TO CROSS THE RIVER. ",255 STEXD8 DATA "DO YOU WISH TO PAY ? ",255 STEXD9 DATA "HE TAKES YOU ACROSS THE RIVER. ",255 STEXE0 DATA "THE DOOR IS FIRMLY LOCKED ! ",255 STEXE1 DATA "YOU UNLOCK AND OPEN THE DOOR. ",255 STEXE2 DATA "THE WATER BUBBLES, AND FORMS A DEMONIC APPARITION. ",255 STEXE3 DATA "THERE IS A RUSHING SOUND, AS THE AIR IS SUCKED IN. ",255 STEXE4 DATA "AS YOU KILL THE LAST DEMON, LIGHTNING STRIKES TO THE NORTH. ",255 STEXE5 DATA "ON CLOSE EXAMINATION YOU FIND AN ENTRANCE. ",255 STEXE6 DATA "YOU DON'T KNOW WHAT TO ENGRAVE ! ",255 STEXE7 DATA "AS YOU ENGRAVE THE NAME, YOU SUMMON THE DRUNE LORD FROM THE AFTER LIFE. ",255 STEXE8 DATA "REYA, THE DRUNES DAUGHTER IS HERE. ",255 STEXE9 DATA "AT LAST I AM FREE, SLAINE. MY FATHERS NAME IS SLOUGH LIN, SHE THEN FADES FROM SIGHT. ",255 STEXF0 DATA "HERE IS SLOUGH LIN. ",255 STEXF1 DATA "LYONESSE IS NOW FREE OF THE CURSE, YOU HAVE SUCCEEDED. REYA ARRIVES AT YOUR SIDE... ",255 STEXF2 DATA "POSITION SAVED. ",255 STEXF3 DATA "HERE IS AN OGRE. ",255 STEXF4 DATA "HERE IS TEGLE. LORD OF DRAGONS. ",255 STEXF5 DATA "I THINK YOU HAVE COMPANY. ",255 ; X,Y SIZE IN ONE BYTE ; X=TOP 4 BITS Y= BOTTOM 4 BITS BOXSIZE HEX "11" ; BLANK HEX "7788778888B677878797" HEX "B6978797B66666679787" HEX "CD" ; WARP ; OBJECT BOXES HEX "63336523222222643335" HEX "24242423222322323434" HEX "322434333333242223" ; OBJECT TEXT HEX "00000000000000000000" HEX "00000000000000" ; OBJECT DISCRIPTIONS HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" ; GENERAL MESSAGES HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" HEX "00000000000000000000" BOXOFF HEX "F0" ; BLANK HEX "1280A770966814979787" HEX "68879787684290248797" HEX "00" ; WARP ; OBJECT BOXES HEX "01531504050611121314" HEX "91162122430A1C263132" HEX "333437364142833000" ; OBJECT TEXT HEX "00010203040506101112" HEX "13141516202122" ; OBJECT DISCRIPTIONS HEX "64748596A864758697A8" HEX "64748596A864758697A8" HEX "64748596A764758697A8" HEX "64748596A864758697A8" HEX "64748596A864758697" ; GENERAL MESSAGES HEX "06152400662376232354" HEX "01424563242317269521" HEX "25680024007705050505" HEX "05050505303402343535" HEX "0089A0AAABA04B008000" HEX "658523008500068022AC" HEX "A500A035550055675492" HEX "350078A123A880A00006" HEX "00A035843500553535A1" ; DSECT ORG BOXST PICK00 DS 01*01*8 ; (C) SYMBOL PICK01 DS 07*07*8 ; UKKO POINT PICK02 DS 08*08*8 ; SLAINE ANGRY PICK03 DS 07*07*8 ; UKKO SMILE PICK04 DS 08*08*8 ; SLAINE FRONT PICK05 DS 08*08*8 ; SLAINE SMILE PICK06 DS 11*06*8 ; UKKO HIT PICK07 DS 07*07*8 ; UKKO WITH GEMS PICK08 DS 08*07*8 ; DOOR CLOSED PICK09 DS 08*07*8 ; DOOR OPEN PICK10 DS 09*07*8 ; SOMEWHERE PICK11 DS 11*06*8 ; VILLAGE PICK12 DS 09*07*8 ; SLAINE+UKKO PICK13 DS 08*07*8 ; MINE ENTRANCE PICK14 DS 09*07*8 ; OBSERVETORY PICK15 DS 11*06*8 ; BURN VILLAGE PICK16 DS 06*06*8 ; UKKO WORRIED PICK17 DS 06*06*8 ; UKKO RUN PICK18 DS 06*07*8 ; UKKO SIDE PICK19 DS 09*07*8 ; STONE HENGE PICK20 DS 08*07*8 ; GRAVEYARD PICK21 DS 12*13*8 ; SLAINE WARP PICK22 DS 06*03*8 ; OBJ AXE PICK23 DS 03*03*8 ; OBJ TORCH PICK24 DS 06*05*8 ; OBJ HARNESS PICK25 DS 02*03*8 ; OBJ BOTTLE PICK26 DS 02*02*8 ; OBJ COIN PICK27 DS 02*02*8 ; OBJ RING1 PICK28 DS 02*02*8 ; OBJ RING2 PICK29 DS 06*04*8 ; OBJ CHEST PICK30 DS 03*03*8 ; OBJ POUCH PICK31 DS 03*05*8 ; OBJ SPADE PICK32 DS 02*04*8 ; OBJ IRONS ? PICK33 DS 02*04*8 ; OBJ FLUTE PICK34 DS 02*04*8 ; OBJ TOOLS PICK35 DS 02*03*8 ; OBJ CANDLE PICK36 DS 02*02*8 ; OBJ CARDS PICK37 DS 02*03*8 ; OBJ SHAKER PICK38 DS 02*02*8 ; OBJ DICE PICK39 DS 03*02*8 ; OBJ KEY PICK40 DS 03*04*8 ; OBJ PENDENT PICK41 DS 03*04*8 ; OBJ PHOENIX PICK42 DS 03*02*8 ; OBJ EYE PICK43 DS 02*04*8 ; OBJ LENS PICK44 DS 03*04*8 ; OBJ FLEAS PICK45 DS 03*03*8 ; OBJ BREAD PICK46 DS 03*03*8 ; OBJ BEER PICK47 DS 03*03*8 ; OBJ CHARM PICK48 DS 02*04*8 ; OBJ DAGGER PICK49 DS 02*02*8 ; OBJ TINDER BOX PICK50 DS 02*03*8 ; OBJ LOCK PICKS DEND PICK51 EQU STEX49 ; OBJ BAR PICK52 EQU STEX50 ; OBJ FOUNTAIN PICK53 EQU STEX51 ; OBJ FURNACE PICK54 EQU STEX52 ; OBJ TONGS PICK55 EQU STEX53 ; OBJ WATER BUCKET PICK56 EQU STEX54 ; OBJ EARTH1 PICK57 EQU STEX55 ; OBJ HOLE1 PICK58 EQU STEX56 ; OBJ EARTH2 PICK59 EQU STEX57 ; OBJ HOLE2 PICK60 EQU STEX58 ; OBJ BODY PICK61 EQU STEX59 ; OBJ MOUND PICK62 EQU STEX60 ; OBJ COFFIN PICK63 EQU STEX61 ; OBJ DOOR PICK64 EQU STEX62 ; OBJ TELESCOPE PICK65 EQU STEX63 ; OBJ ARCH1 PICK66 EQU STEX64 ; OBJ ARCH PICK67 EQU STEX65 ; OBJ GRAVESTONE PICK68 EQU STEX01 ; OBJECT AXE PICK69 EQU STEX02 ; DISCRIPTION PICK70 EQU STEX03 PICK71 EQU STEX04 PICK72 EQU STEX05 PICK73 EQU STEX06 PICK74 EQU STEX07 PICK75 EQU STEX08 PICK76 EQU STEX09 PICK77 EQU STEX10 PICK78 EQU STEX11 PICK79 EQU STEX12 PICK80 EQU STEX13 PICK81 EQU STEX14 PICK82 EQU STEX15 PICK83 EQU STEX16 PICK84 EQU STEX17 PICK85 EQU STEX18 PICK86 EQU STEX19 PICK87 EQU STEX20 PICK88 EQU STEX21 PICK89 EQU STEX22 PICK90 EQU STEX23 PICK91 EQU STEX24 PICK92 EQU STEX25 PICK93 EQU STEX26 PICK94 EQU STEX27 PICK95 EQU STEX28 PICK96 EQU STEX29 PICK97 EQU STEX30 PICK98 EQU STEX31 PICK99 EQU STEX32 PICKA0 EQU STEX33 PICKA1 EQU STEX34 PICKA2 EQU STEX35 PICKA3 EQU STEX36 PICKA4 EQU STEX37 PICKA5 EQU STEX38 PICKA6 EQU STEX39 PICKA7 EQU STEX40 PICKA8 EQU STEX41 PICKA9 EQU STEX42 PICKB0 EQU STEX43 PICKB1 EQU STEX44 PICKB2 EQU STEX45 PICKB3 EQU STEX46 PICKB4 EQU STEX47 PICKB5 EQU STEX48 PICKB6 EQU STEX49 PICKB7 EQU STEX66 ; GENERAL PICKB8 EQU STEX67 ; MESSAGES PICKB9 EQU STEX68 ; 2 PICKC0 EQU STEX69 ; 3 PICKC1 EQU STEX70 ; 4 PICKC2 EQU STEX71 ; 5 PICKC3 EQU STEX72 ; 6 PICKC4 EQU STEX73 ; 7 PICKC5 EQU STEX74 ; 8 PICKC6 EQU STEX75 ; 9 PICKC7 EQU STEX76 ; 10 PICKC8 EQU STEX77 ; 11 PICKC9 EQU STEX78 ; 12 PICKD0 EQU STEX79 ; 13 PICKD1 EQU STEX80 ; 14 PICKD2 EQU STEX81 ; 15 PICKD3 EQU STEX82 ; 16 PICKD4 EQU STEX83 ; 17 PICKD5 EQU STEX84 ; 18 PICKD6 EQU STEX85 ; 19 PICKD7 EQU STEX86 ; 20 PICKD8 EQU STEX87 ; 21 PICKD9 EQU STEX88 ; 22 PICKE0 EQU STEX89 ; 23 PICKE1 EQU STEX90 ; 24 PICKE2 EQU STEX91 ; 25 PICKE3 EQU STEX92 ; 26 PICKE4 EQU STEX93 ; 27 PICKE5 EQU STEX94 ; 28 PICKE6 EQU STEX95 ; 29 PICKE7 EQU STEX96 ; 30 PICKE8 EQU STEX97 ; 31 PICKE9 EQU STEX98 ; 32 PICKF0 EQU STEX99 ; 33 PICKF1 EQU STEXA0 ; 34 PICKF2 EQU STEXA1 ; 35 PICKF3 EQU STEXA2 ; 36 PICKF4 EQU STEXA3 ; 37 PICKF5 EQU STEXA4 ; 38 PICKF6 EQU STEXA5 ; 39 PICKF7 EQU STEXA6 ; 40 PICKF8 EQU STEXA7 ; 41 PICKF9 EQU STEXA8 ; 42 PICKG0 EQU STEXA9 ; 43 PICKG1 EQU STEXB0 ; 44 PICKG2 EQU STEXB1 ; 45 PICKG3 EQU STEXB2 ; 46 PICKG4 EQU STEXB3 ; 47 PICKG5 EQU STEXB4 ; 48 PICKG6 EQU STEXB5 ; 49 PICKG7 EQU STEXB6 ; 50 PICKG8 EQU STEXB7 ; 51 PICKG9 EQU STEXB8 ; 52 PICKH0 EQU STEXB9 ; 53 PICKH1 EQU STEXC0 ; 54 PICKH2 EQU STEXC1 ; 55 PICKH3 EQU STEXC2 ; 56 PICKH4 EQU STEXC3 ; 57 PICKH5 EQU STEXC4 ; 58 PICKH6 EQU STEXC5 ; 59 PICKH7 EQU STEXC6 ; 60 PICKH8 EQU STEXC7 ; 61 PICKH9 EQU STEXC8 ; 62 PICKI0 EQU STEXC9 ; 63 PICKI1 EQU STEXD0 ; 64 PICKI2 EQU STEXD1 ; 65 PICKI3 EQU STEXD2 ; 66 PICKI4 EQU STEXD3 ; 67 PICKI5 EQU STEXD4 ; 68 PICKI6 EQU STEXD5 ; 69 PICKI7 EQU STEXD6 ; 70 PICKI8 EQU STEXD7 ; 71 PICKI9 EQU STEXD8 ; 72 PICKJ0 EQU STEXD9 ; 73 PICKJ1 EQU STEXE0 ; 74 PICKJ2 EQU STEXE1 ; 75 PICKJ3 EQU STEXE2 ; 76 PICKJ4 EQU STEXE3 ; 77 PICKJ5 EQU STEXE4 ; 78 PICKJ6 EQU STEXE5 ; 79 PICKJ7 EQU STEXE6 ; 80 PICKJ8 EQU STEXE7 ; 81 PICKJ9 EQU STEXE8 ; 82 PICKK0 EQU STEXE9 ; 83 PICKK1 EQU STEXF0 ; 84 PICKK2 EQU STEXF1 ; 85 PICKK3 EQU STEXF2 ; 86 PICKK4 EQU STEXF3 ; 87 PICKK5 EQU STEXF4 ; 88 PICKK6 EQU STEXF5 ; 89 BOXML DB >PICK00,>PICK01,>PICK02 DB >PICK03,>PICK04,>PICK05 DB >PICK06,>PICK07,>PICK08 DB >PICK09,>PICK10,>PICK11 DB >PICK12,>PICK13,>PICK14 DB >PICK15,>PICK16,>PICK17 DB >PICK18,>PICK19,>PICK20 DB >PICK21,>PICK22,>PICK23 DB >PICK24,>PICK25,>PICK26 DB >PICK27,>PICK28,>PICK29 DB >PICK30,>PICK31,>PICK32 DB >PICK33,>PICK34,>PICK35 DB >PICK36,>PICK37,>PICK38 DB >PICK39,>PICK40,>PICK41 DB >PICK42,>PICK43,>PICK44 DB >PICK45,>PICK46,>PICK47 DB >PICK48,>PICK49,>PICK50 DB >PICK51,>PICK52,>PICK53 DB >PICK54,>PICK55,>PICK56 DB >PICK57,>PICK58,>PICK59 DB >PICK60,>PICK61,>PICK62 DB >PICK63,>PICK64,>PICK65 DB >PICK66,>PICK67,>PICK68 DB >PICK69,>PICK70,>PICK71 DB >PICK72,>PICK73,>PICK74 DB >PICK75,>PICK76,>PICK77 DB >PICK78,>PICK79,>PICK80 DB >PICK81,>PICK82,>PICK83 DB >PICK84,>PICK85,>PICK86 DB >PICK87,>PICK88,>PICK89 DB >PICK90,>PICK91,>PICK92 DB >PICK93,>PICK94,>PICK95 DB >PICK96,>PICK97,>PICK98 DB >PICK99,>PICKA0,>PICKA1 DB >PICKA2,>PICKA3,>PICKA4 DB >PICKA5,>PICKA6,>PICKA7 DB >PICKA8,>PICKA9,>PICKB0 DB >PICKB1,>PICKB2,>PICKB3 DB >PICKB4,>PICKB5,>PICKB6 DB >PICKB7,>PICKB8,>PICKB9 DB >PICKC0,>PICKC1,>PICKC2 DB >PICKC3,>PICKC4,>PICKC5 DB >PICKC6,>PICKC7,>PICKC8 DB >PICKC9,>PICKD0,>PICKD1 DB >PICKD2,>PICKD3,>PICKD4 DB >PICKD5,>PICKD6,>PICKD7 DB >PICKD8,>PICKD9,>PICKE0 DB >PICKE1,>PICKE2,>PICKE3 DB >PICKE4,>PICKE5,>PICKE6 DB >PICKE7,>PICKE8,>PICKE9 DB >PICKF0,>PICKF1,>PICKF2 DB >PICKF3,>PICKF4,>PICKF5 DB >PICKF6,>PICKF7,>PICKF8 DB >PICKF9,>PICKG0,>PICKG1 DB >PICKG2,>PICKG3,>PICKG4 DB >PICKG5,>PICKG6,>PICKG7 DB >PICKG8,>PICKG9,>PICKH0 DB >PICKH1,>PICKH2,>PICKH3 DB >PICKH4,>PICKH5,>PICKH6 DB >PICKH7,>PICKH8,>PICKH9 DB >PICKI0,>PICKI1,>PICKI2 DB >PICKI3,>PICKI4,>PICKI5 DB >PICKI6,>PICKI7,>PICKI8 DB >PICKI9,>PICKJ0,>PICKJ1 DB >PICKJ2,>PICKJ3,>PICKJ4 DB >PICKJ5,>PICKJ6,>PICKJ7 DB >PICKJ8,>PICKJ9,>PICKK0 DB >PICKK1,>PICKK2,>PICKK3 DB >PICKK4,>PICKK5,>PICKK6 BOXMH DB MOVE ; 1 DB >EXAMINE ; 2 DB >LOOK ; 3 DB >STATUS ; 4 DB >OBJECTS ; 5 DB >ACTIONS ; 6 DB >HITUKKO ; 7 DB >INVEN ; 8 DB >ATTACK ; 9 DB >OK ; 10 DB >YES,>NO ; 11 TO 12 DB >OVER ; 13 DB >MN,>MNE,>ME,>MSE,>MS,>MSW,>MW,>MNW ; 14 TO 21 DB >PICKUP,>DROP,>TAKE,>PUTIN,>PUTON ; 22 TO 26 DB >OPEN,>CLOSE,>GIVETO,>TAKE,>EAT ; 27 TO 36 DB >ASK,>USE,>REST,>DRINKA,>GIVEUP DB >AROUND,>LOOKIT,>LOOKON ; 37 TO 39 DB >WRP,>KIK,>DUK,>PNCH,>SWN DB >LEP,>BEHD,>DEFN,>DODG,>THRO,>SHT JMPTH DB EXAM,>PIK,>DRP,>TAK,>TAK2 DB >PUTN,>PUTN2 DB >PUTO,>OPN,>CLO,>GVTO DB >ET,>US,>US2,>LOK,>LOKN ITMTH DB OBJ1 STA TEMPM+0 LDA #0 ; TO SEE IF STA WHATS ; PRINT ANYTHING GOT LDY #0 LDA (TEMPM),Y ; CHECK FOR END CMP #255 ; IF NOT BEQ ENDOS ; X = PICTURE TAX ; SAVES RE_LOAD INY LDA (TEMPM),Y ; HAS ITEM WHOME CMP #255 ; SMC BNE ELSW ; IS SO THEN LDA #255 ; TELL IF STA WHATS ; GOT ANYTHING JSR WINDOW ; SHOW ITEM ELSW LDA TEMPM+0 CLC ADC #4 STA TEMPM+0 ; GET NEXT BCC GOT ; OBJECT MEM INC TEMPM+1 BNE GOT ; ALLWAYS ENDOS RTS ; END OF SEARCH ; ************* 9 ************* BLOCK ATTACK JSR FACE JSR CLEARB JSR FADEO JSR ATTK LDX #>K0 LDY #SP1,>SP2,>SP3,>SP4 DB >SP5,>SP6,>SP7,>SP8 ADVTH DB K3 LDY #K2 LDY #K4 LDY #K7 LDY #S1 LDY #K1 LDY #K5 LDY #K6 LDY #&E330 STA SCN LDA #TEXTBUF STA BOXM :LOOP2 LDY XS LDA BSEED,Y ASL A ASL A CLC ADC BSEED,Y CLC ADC #21 STA BSEED,Y STA TMP AND #%00000111 TAX ;MASK LDA TMP AND #%00111000 LSR A LSR A LSR A TAY ;CHARPOS LDA (SCN),Y ;SCREEN AND IPIX,X STA TMP LDA (BOXM),Y ;BUFFER AND PIX,X ORA TMP STA (SCN),Y ;SCREEN LDX #8 INC YS LDA YS CMP #13 BCC PER LDX #&E0 LDA #0 STA YS PER TXA CLC ADC SCN STA SCN BCC HER INC SCN+1 HER LDA BOXM CLC ADC #8 STA BOXM BCC NOC1 INC BOXM+1 NOC1 DEC XS BNE :LOOP2 DEC L BNE :LOOP RTS ; FADE OUT ALL SCROLLING ; OPTIONS BLOCK FADEO LDA #64 STA L :LOOP LDA #0 STA YS LDA #14*17 ; 14 X 17 Y STA XS LDA #<&E510 STA SCN+1 LDA #>&E510 STA SCN+0 :LOOP2 LDY XS LDA BSEED,Y ASL A ASL A CLC ADC BSEED,Y CLC ADC #21 STA BSEED,Y STA TMP AND #7 TAX ; MASK LDA TMP AND #&38 LSR A LSR A LSR A TAY ; CHAR LDA (SCN),Y ; SCREEN AND IPIX,X STA (SCN),Y ; SCREEN LDX #8 INC YS LDA YS CMP #14 BCC WPER LDA #0 STA YS LDX #&D8 WPER TXA CLC ADC SCN STA SCN BCC WHER INC SCN+1 WHER DEC XS BNE :LOOP2 DEC L BNE :LOOP RTS ; FADE ONE OPTION LINE BLOCK FADEL LDA #64 STA L LDY WHATY LDA YMEMTL,Y STA LOWB+1 LDA YMEMTH,Y STA HIGB+1 :LOOP LDA #14 ; CHARACTERS X STA XS HIGB LDA #&65 STA SCN+1 LOWB LDA #&10 STA SCN+0 LDA SYNC DSE CMP SYNC BEQ DSE :LOOP2 LDY XS LDA BSEED,Y ASL A ASL A CLC ADC BSEED,Y CLC ADC #21 STA BSEED,Y STA TMP AND #7 TAX ; MASK LDA TMP AND #&38 LSR A LSR A LSR A TAY ; CHAR LDA (SCN),Y ; SCREEN AND IPIX,X STA (SCN),Y ; SCREEN LDA SCN CLC ADC #8 STA SCN BCC HREW INC SCN+1 HREW DEC XS BNE :LOOP2 DEC L BNE :LOOP RTS ; PRINT TEXT MESSAGE FOR TOP ; RIGHT SIDE OF SCREEN ; DISCRIPTION PTEXT LDY #8 LDA (MAPD),Y TAX INY LDA (MAPD),Y TAY WHATIW STX MESAGE+0 ; WHERE LOW STY MESAGE+1 ; WHERE HIGH LDY #0 TYA CLF STA TEXTBUF+&000,Y STA TEXTBUF+&100,Y DEY BNE CLF LDY #&6F ANR STA TEXTBUF+&200,Y DEY BPL ANR LDA #TEXTBUF STA TEMP+0 STA SCN+0 PLEN LDY #0 LDA (MESAGE),Y BMI TOKEN CMP #14 ; 255 ? BNE SMARK FAA JMP FADET ; FADE TEXT SMARK CMP #13 BNE TRTO LDA SCN+0 CLC ADC #8*13 ; X CHARS STA SCN+0 STA TEMP+0 LDA SCN+1 ADC #0 STA SCN+1 STA TEMP+1 JMP CAT TRTO JSR WRITE CAT INC MESAGE+0 BNE PLEN INC MESAGE+1 JMP PLEN TOKEN STA L LDA #>COMPT STA MIKE2+0 LDA #(CHSET-(32*8)) STA MIKE1 LDA MIKE1+1 ADC #<(CHSET-(32*8)) STA MIKE1+1 LDY #7 PLCHAR3 LDA (MIKE1),Y STA (TEMP),Y DEY BPL PLCHAR3 RTS YMEMTL DB &10,&50,&90,&D0 DB &10,&50,&90,&D0 DB &10,&50,&90,&D0 DB &10,&50,&90,&D0 DB &10 YMEMTH DB &E5,&E6,&E7,&E8 DB &EA,&EB,&EC,&ED DB &EF,&F0,&F1,&F2 DB &F4,&F5,&F6,&F7 DB &F9 ; COMPACT TABLE COMPT DATA &80,"VILLAGE" DATA &81,"YOU ARE ON A" DATA &82,"WHICH" DATA &83,"AND" DATA &84,"YOU STAND" DATA &85,"THIS IS A" DATA &86,"TO THE NORTH" DATA &87,"CAN BE SEEN" DATA &88,"PATH" DATA &89,"NORTH" DATA &8A,"SOUTH EAST" DATA &8B,"SOUTH" DATA &8C,"EAST" DATA &8D,"WEST" DATA &8E,"NORTH WEST" DATA &8F,"THE" DATA &90,"MOUNTAINS" DATA &91,"YOU" DATA &92,"YOU ARE AT" DATA &93,"YOU CAN" DATA &94,"TO THE" DATA &95,"TO" DATA &96,"THIS " DATA &97,"SEEN " DATA &98,"CAN" DATA &99," ARE " DATA &9A,"IN" DATA &9B,"IS" DATA &9C,"OF" DATA &9D,"ON" DATA &9E,"ING" DATA 255 ; DISCRIPTIONS FOR ALL ; THE LOCATIONS ; " " STARTM DATA " SLAINE",13 DATA " COPYRIGHT",13 DATA "MARTECH 1987",13 DATA "BY M ARCHER",13 DATA "OF CREATIVE",13 DATA "REALITY......",14 ; START OF ATTACK K0 DATA 13 DATA "YOU SCREAM A",13 DATA "PIERCING CRY",13 DATA "AS YOU PLUNGE",13 DATA "INTO BATTLE.",14 ; THROW K1 DATA "YOU HURL YOUR",13 DATA "AXE, WHICH",13 DATA "CUTS INTO THE",13 DATA "ENEMY CAUSING",13 PLEB1 DATA "00 DAMAGE.",14 ; PUNCH K2 DATA "YOU ATTACK",13 DATA "THE ENEMY AND",13 DATA "HIT CAUSING",13 DATA "ONE DAMAGE.",14 ; KICK K3 DATA "YOU LAND A",13 DATA "BONECRUNCHING",13 DATA "DROP KICK,AND",13 PLEB2 DATA "CAUSE 00",13 DATA "DAMAGE.",14 ; SWING K4 DATA "YOUR MIGHTY",13 DATA "AXE PLOUGHS",13 DATA "A SWAVE",13 DATA "THROUGH THE",13 DATA "ENEMY CAUSING",13 PLEB3 DATA "00 DAMAGE.",14 ; SHOUT K5 DATA "YOU SHOUT",13 DATA "FOR UKKO, TO",13 DATA "RETURN YOUR",13 DATA "AXE, WHICH HE",13 DATA "DOES, THEN",13 DATA "SCAMPERS AWAY",14 K6 DATA "UKKO RETURN",13 DATA "MY AXE! YOU",13 DATA "CALL, 'NO ",13 DATA "CHANCE' HE",13 DATA "SHOUTS BACK!",14 ; BEHEAD K7 DATA "YOU PERFORM",13 DATA "A MIGHTY",13 DATA "SALMON LEAP",13 PLEB4 DATA "CAUSING 00",13 DATA "POINT OF ",13 DATA "DAMAGE.",14 ; " " E1 DATA 13,"THE ENEMY",13 DATA "LUNGES AT YOU",13 DATA "IN A DARING",13 DATA "ATTACK.",14 E2 DATA 13,"IT LOOKS LIKE",13 DATA "THE ENEMY IS",13 DATA "ABOUT TO",13 DATA "KICK YOU.",14 E3 DATA 13,"ONE OF THE",13 DATA "ENEMY TRYS A",13 DATA "SWIPE AT YOUR",13 DATA "HEAD.",14 E4 DATA 13,"YOU ARE HIT",13 DATA "AND WOUNDED",13 DAM1 DATA "TAKING 00",13 DATA "DAMAGE.",14 S1 DATA 13,"BY CHANCE YOU",13 DATA "MANAGED TO",13 DATA "SURVIVE THAT",13 DATA "ATTACK.",14 D0 DATA &84," ",&9D,13 DATA "A DIRT TRACK,",13 DATA "IT ",&9B," ",&9C,"TEN",13 DATA "USED JUDG",&9E,13 DATA "BY ",&8F," WELL",13 DATA "TROD EARTH.",14 D1 DATA &91,&99,&9A,13 DATA "A T",&9A,"Y",13 DATA "CHAMBER AT",13 DATA &8F," ",&95,"P ",&9C,13 DATA "SMALL SKY",13 DATA &95,"WER.",14 D2 DATA &85,13 DATA &88," WORN",13 DATA "SMOOTH BY",13 DATA &8F," PASS",&9E,13 DATA &9C," MANY",13 DATA "PEOPLE.",14 D3 DATA &85,13 DATA "SMALL BRIDGE",13 DATA "UNDER ",&82,13 DATA "RUNS A FAST",13 DATA "FLOW",&9E," BROOK",14 D4 DATA "FROM ",&96,13 DATA "HILL ",&93,13 DATA "SEE A ",&80,13 DATA &86,13 DATA &83," A SHR",&9A,"E",13 DATA &94," ",&8B,".",14 D5 DATA "LOOK",&9E," ",&95,13 DATA &8F," ",&8B," ",&91,13 DATA &98," JUST SEE",13 DATA &8F," ST",&83,&9E,13 DATA "CIRCLE ",&9C,13 DATA "S",&95,"NES.",14 D6 DATA &8F," AIR FEELS",13 DATA "CHARGED WITH",13 DATA "MAGIC AS ",&91,13 DATA "ST",&83," WITH",&9A,13 DATA &8F," R",&9E," ",&9C,13 DATA "CROMM L",&9A,".",14 D7 DATA "A FEW SMALL",13 DATA "HOUSES ",&98," BE",13 DATA &97,"SCATTERED",13 DATA "ABOUT ",&9D," ",&8F,13 DATA "OUTSKIRTS ",&9C,13 DATA &96,&80,14 D8 DATA &91,&99,&9A," A",13 DATA "SMALL ",&80,13 DATA "PEOPLE ",&98," BE",13 DATA &97,"GO",&9E,13 DATA "ABOUT ",&8F,"IR",13 DATA "BUS",&9A,"ESS.",14 D9 DATA &96,&9B," ",&8F,13 DATA "CENTRE ",&9C," ",&8F,13 DATA &80,".",&9D," A",13 DATA "RA",&9B,"ED PLINTH",13 DATA &87," A",13 DATA "FOUNTA",&9A,".",14 D10 DATA &93," FEEL",13 DATA &8F," HEAT FROM",13 DATA &8F," SMITHY",13 DATA &94," ",&8D,14 D11 DATA "WHILE ",&91,13 DATA "ST",&83," HERE",13 DATA "MANY PEOPLE",13 DATA &87,13 DATA "HEAD",&9E,13 DATA &8A,".",14 D12 DATA &91,&99,"NOW",13 DATA "OUTSIDE ",&8F,13 DATA "ALE HOUSE,",13 DATA &82," ",&98," BE",13 DATA "ENTERED ",&94,13 DATA &8C,".",14 D13 DATA &93," SEE",13 DATA "A FEW HUTS",13 DATA &9C,"F ",&94,13 DATA &8E,14 D14 DATA &92,13 DATA &89,"EN SIDE",13 DATA "SIDE ",&9C," ",&8F,13 DATA &80,".",14 D15 DATA &96," ",&9B," ",&8F,13 DATA &9A,"SIDE ",&9C,13 DATA "A HUT,",&91,13 DATA "HAD BETTER GO",13 DATA "BEFORE SOME",13 DATA "BODY SEES ",&91,14 D16 DATA &92,13 DATA "CROSSROADS,",13 DATA &88," LEAD",13 DATA &9A," FOUR",13 DATA "DIRECTI",&9D,"S.",14 D17 DATA &91," GAZE ",&9A,13 DATA "AWE AT ",&8F,13 DATA "RANGE ",&9C,13 DATA &90,13 DATA &84,13 DATA "BEFORE.",14 D18 DATA &8F," ",&88," ENDS",13 DATA "HERE.BUT A",13 DATA "DARK M",&9A,"E",13 DATA "C",&9D,"T",&9A,"UES",13 DATA &9A,&94,13 DATA &90,".",14 D19 DATA &94," ",&8B,13 DATA &9B," A ",&95,"RRID",13 DATA "RIVER.",&94,13 DATA &8C," ",&9B," A",13 DATA "SMALL JETTY.",14 D20 DATA &96,"JETTY",13 DATA "PROTRUDES A",13 DATA "LITTLE ",&9A,&95,13 DATA &8F," RIVER.",&8F,14 D21 DATA &8F," AIR ",&9A,13 DATA &96,"SWAMP ",&9B,13 DATA "SO THICK",13 DATA "NOTH",&9E," ",&98,13 DATA "BE ",&97,&9A,13 DATA "ANY DIRECTI",&9D,14 D22 DATA &8F," HIGH GODS",13 DATA &90," LIE",13 DATA "BEFORE ",&91," ",&95,13 DATA &8F," ",&89,".",14 D23 DATA "AS ",&91," ENTER",13 DATA &96,"NARROW",13 DATA "PASS ",&91," GET",13 DATA "TREMENDOUS",13 DATA "FEEL",&9E," ",&9C,13 DATA "MAGIC.",14 D24 DATA "AN ARCH ",&98,13 DATA "BE ",&97,&95,13 DATA &8F," NW.CARVED",13 DATA "OUT ",&8C," ",&8F,13 DATA "S",&95,"NE ",&9C," ",&8F,13 DATA &90,".",14 D25 DATA &96," ",&9B," WHAT",13 DATA &9D,"CE WAS A",13 DATA "THRIV",&9E,13 DATA "SETTLEMENT",13 DATA "NOW ITS JUST",13 DATA "WRECKAGE.",14 D26 DATA "FROM ",&91,"R",13 DATA "VANTAGE PO",&9A,"T",13 DATA &9D," ",&8F," BRIDGE",13 DATA &93," SEE A",13 DATA "HUGE LAKE",13 DATA &8C," ",&9C," HERE",14 D27 DATA &92,13 DATA "SOME K",&9A,"D ",&9C,13 DATA "BURIEL GROUND",13 DATA &85,13 DATA "A MOUND ",&95,13 DATA &8C,".",14 D28 DATA &84,13 DATA "WITH",&9A," A",13 DATA &95,"MB ",&8F,"RE ",&9B,13 DATA "A C",&9C,"F",&9A," HERE",14 D29 DATA &91,&99,"JUST",13 DATA &9A,"SIDE ",&8F,13 DATA "MOUTH ",&9C," A",13 DATA "M",&9A,"E,LIGHT",13 DATA "POURS ",&9A," ",&95,13 DATA &8F," SW.",14 D30 DATA "IT ",&9B," EASY",13 DATA &95," GET LOST",13 DATA &9A," ",&96,"MAZE",13 DATA "LIKE M",&9A,"E",14 D31 DATA &91," ARIVE AT",13 DATA "A DEAD END,",13 DATA "OBVIOUSLY AN",13 DATA "UNSUCCESSFUL",13 DATA "SEAM.",14 D32 DATA &96,&9B," ",&8F,13 DATA "END ",&9C," ",&8F,13 DATA "M",&9A,"E,",&8F,13 DATA "GROUND ",&9B,13 DATA "S",&9C,"T AFTER",13 DATA "MUCH DIGG",&9E,".",14 D33 DATA "AS ",&91," ENTER",13 DATA &96,"F",&9A,"ELY",13 DATA "DECORATED",13 DATA "CORRIDOR ",&91,13 DATA &98," FEEL ",&8F,13 DATA "STR",&9E," MAGIC",14 D34 DATA "WATER SEEPS",13 DATA "FROM ",&8F," ROCK",13 DATA "LIKE WALLS ",&9C,13 DATA &96,"ROOM AND",13 DATA "D",&9B,"SEEPS AT",13 DATA &8F," FLOOR.",14 D35 DATA "ALL ",&93,13 DATA "HEAR ",&9B," ",&8F,13 DATA "SOUND ",&9C,13 DATA "RUSH",&9E," W",&9A,"D",13 DATA "BUT ",&91," ",&98,"T",13 DATA "FEEL A TH",&9E,14 D36 DATA "EVERYTH",&9E,13 DATA "SEEMS BLURRED",13 DATA &9A," ",&8F,13 DATA "STIFL",&9E," HEAT",13 DATA "FROM TH",&9B,13 DATA "CHAMBER.",14 D37 DATA &96,"ROOM",13 DATA &9B," OBVIOUSLY",13 DATA "CARVED FROM",13 DATA &8F," GRANITE",13 DATA "ROCK ",&9C," TH",&9B,13 DATA &90,".",14 D38 DATA &96,"PLACE",13 DATA "SEEMS ",&95,13 DATA "D",&9B,"APPEAR",13 DATA &94," N.S.E",13 DATA &83," W.ARCHES",13 DATA "LEAD NE.SE.",14 D39 DATA &8F," CORRIDOR",13 DATA "ENDS ABRUPTLY",13 DATA &94," NE.BUT",13 DATA &8F," OUTL",&9A,"E",13 DATA &9C," AN ARCH",13 DATA &87,14 D40 DATA &84," AT",13 DATA &8F," BASE ",&9C,13 DATA &8F," ",&95,"WER,",13 DATA &8F," ",&95,"P ",&9B,13 DATA "HIDDEN ",&9A," ",&8F,13 DATA "CLOUDS.",14 D41 DATA &91,&99,&9D,13 DATA "SKYWATCH",13 DATA &9B,"L",&83,",",&8F,13 DATA "OBSERVA",&95,"RY",13 DATA &9B," ",&85," ",&8F,13 DATA &8C,".",14 D42 DATA &96,&9B," ",&8F,13 DATA "GROUND FLOOR",13 DATA "A SPIRAL",13 DATA "STAIRWAY LEADS",13 DATA "EAST UP ",&9A,&95,13 DATA "DARKNESS",14 D43 DATA &84," AT",13 DATA &8F," MIDDLE",13 DATA "FLOOR,STAIRS",13 DATA "GO UP ",&95," ",&8F,13 DATA &8C," ",&83," DOWN",13 DATA &95," ",&8F," ",&8D,14 D44 DATA &91," BREATH",13 DATA "DEEPLY ",&8F,13 DATA "FRESH",&99,"AS",13 DATA &84," ",&9D,13 DATA &8F," RO",&9C,".",14 D45 DATA &8F," HEAT FROM",13 DATA &8F," FURNACE",13 DATA &9B," ALMOST",13 DATA "UNBEARABLE",13 DATA &8F," STREET ",&9B,13 DATA &94," ",&8C,".",14 D46 DATA &84," ",&9A,13 DATA &8F," ENTRANCE",13 DATA &95," ",&8F," LOCAL",13 DATA "HANGOUT.",14 D47 DATA &96," ",&9B," ",&8F,13 DATA &8C," SIDE ",&9C,13 DATA &8F," ROOM,",13 DATA &8F,"RE ",&9B,13 DATA "A L",&9D,"G BAR",13 DATA "HERE.",14 D48 DATA &8F,"RE SEEMS",13 DATA &95," BE SOME",13 DATA "SORT ",&9C," ALE",13 DATA "DR",&9A,"K",&9E,13 DATA "C",&9D,"TEST GO",&9E,13 DATA &9D," HERE.",14 ; LOCATION MAP DATA ; FORMAT IS ; N,NE,E,SE,S,SW,W,NW ; 2 BYTE DESCRIPTION & PIC. NO. ; 255 IF YOU CANT GO IN THAT ; DIRECTION ELSE THEN ROOM ; YOU WILL GO INTO R1 DB 0,9,0,0,0,2,0,0 DW D0 ; TEXPATH1 DB 12 R2 DB 0,1,0,0,0,3,0,0 DW D3 ; TEXLOC2 DB 0 R3 DB 0,2,0,4,0,0,0,0 DW D2 ; TEXPATH2 DB 12 R4 DB 0,0,5,0,6,7,0,3 DW D4 ; TEXLOC 4 DB 0 R5 DB 0,0,5,0,0,0,4,0 DW D0 ; TEXPATH1 DB 0 R6 DB 4,0,0,0,8,0,0,0 DW D5 ; TEXLOC6 DB 0 ; STONE HENGE CAN SEE R7 DB 0,4,0,0,0,7,0,0 DW D2 ; TEXPATH2 DB 0 R8 DB 6,0,0,0,0,0,0,0 DW D6 ; TEXLOC8 DB 19 ; AT STONE HENGE R9 DB 0,10,0,0,0,1,0,0 DW D7 ; TEXLOC9 DB 11 R10 DB 0,13,0,0,0,9,0,0 DW D8 ; TEXLOC10 DB 11 R11 DB 13,0,0,0,12,0,0,0 DW D8 ; TEXLOC10 DB 11 R12 DB 11,0,0,0,33,0,0,0 DW D7 ; TEXLOC9 DB 11 R13 DB 19,20,15,0,11,10,14,18 DW D9 ; TEXLOC13 DB 11 R14 DB 0,0,13,0,0,0,110,0 DW D10 ; TEXLOC14 DB 11 R15 DB 20,0,0,16,0,0,13,0 DW D11 ; TEXLOC15 DB 11 R16 DB 0,0,112,0,0,0,0,15 DW D12 ; TEXLOC16 DB 11 R17 DB 0,0,18,0,0,0,0,0 DW D15 ; TEXLOC22 DB 0 R18 DB 22,0,19,13,0,0,17,21 DW D13 ; TEXLOC18 DB 11 R19 DB 0,0,0,0,13,0,18,0 DW D14 ; TEXLOC19 DB 11 R20 DB 0,23,0,0,15,13,0,0 DW D8 ; TEXLOC10 DB 11 R21 DB 0,0,0,18,0,0,0,0 DW D15 ; TEXLOC22 DB 0 R22 DB 0,0,0,0,18,0,0,0 DW D15 ; TEXLOC22 DB 0 R23 DB 0,24,0,0,0,20,0,0 DW D7 ; TEXLOC9 DB 11 R24 DB 0,25,0,0,0,23,0,36 DW D2 ; TEXPATH2 DB 11 R25 DB 0,26,0,0,0,24,0,0 DW D0 ; TEXPATH1 DB 0 R26 DB 0,27,0,54,0,25,0,30 DW D16 ; TEXLOC26 DB 10 R27 DB 0,28,0,0,0,26,0,0 DW D2 ; TEXPATH2 DB 0 R28 DB 29,0,0,0,0,27,0,0 DW D0 ; TEXPATH1 DB 0 R29 DB 0,0,0,0,28,0,0,0 DW D17 ; TEXLOC29 DB 0 R30 DB 31,0,0,26,0,0,0,0 DW D2 ; TEXPATH2 DB 0 R31 DB 32,0,0,0,30,0,0,0 DW D0 ; TEXPATH1 DB 12 R32 DB 0,82,0,0,0,31,0,0 DW D18 ; TEXLOC32 DB 13 ; MINE ENTRANCE R33 DB 12,0,0,0,34,0,0,0 DW D0 ; TEXPATH1 DB 0 R34 DB 33,0,35,0,0,0,0,0 DW D19 ; TEXLOC34 DB 0 R35 DB 0,0,0,0,0,0,34,0 DW D20 ; TEXLOC35 DB 0 R36 DB 0,0,0,24,0,0,37,46 DW D21 ; TEXLOC36 DB 0 R37 DB 0,0,36,0,0,0,38,45 DW D21 ; TEXLOC36 DB 0 R38 DB 45,46,37,0,0,0,39,0 DW D21 ; TEXLOC36 DB 0 R39 DB 0,45,38,0,42,41,0,43 DW D21 ; TEXLOC36 DB 0 R40 DB 43,0,0,0,41,0,0,0 DW D21 ; TEXLOC36 DB 0 R41 DB 40,39,0,0,0,0,0,0 DW D21 ; TEXLOC36 DB 0 R42 DB 39,0,0,0,0,0,0,0 DW D21 ; TEXLOC36 DB 0 R43 DB 0,48,0,39,40,0,0,0 DW D22 ; TEXLOC43 DB 0 R44 DB 48,49,0,0,0,0,0,0 DW D21 ; TEXLOC36 DB 0 R45 DB 0,50,0,37,38,39,0,48 DW D21 ; TEXLOC36 DB 0 R46 DB 50,0,47,36,0,38,0,0 DW D21 ; TEXLOC36 DB 0 R47 DB 0,0,0,0,0,0,46,0 DW D21 ; TEXLOC36 DB 0 R48 DB 0,0,49,45,44,43,0,0 DW D17 ; TEXLOC29 DB 0 R49 DB 0,0,50,0,0,44,48,0 DW D22 ; TEXLOC43 DB 0 R50 DB 0,0,51,0,46,45,49,0 DW D17 ; TEXLOC29 DB 0 R51 DB 0,0,0,0,0,0,50,52 DW D22 ; TEXLOC43 DB 0 R52 DB 0,0,0,51,0,0,0,53 DW D23 ; TEXLOC52 DB 0 R53 DB 0,0,0,52,0,0,0,0 DW D24 ; TEXLOC53 DB 8 ; DOOR CLOSED/OPEN R54 DB 0,0,0,0,55,0,0,26 DW D2 ; TEXPATH2 DB 0 R55 DB 54,0,0,56,0,0,0,0 DW D0 ; TEXPATH1 DB 10 R56 DB 0,0,0,0,57,0,0,55 DW D2 ; TEXPATH2 DB 0 R57 DB 56,0,0,0,58,0,0,0 DW D0 ; TEXPATH1 DB 0 R58 DB 57,0,67,0,70,72,0,0 DW D25 ; TEXLOC58 DB 15 ; BURNED VILLAGE R59 DB 0,0,0,53,0,0,0,62 DW D33 ; TEXLOC109 DB 0 R60 DB 62,0,0,0,0,0,0,0 DW D34 ; TEXLOC110 DB 0 R61 DB 0,0,62,0,0,0,0,0 DW D1 ; TEXLOC111 DB 0 R62 DB 64,65,63,59,60,0,61,0 DW D38 ; TEXLOC112 DB 0 R63 DB 0,0,0,0,0,0,62,0 DW D36 ; TEXLOC113 DB 0 R64 DB 0,0,0,0,62,0,0,0 DW D37 ; TEXLOC114 DB 0 R65 DB 0,109,0,0,0,62,0,0 DW D39 ; TEXLOC115 DB 0 R66 DB 0,0,0,0,0,0,0,0 DW D41 ; TEXLOC118 DB 14 ; OBSERVETORY R67 DB 0,0,68,0,0,0,58,0 DW D2 ; TEXPATH2 DB 0 R68 DB 0,69,0,0,0,0,67,0 DW D0 ; TEXPATH1 DB 12 R69 DB 0,69,0,0,0,68,0,0 DW D2 ; TEXPATH2 DB 0 R70 DB 58,0,0,0,71,0,0,0 DW D2 ; TEXPATH2 DB 10 R71 DB 70,0,0,0,0,74,0,0 DW D26 ; TEXLOC71 DB 0 R72 DB 0,58,0,0,73,0,0,0 DW D0 ; TEXPATH1 DB 0 R73 DB 72,0,0,0,74,0,0,0 DW D3 ; TEXLOC2 DB 12 R74 DB 73,71,0,77,0,75,0,0 DW D16 ; TEXLOC26 DB 0 R75 DB 0,74,0,0,0,75,0,0 DW D0 ; TEXPATH1 DB 0 R76 DB 0,0,80,0,0,0,66,0 DW D42 ; TEXLOC119 DB 0 R77 DB 0,0,78,0,0,0,0,74 DW D0 ; TEXPATH1 DB 0 R78 DB 0,0,0,0,0,0,77,0 DW D27 ; TEXLOC78 DB 20 ; BURIEL GROUND GRAVEYARD ? R79 DB 0,0,0,0,0,0,78,0 DW D28 ; TEXLOC79 DB 0 R80 DB 0,0,81,0,0,0,76,0 DW D43 ; TEXLOC120 DB 0 R81 DB 0,0,0,0,0,0,80,0 DW D44 ; TEXLOC121 DB 0 R82 DB 0,83,0,0,0,32,0,0 DW D29 ; TEXLOC82 DB 0 R83 DB 0,84,0,0,0,82,0,0 DW D30 ; TEXLOC83 DB 0 R84 DB 0,0,85,0,0,83,0,0 DW D30 ; TEXLOC83 DB 0 R85 DB 89,0,0,0,0,0,84,0 DW D30 ; TEXLOC83 DB 0 R86 DB 90,0,0,0,0,0,0,0 DW D31 ; TEXLOC86 DB 0 R87 DB 92,93,0,0,0,0,0,0 DW D30 ; TEXLOC83 DB 0 R88 DB 0,94,89,0,0,0,0,0 DW D30 ; TEXLOC83 DB 0 R89 DB 0,0,0,0,85,0,88,0 DW D30 ; TEXLOC83 DB 0 R90 DB 95,0,0,0,86,0,0,0 DW D30 ; TEXLOC83 DB 0 R91 DB 0,97,92,0,0,0,0,0 DW D30 ; TEXLOC83 DB 0 R92 DB 0,0,0,0,87,0,91,0 DW D30 ; TEXLOC83 DB 0 R93 DB 98,0,0,0,0,87,0,0 DW D30 ; TEXLOC83 DB 0 R94 DB 0,0,95,0,0,88,0,0 DW D30 ; TEXLOC83 DB 0 R95 DB 0,0,96,0,90,0,94,0 DW D30 ; TEXLOC83 DB 0 R96 DB 0,0,97,0,0,0,95,0 DW D30 ; TEXLOC83 DB 0 R97 DB 0,0,0,0,0,91,96,0 DW D30 ; TEXLOC83 DB 0 R98 DB 0,0,0,0,93,0,0,102 DW D30 ; TEXLOC83 DB 0 R99 DB 104,0,0,0,0,0,0,0 DW D32 ; TEXLOC99 DB 0 R100 DB 0,0,101,0,0,0,0,0 DW D31 ; TEXLOC86 DB 0 R101 DB 0,0,102,0,0,0,100,0 DW D30 ; TEXLOC83 DB 0 R102 DB 0,108,0,98,0,0,101,0 DW D30 ; TEXLOC83 DB 0 R103 DB 0,0,0,0,0,0,0,0 DW D30 ; TEXLOC83 DB 0 R104 DB 0,0,105,0,99,0,0,0 DW D30 ; TEXLOC83 DB 0 R105 DB 0,0,106,0,0,0,104,0 DW D30 ; TEXLOC83 DB 0 R106 DB 0,0,107,0,0,0,105,0 DW D30 ; TEXLOC83 DB 0 R107 DB 0,0,108,0,0,0,106,0 DW D30 ; TEXLOC83 DB 0 R108 DB 0,0,0,0,0,102,107,0 DW D30 ; TEXLOC83 DB 0 R109 DB 111,0,0,53,0,0,0,0 DW D40 ; TEXLOC117 DB 0 R110 DB 0,0,14,0,0,0,0,0 DW D45 ; TEXLOC122 DB 0 R111 DB 0,0,0,0,109,0,0,0 DW D1 ; TEXLOC61 DB 0 R112 DB 0,114,113,0,0,0,16,0 DW D46 ; TEXLOC123 DB 0 R113 DB 114,0,0,0,0,0,112,0 DW D47 ; TEXLOC124 DB 0 R114 DB 0,0,0,0,113,112,0,0 DW D48 ; TEXLOC126 DB 0 MAPPL DB 0,>R1,>R2,>R3,>R4 DB >R5,>R6,>R7,>R8,>R9 DB >R10,>R11,>R12,>R13,>R14 DB >R15,>R16,>R17,>R18,>R19 DB >R20,>R21,>R22,>R23,>R24 DB >R25,>R26,>R27,>R28,>R29 DB >R30,>R31,>R32,>R33,>R34 DB >R35,>R36,>R37,>R38,>R39 DB >R40,>R41,>R42,>R43,>R44 DB >R45,>R46,>R47,>R48,>R49 DB >R50,>R51,>R52,>R53,>R54 DB >R55,>R56,>R57,>R58,>R59 DB >R60,>R61,>R62,>R63,>R64 DB >R65,>R66,>R67,>R68,>R69 DB >R70,>R71,>R72,>R73,>R74 DB >R75,>R76,>R77,>R78,>R79 DB >R80,>R81,>R82,>R83,>R84 DB >R85,>R86,>R87,>R88,>R89 DB >R90,>R91,>R92,>R93,>R94 DB >R95,>R96,>R97,>R98,>R99 DB >R100,>R101,>R102,>R103,>R104 DB >R105,>R106,>R107,>R108,>R109 DB >R110,>R111,>R112,>R113,>R114 MAPPH DB 0,