Mercurial > hg > Members > kono > nitros9-code
view 3rdparty/packages/sierra/objs_lsl/mnln.asm @ 2822:4ffb283f6233 lwtools-port
Forgot to add to makefile
author | Boisy Pitre <boisy.pitre@nuance.com> |
---|---|
date | Wed, 22 May 2013 17:04:29 -0500 |
parents | 756d16d2d9af |
children | f41c4caac519 |
line wrap: on
line source
******************************************************************** * MNLN - Kings Quest III main line module * * $Id$ * * Header for : mnln * Module size: $6372 #25458 * Module CRC : $81A0CC (Good) * Hdr parity : $39 * Exec. off : $0012 #18 * Data size : $0000 #0 * Edition : $00 #0 * Ty/La At/Rv: $11 $81 * Prog mod, 6809 Obj, re-ent, R/O * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 0 2003/03/06 Paul W. Zibaila * Disassembly of original distribution; assembles to original mnln. * * NitrOS-9 has switched from the original to the code from Leisure Suit Larry. Paul's comments * are mostly still believed to be accurate but locations may have moved and some things are likely wrong. * * New version disassembled 2010/03/28 11:51:53 by Disasm v1.5 (C) 1988 by RML * April 10, 2010 - Code that writes to $FF20 was changed to prevent RS-232 line from trashing. * The I/O port gets changed to make RS-232 an input. * This solves multiple problems with DW3 application. Robert Gault * April 28, 2010 - Adjusting the RS-232 input direction seems to cause other problems, probably at the other * end of the RS-232 connection. I've gone back to masking the bit at $FF20. RG * >$0154 flag for using extended lookups * >$0541 joystick button status * >$0532 vol_handle_table * >$05B9 input_edit_disabled StdIn equ 0 StdOut equ 1 StdErr equ 2 * equates for direct page vars * shared with sierra module u0000 equ $00 holds size of data block u0009 equ $09 sierra - offset from entry to the routine for the remap call u000A equ $0A u0019 equ $19 scrn - offset from entry to the routine for the remap call u0021 equ $21 shdw - offset from entry to the routine for the remap call u0022 equ $22 sierra remap value holder u0026 equ $26 scrn remap value holder u0028 equ $28 shdw remap value holder u002C equ $2C u002E equ $2E u0030 equ $30 u0032 equ $32 u0034 equ $34 u0036 equ $36 u0038 equ $38 u003A equ $3A u003C equ $3C u003E equ $3E u0040 equ $40 u0041 equ $41 u0042 equ $42 u0043 equ $43 u0045 equ $45 u004B equ $4B u004D equ $4D u004F equ $4F u0051 equ $51 u0053 equ $53 u0055 equ $55 u0057 equ $57 u0058 equ $58 u005C equ $5C u005F equ $5F u0062 equ $62 u0064 equ $64 u0066 equ $66 u0068 equ $68 u0069 equ $69 u006A equ $6A u006C equ $6C u006E equ $6E u006F equ $6F u0070 equ $70 u0071 equ $71 u0072 equ $72 u0073 equ $73 u0074 equ $74 u0075 equ $75 u0076 equ $76 u0077 equ $77 open path counter u0078 equ $78 path number holder u0079 equ $79 u007B equ $7B u007D equ $7D u007E equ $7E u0080 equ $80 u0081 equ $81 u0083 equ $83 u0084 equ $84 seek MSW u0086 equ $86 seek LSW u0088 equ $88 u0089 equ $89 u008B equ $8B u008C equ $8C u008D equ $8D u008E equ $8E u0090 equ $90 u0092 equ $92 u0094 equ $94 u0096 equ $96 holds joystick number u0097 equ $97 u0098 equ $98 u0099 equ $99 u009A equ $9A u009C equ $9C u009D equ $9D X0089 equ $0089 ??? X0100 equ $0100 pic_visible X0101 equ $0101 X0102 equ $0102 clock_state X0154 equ $0154 flag for extended table look up X0155 equ $0155 X0157 equ $0157 X0158 equ $0158 X0159 equ $0159 X015A equ $015A X015B equ $015B X015C equ $015C X0167 equ $0167 X0172 equ $0172 X0173 equ $0173 X0176 equ $0176 X0177 equ $0177 X0178 equ $0178 X0179 equ $0179 X017B equ $017B X017C equ $017C X017D equ $017D X017E equ $017E X017F equ $017F X0180 equ $0180 X01A9 equ $01A9 X01AB equ $01AB X01AD equ $01AD state.block_state X01AE equ $01AE state.cursor X01AF equ $01AF state.flag X01B0 equ $01B0 state.flag X01B1 equ $01B1 X01D6 equ $01D6 X01D7 equ $01D7 X01D8 equ $01D8 X023D equ $023D state.block_x2 X023E equ $023E state.block_y2 X0240 equ $0240 X0241 equ $0241 state.pic_num X0242 equ $0242 X0244 equ $0244 state.script_saved X0245 equ $0245 state.script_count X0246 equ $0246 X0247 equ $0247 state.status_state X0248 equ $0248 X0249 equ $0249 X024B equ $024B X024D equ $024D state.text_fg X024E equ $024E state.text_bg X024F equ $024F state.block_x1 X0250 equ $0250 state.block_y1 X0251 equ $0251 state.ego_control_state X0252 equ $0252 state.string X0432 equ $0432 state.var[] X0433 equ $0433 X0434 equ $0434 X0435 equ $0435 X0436 equ $0436 X0437 equ $0437 X0438 equ $0438 X0439 equ $0439 X043A equ $043A X043B equ $043B X043C equ $043C X043D equ $043D X043E equ $043E X043F equ $043F X0440 equ $0440 X0441 equ $0441 X0442 equ $0442 X0443 equ $0443 X0444 equ $0444 X0445 equ $0445 X0446 equ $0446 X0447 equ $0447 X0448 equ $0448 X044A equ $044A X044B equ $044B X044C equ $044C X0532 equ $0532 X0541 equ $0541 X0542 equ $0542 X0543 equ $0543 X0545 equ $0545 X0547 equ $0547 X0550 equ $0550 gfx_picbuffrotate X0551 equ $0551 given_pic_data X0553 equ $0553 display_type X05AE equ $05AE X05AF equ $05AF X05B1 equ $05B1 obj_displayed in obj_show() X05B8 equ $05B8 X05B9 equ $05B9 input_edit_disabled X05EC equ $05EC chgen_textmode X05ED equ $05ED X0659 equ $0659 XFF01 equ $FF01 hsync control XFF02 equ $FF02 keyboard col XFF03 equ $FF03 vsync control XFF20 equ $FF20 d/a, cassette & rs232 out XFF22 equ $FF22 vdg control and rs-232 in XFF23 equ $FF23 control reg XFFA9 equ $FFA9 task 1 block 2 * Program equates * Cycle Types CY_NORM equ 0 CY_END equ 1 CY_REVEND equ 2 CY_REV equ 3 * Motion Types MT_NORM equ 0 MT_WANDER equ 1 MT_FOLLOW equ 2 MT_MOVE equ 3 MT_EGO equ 4 * Loop Directions RIGHT equ $00 LEFT equ $01 DOWN equ $02 UP equ $03 IGNORE equ $04 * VIEW OBJECTS FLAGS O_DRAWN equ $01 * 0 - object has been drawn O_BLKIGNORE equ $02 * 1 - ignore blocks and condition lines O_PRIFIXED equ $04 * 2 - fixes priority agi cannot change it based on position O_HRZNIGNORE equ $08 * 3 - ignore horizon O_UPDATE equ $10 * 4 - update every cycle O_CYCLE equ $20 * 5 - the object cycles O_ANIMATE equ $40 * 6 - animated O_BLOCK equ $80 * 7 - resting on a block O_WATER equ $100 * 8 - only allowed on water O_OBJIGNORE equ $200 * 9 - ignore other objects when determining contacts O_REPOS equ $400 * 10 - set whenever a obj is repositioned * that way the interpeter doesn't check it's next movement for one cycle O_LAND equ $800 * 11 - only allowed on land O_SKIPUPDATE equ $1000 * 12 - does not update obj for one cycle O_LOOPFIXED equ $2000 * 13 - agi cannot set the loop depending on direction O_MOTIONLESS equ $4000 * 14 - no movement. * if position is same as position in last cycle then this flag is set. * follow/wander code can then create a new direction * (ie, if it hits a wall or something) O_UNUSED equ $8000 nam mnln ttl program module ifp1 use defsfile endc tylg set Prgrm+Objct atrv set ReEnt+rev rev set $01 mod eom,name,tylg,atrv,start,size size equ . name equ * fcs /mnln/ fcb $00 * This module is linked to in sierra * upon entry * a -> type language * b -> attributes / revision level * x -> address of the last byte of the module name + 1 * y -> module entry point absolute address * u -> module header absolute address start equ * lbra L00B9 L0015 fcc /AGI (c) copyright 1988 SIERRA On-Line/ fcc /CoCo3 version by Chris Iden/ fcb 0 L0056 fcc / Game paused./ fcb $0a fcc /Press ENTER to continue./ fcb 0 L0082 fcc /Press ENTER to quit./ fcb $0a fcc /Press CTRL-BREAK to keep playing./ fcb 0 L00B9 leas -6,s make room on the stack lbsr L0488 modifies table values at 1B0 lbsr L0D72 modifies table values at D09 lbsr L2188 calls the mmu twiddler at >$659 * uses toc and words.tok L00C4 clra ldb >$043B ** who loads me with ?? std ,s L00CA lbsr L130A L00CD ldd <$003E cmpd ,s L00D2 bcc L00DD cmpd $04,s beq L00CD std $04,s bra L00CA L00DD ldd #$0000 std <$003E lbsr L096F self contained call to clear 50 bytes 05BA L00E5 lda >$01AE anda #$DF L00EA sta >$01AE lda >$01AE anda #$F7 sta >$01AE lbsr L5D63 ldx <$0030 lda >$0250 beq L0107 lda >$0437 sta <$21,x bra L010D L0107 lda <$21,x sta >$0437 L010D lbsr L0750 lda >$01AF anda #$40 sta $03,s lbsr L5130 L011A lda >$0434 L011D sta $02,s clrb lbsr L266C leay ,y bne L013B clra sta >$043A sta >$0436 sta >$0435 lda >$01AE anda #$DF sta >$01AE bra L011A L013B lda >$0437 ldx <$0030 sta <$21,x lda $02,s cmpa >$0434 bne L0153 lda >$01AF anda #$40 cmpa $03,s beq L0156 L0153 lbsr L5801 L0156 clra sta >$0436 sta >$0435 lda >$01AE anda #$FB sta >$01AE lda >$01AE anda #$FD sta >$01AE lda >$01AF anda #$F7 sta >$01AF lda >$05EC cmpa #$00 lbne L00C4 lbsr L069E lbra L00C4 cmd_pause L0184 lda #$01 sta >$0102 set clock_state = 1 lbsr L12FC events_clear leau >L0056,pcr get addr of game paused msg lbsr L3AA7 pass it to message_box() clr >$0102 set clock_state = 0 rts cmd_quit L0197 lda ,y+ cmpa #$01 beq L01A6 if arg was a 1 then quit leau >L0082,pcr get addr of quit / continue msg lbsr L3AA7 pass it to message_box() beq L01AF if we didn't get a 1 continue play L01A6 lda #$03 load the offset to exit_agi() sta <$0009 ldx <$0022 set up to jump to sierra jsr >$0701 mmu twiddle L01AF rts * every other word gets added to by a value saved in sierra * when this module is loaded. I assume it's a mem offset * Jump table of some kind but what are the second words used * to do ???? * the first word is the pointer to the function * the second word holds two items * MSB = number of parameters * LSB = parameter flag cmd_table L01B0 fdb L5A16,$0000 *do nothing fdb L5F08,$180 *increment fdb L5F16,$180 *decrement fdb L5F24,$280 *assign nn fdb L5F2F,$2c0 *assign nv fdb L5F40,$280 *add n fdb L5F4D,$2c0 *add v fdb L5F60,$280 *sub n fdb L5F6D,$2c0 *sub v fdb L5F81,$2c0 *l indirect v fdb L5FA9,$2c0 *r indirect fdb L5F98,$280 *l indirect n fdb L1701,$100 *set fdb L1705,$100 *reset fdb L1709,$100 *toggle fdb L170D,$180 *set v fdb L1717,$180 *reset v fdb L1721,$180 *toggle v fdb L323B,$100 *new room fdb L3240,$180 *new room v fdb L25A7,$100 *load logics fdb L25AC,$180 *load logics v fdb L2640,$100 *call fdb L2653,$180 *call v fdb L379A,$180 *load pic fdb L37FA,$180 *draw pic fdb L388B,$0000 *show pic fdb L389F,$180 *discard overlay fdb L3841,$180 *animate obj fdb L0CBC,$0000 *show pri fdb L603F,$100 *load view fdb L6046,$180 *load view v fdb L62A8,$100 *discard view fdb L0650,$100 *animate obj fdb L0686,$0000 *unanumate all fdb L0F6F,$100 *draw fdb L0FF4,$100 *erase fdb L38E9,$300 *position fdb L38FA,$360 *position v fdb L3919,$360 *get position fdb L3937,$360 *reposition fdb L60B3,$200 *set view fdb L60CE,$240 *set view v fdb L6118,$200 *set loop fdb L6133,$240 *set loop v fdb L053B,$100 *fix loop fdb L054D,$100 *release loop fdb L6196,$200 *set cel fdb L61B1,$240 *set cel v fdb L6243,$240 *last cel fdb L6258,$240 *current cel fdb L626C,$240 *current loop fdb L6280,$240 *current view fdb L6294,$240 *number of loops fdb L3FD7,$200 *set priority fdb L4015,$240 *set priority v fdb L3FEE,$100 *release priority fdb L4000,$240 *get priority fdb L05E9,$100 *stop update fdb L05F5,$100 *start update fdb L0601,$100 *force update fdb L39F6,$100 *ignore horizon fdb L3A08,$100 *observe horizon fdb L39F0,$100 *set horizon fdb L39BA,$100 *obj on water fdb L39CC,$100 *obj on land fdb L39DE,$100 *obj on anything fdb L08FA,$100 *ignore objects fdb L090C,$100 *observe objects fdb L091E,$320 *distance fdb L0A2A,$100 *stop cycling fdb L0A3C,$100 *start cycling fdb L09A2,$100 *normal cycle fdb L09B9,$200 *end of loop fdb L09DA,$100 *reverse cycle fdb L09F1,$200 *reverse loop fdb L0A12,$240 *cycle time fdb L2FB5,$100 *stop motion fdb L2FD3,$100 *start motion fdb L2FEF,$240 *step size fdb L3004,$240 *step time fdb L2EBF,$500 *move obj fdb L2F00,$570 *move obj v fdb L2F53,$300 *follow ego fdb L2F87,$100 *wander fdb L2FA6,$100 *normal motion fdb L301A,$240 *set dir fdb L302F,$240 *get dir fdb L085F,$100 *ignore blocks fdb L0871,$100 *observe blocks fdb L0841,$400 *block fdb L085B,$0000 *unblock fdb L330A,$100 *get fdb L3311,$180 *get v fdb L3318,$100 *drop fdb L3351,$200 *put fdb L335E,$240 *put v fdb L336B,$2c0 *get room v fdb L5391,$100 *load sound fdb L53ED,$200 *sound fdb L5A16,$0000 *stop sound fdb L3A5A,$100 *print fdb L3A62,$180 *print v fdb L3E35,$300 *display fdb L3E65,$3e0 *display v fdb L483A,$300 *clear lines fdb L4821,$0000 *text screen fdb L4833,$0000 *graphics fdb L5EB9,$100 *set cursor char fdb L486A,$200 *set text attribute fdb L5A14,$100 *shake screen fdb L48A3,$300 *config screen fdb L5863,$0000 *status line on fdb L586B,$0000 *status line off fdb L58EC,$200 *set string fdb L587F,$500 *get string fdb L5904,$200 *word to string fdb L3541,$100 *parse fdb L0BAA,$240 *get num fdb L5EA4,$0000 *prevent input fdb L5EB1,$0000 *accept inpur fdb L097A,$300 *set key fdb L368C,$700 *add to pic fdb L36AC,$7fe *add to pic v fdb L5619,$0000 *status fdb L4567,$0000 *save game fdb L41D0,$0000 *restore game fdb L5A16,$0000 *init disk fdb L40BB,$0000 *restart game fdb L5156,$100 *sow obj fdb L12BD,$320 *random fdb L3044,$0000 *program control fdb L3048,$0000 *player control fdb L0BF4,$180 *obj status v fdb L0197,$100 *quit fdb L0CD4,$0000 *show mem fdb L0184,$0000 *pause fdb L5E4B,$0000 *echo line fdb L5E3D,$0000 *cancel line fdb L2367,$0000 *init joy fdb L48C2,$0000 *toggle monitor fdb L0CCC,$0000 *version fdb L49C2,$100 *script size fdb L59A8,$100 *set game id fdb L5A14,$100 *log fdb L26E0,$0000 *set scan start fdb L26E6,$0000 *reset scan start fdb L397A,$300 *reposition to fdb L3993,$360 *reposition to v fdb L5A5A,$0000 *trace on fdb L5ADB,$300 *trace info fdb L3A70,$400 *print at fdb L3A75,$480 *print at v fdb L62AD,$180 *discard view v fdb L484E,$500 *clear text rect fdb L5A12,$200 *set upper left fdb L2835,$100 *set menu fdb L28B3,$200 *set menu item fdb L2935,$0000 *submit menu fdb L2958,$100 *enable item fdb L297F,$100 *disable item fdb L29AE,$0000 *menu input fdb L514B,$100 *show obj v fdb L5A16,$0000 *open dialogue fdb L5A16,$0000 *close dialogue fdb L5FC0,$280 *mult n fdb L5FCE,$2c0 *mult v fdb L5FE2,$280 *div n fdb L5FF1,$2c0 *div v fdb L3C4C,$0000 *close window fdb L4552,$100 *set simple fdb L49D1,$0000 *push script fdb L49D8,$0000 *pop script fdb L5A16,$0000 *hold key fdb L115C,$100 *set pri base fdb L5A14,$180 *discard sound fdb L5A16,$0000 *do nothing fdb L29BB,$100 fdb L5A16,$0000 *do nothing fdb L5A0E,$400 *hide mouse fdb L5A12,$2c0 *allow menu fdb L5A16,$0000 *do nothing L0488 leas -$01,s lda #$B6 sta ,s leau >L01B0,pcr L0492 ldd <$002E addd ,u std ,u leau $04,u dec ,s bne L0492 leas $01,s rts L04A1 cmpb #$B5 bls L04AA lda #$10 lbsr L10ED L04AA lda <$0068 beq L04B9 cmpa #$01 bne L04B9 pshs y lbsr L5B10 puls y L04B9 leax >L01B0,pcr lda #$04 mul jsr [d,x] leay ,y beq L04CE ldb ,y+ beq L04CE cmpb #$FC bcs L04A1 L04CE rts L04CF lda <$25,u bita #$10 beq L04DD anda #$EF sta <$25,u bra L053A L04DD ldd $0E,u decb std <$0074 lda <$23,u cmpa #$00 bne L04F3 ldb <$0074 incb cmpb <$0075 bls L0537 clrb bra L0537 L04F3 cmpa #$03 bne L0500 ldb <$0074 decb bpl L0537 ldb <$0075 bra L0537 L0500 cmpa #$02 bne L050F ldb <$0074 beq L0520 decb bne L0537 stb <$0074 bra L0520 L050F cmpa #$01 bne L0537 ldb <$0074 cmpb <$0075 bcc L0520 incb cmpb <$0075 bne L0537 stb <$0074 L0520 lda <$27,u lbsr L172B lda <$26,u anda #$DF sta <$26,u clra sta <$21,u sta <$23,u ldb <$0074 L0537 lbsr L61D2 L053A rts L053B lda ,y+ ldb #$2B mul addd <$0030 tfr d,x lda <$25,x ora #$20 sta <$25,x rts L054D lda ,y+ ldb #$2B mul addd <$0030 tfr d,x lda <$25,x anda #$DF sta <$25,x rts L055F lda #$01 ldb <$26,u andb #$51 cmpb #$51 beq L056B clra L056B rts L056C lda #$01 ldb <$26,u andb #$51 cmpb #$41 beq L0578 clra L0578 rts L0579 ldx #$0548 leau >L055F,pcr lbsr L33AE rts L0584 ldx #$054C leau >L056C,pcr lbsr L33AE rts L058F ldx #$0548 lbsr L3379 ldx #$054C lbsr L3379 rts L059C bsr L0584 pshs x lda #$1E sta <$0021 ldx <$0028 jsr >$0701 leas $02,s bsr L0579 pshs x lda #$1E sta <$0021 ldx <$0028 jsr >$0701 leas $02,s rts L05BB ldx #$054C pshs x lda #$18 sta <$0019 ldx <$0026 jsr >$0701 leas $02,s ldx #$0548 pshs x lda #$18 sta <$0019 ldx <$0026 jsr >$0701 leas $02,s rts L05DC ldx #$0548 lbsr L3391 ldx #$054C lbsr L3391 rts L05E9 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u bsr L060A rts L05F5 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u bsr L0624 rts L0601 lda ,y+ bsr L058F bsr L059C bsr L05BB rts L060A lda <$26,u bita #$10 beq L0623 pshs u lbsr L058F puls u lda <$26,u anda #$EF sta <$26,u lbsr L059C L0623 rts L0624 lda <$26,u bita #$10 bne L063D pshs u lbsr L058F puls u lda <$26,u ora #$10 sta <$26,u lbsr L059C L063D rts L063E fcb 4,4,0,0,0,4,1,1,1 L0647 fcb 4,3,0,0,0,2,1,1,1 L0650 lda ,y+ bsr L0655 rts L0655 leas -$01,s sta ,s ldb #$2B mul addd <$0030 tfr d,u cmpu <$0032 bcs L066C lda #$0D ldb ,s lbsr L10ED L066C lda <$26,u bita #$40 bne L0683 lda #$70 sta <$26,u lda #$00 sta <$22,u sta <$23,u sta <$21,u L0683 leas $01,s rts L0686 lbsr L058F ldu <$0030 L068B cmpu <$0032 bcc L069D lda <$26,u anda #$BE sta <$26,u leau <$2B,u bra L068B L069D rts L069E leas -$01,s clr ,s ldu <$0030 L06A4 cmpu <$0032 bcc L0716 lda <$26,u anda #$51 cmpa #$51 bne L0711 inc ,s ldb #$04 lda <$25,u bita #$20 bne L06F7 lda $0B,u cmpa #$03 bhi L06D2 cmpa #$02 bcs L06F7 lda <$21,u leay >L063E,pcr ldb a,y bra L06E6 L06D2 cmpa #$04 beq L06DD lda >$01B0 anda #$08 beq L06F7 L06DD lda <$21,u leay >L0647,pcr ldb a,y L06E6 lda $01,u L06E8 cmpa #$01 bne L06F7 cmpb #$04 beq L06F7 cmpb $0A,u beq L06F7 lbsr L6154 L06F7 lda <$26,u bita #$20 beq L0711 lda <$20,u beq L0711 dec <$20,u bne L0711 lbsr L04CF lda <$1F,u sta <$20,u L0711 leau <$2B,u bra L06A4 L0716 lda ,s beq L074D ldx #$0548 lbsr L3379 lbsr L3067 lbsr L0579 pshs x lda #$1E sta <$0021 ldx <$0028 jsr >$0701 leas $02,s ldx #$0548 pshs x lda #$18 sta <$0019 ldx <$0026 jsr >$0701 leas $02,s ldu <$0030 lda <$25,u anda #$F6 sta <$25,u L074D leas $01,s rts L0750 ldu <$0030 L0752 cmpu <$0032 bcc L07A3 lda <$26,u anda #$51 cmpa #$51 bne L079E lda $01,u cmpa #$01 bne L079E lda <$22,u beq L0784 cmpa #$01 bne L0774 lbsr L62FE bra L0784 L0774 cmpa #$02 bne L077D lbsr L1758 bra L0784 L077D cmpa #$03 bhi L0784 lbsr L31A4 L0784 lda <$26,u ldb >$01AC bne L0793 anda #$7F sta <$26,u bra L079E L0793 bita #$02 bne L079E lda <$21,u beq L079E bsr L07A4 L079E leau <$2B,u bra L0752 L07A3 rts L07A4 leas -$03,s ldd $03,u std $01,s lbsr L0883 sta ,s lda <$21,u beq L0821 cmpa #$01 bne L07C1 ldb $02,s subb <$1E,u lda $01,s bra L081A L07C1 cmpa #$02 bne L07CF ldd $01,s adda <$1E,u subb <$1E,u bra L081A L07CF cmpa #$03 bne L07DC lda $01,s adda <$1E,u ldb $02,s bra L081A L07DC cmpa #$04 bne L07EA ldd $01,s adda <$1E,u addb <$1E,u bra L081A L07EA cmpa #$05 bne L07F7 ldb $02,s addb <$1E,u lda $01,s bra L081A L07F7 cmpa #$06 bne L0805 ldd $01,s suba <$1E,u addb <$1E,u bra L081A L0805 cmpa #$07 bne L0812 lda $01,s suba <$1E,u ldb $02,s bra L081A L0812 ldd $01,s suba <$1E,u subb <$1E,u L081A lbsr L0883 cmpa ,s bne L082B L0821 lda <$26,u anda #$7F sta <$26,u bra L083E L082B lda <$26,u ora #$80 sta <$26,u clr <$21,u cmpu <$0030 bne L083E clr >$0437 L083E leas $03,s rts L0841 lda #$01 sta >$01AC lda ,y+ sta >$024E lda ,y+ sta >$024F lda ,y+ sta >$023C lda ,y+ sta >$023D rts L085B clr >$01AC rts L085F lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u ora #$02 sta <$26,u rts L0871 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u anda #$FD sta <$26,u rts L0883 leas -$01,s clr ,s cmpa >$024E bls L089D cmpa >$023C bcc L089D cmpb >$024F bls L089D cmpb >$023D bcc L089D inc ,s L089D lda ,s leas $01,s rts L08A2 clra ldb <$25,u bitb #$02 bne L08F9 ldx <$0030 L08AC cmpx <$0032 bcc L08F9 ldb <$26,x andb #$41 cmpb #$41 bne L08F2 ldb <$25,x bitb #$02 bne L08F2 ldb $02,x cmpb $02,u beq L08F2 ldb $03,u addb <$1C,u cmpb $03,x bcs L08F2 ldb $03,x addb <$1C,x cmpb $03,u bcs L08F2 ldb $04,x cmpb $04,u beq L08F7 bhi L08EA ldb <$1B,x cmpb <$1B,u bhi L08F7 bra L08F2 L08EA ldb <$1B,x cmpb <$1B,u bcs L08F7 L08F2 leax <$2B,x bra L08AC L08F7 lda #$01 L08F9 rts L08FA lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$25,u ora #$02 sta <$25,u rts L090C lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$25,u anda #$FD sta <$25,u rts L091E lda ,y+ ldb #$2B mul addd <$0030 tfr d,x lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$FF ldb <$26,x bitb #$01 beq L0966 ldb <$26,u bitb #$01 beq L0966 lda <$1C,u lsra adda $03,u ldb <$1C,x lsrb addb $03,x stb <$0076 suba <$0076 bcc L0953 nega L0953 sta <$0076 lda $04,u suba $04,x bcc L095C nega L095C adda <$0076 bcs L0964 cmpa #$FF bne L0966 L0964 lda #$FE L0966 ldb ,y+ ldx #$0431 abx sta ,x rts L096F ldu #$05BA ldx #$0032 clrb lbsr L2C7A rts L097A ldx #$01D8 lda #$32 L097F tst ,x beq L098F deca bne L098B ldx #$0000 bra L098F L098B leax $02,x bra L097F L098F lda ,y+ ldb ,y+ beq L0999 tfr b,a adda #$FB L0999 ldb ,y+ leax ,x beq L09A1 std ,x L09A1 rts L09A2 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$00 sta <$23,u lda <$26,u ora #$20 sta <$26,u rts L09B9 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$01 sta <$23,u ldd <$25,u ora #$10 orb #$30 std <$25,u lda ,y+ sta <$27,u lbsr L1732 rts L09DA lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$03 sta <$23,u lda <$26,u ora #$20 sta <$26,u rts L09F1 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$02 sta <$23,u ldd <$25,u ora #$10 orb #$30 std <$25,u lda ,y+ sta <$27,u lbsr L1732 rts L0A12 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx lda ,x sta <$1F,u sta <$20,u rts L0A2A lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u anda #$DF sta <$26,u rts L0A3C lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u ora #$20 sta <$26,u rts L0A4E fcc /normal cycle/ fcb 0 L0A5B fcc /end of loop/ fcb 0 L0A67 fcc /reverse loop/ fcb 0 L0A74 fcc /reverse cycle/ fcb 0 L0A82 fcc /normal motion/ fcb 0 L0A90 fcc /wander/ fcb 0 L0A97 fcc /follow/ fcb 0 L0A9E fcc /move to (%d, %d)/ fcb 0 L0AAF fcc /Object %d:/ fcb $0a L0ABA fcc /x: %d xsize: %d/ fcb $0a L0ACB fcc /y: %d ysize: %d/ fcb $0a L0ADC fcc /pri: %d/ fcb $0a L0AE4 fcc /stepsize: %d/ fcb $0a L0AF1 fcc /control: %x/ fcb $0a L0AFD fcc /%s/ fcb $0a L0B00 fcc /%s/ fcb 0 L0B03 fcc /Adventure Game Interpreter/ fcb $0a fcc / Version 2.072/ fcb 0 L0B32 fcc /room: %u/ fcb $0a L0B3B fcc /heap size: %u/ fcb $0a L0B49 fcc /now: %u max: %u/ fcb $0a L0B5A fcc /rm.0, etc.: %u/ fcb $0a L0B69 fcc /common size: %u/ fcb $0a L0B79 fcc /now: %u max: %u/ fcb $0a L0B8A fcc /tables, etc.: %u/ fcb $0a L0B9B fcc /max script: %u/ fcb 0 L0BAA leas -$54,s lbsr L5E91 lda $01d7 clrb std <$0040 ldb ,y+ lbsr L3E0D leax $04,s L0BBD ldd #$0028 pshs b,a pshs u pshs x lbsr L3C6A leas $06,s pshs x lbsr L3EE9 leas $02,s clr ,s ldb #$04 leax ,s lbsr L591D lbsr L5EC4 leax ,s lbsr L11A0 beq L0BE8 lbsr L11FB L0BE8 ldx #$0431 ldb ,y+ L0BED abx sta ,x leas <$54,s rts L0BF4 leas >-$0194,s ldx #$0431 ldb ,y+ abx lda ,x ldb #$2B mul addd <$0030 tfr d,u std >$0192,s lda <$23,u cmpa #$00 bne L0C18 leax >L0A4E,pcr bra L0C30 L0C18 cmpa #$01 bne L0C22 leax >L0A5B,pcr bra L0C30 L0C22 cmpa #$02 bne L0C2C leax >L0A67,pcr bra L0C30 L0C2C leax >L0A74,pcr L0C30 stx >$0190,s lda <$22,u cmpa #$00 bne L0C41 leax >L0A82,pcr bra L0C71 L0C41 cmpa #$01 bne L0C4B leax >L0A90,pcr bra L0C71 L0C4B cmpa #$02 bne L0C55 leax >L0A97,pcr bra L0C71 L0C55 clra ldb <$28,u pshs b,a ldb <$27,u pshs b,a leax >L0A9E,pcr pshs x leax >$0132,s pshs x lbsr L3ED6 leas $08,s L0C71 pshs u leax >$0192,s pshs x ldu >$0196,s ldd <$25,u pshs b,a clra ldb <$1E,u pshs b,a ldb <$24,u pshs b,a ldb <$1D,u pshs b,a ldb $04,u pshs b,a ldb <$1C,u pshs b,a ldb $03,u pshs b,a ldb $02,u pshs b,a leau >L0AAF,pcr pshs u leax <$16,s pshs x lbsr L3ED6 leas <$18,s lbsr L3AA7 leas >$0194,s rts L0CBC inc >$0550 lbsr L2E9B lbsr L13C3 lbsr L2E9B clr >$0550 rts L0CCC leau >L0B03,pcr lbsr L3AA7 rts L0CD4 leas >-$00C8,s ldd <$0057 pshs b,a ldd <$0053 subd #$0776 pshs b,a ldd <$0051 subd <$0053 pshs b,a ldd <$0055 subd <$0053 pshs b,a ldd <0 subd #$0776 pshs b,a ldd <$004D pshs b,a ldd <$004B pshs b,a ldd <$004F pshs b,a ldd #$FFFF pshs b,a clra ldb >$0431 leax >L0B32,pcr leau <$12,s pshs b,a pshs x pshs u lbsr L3ED6 leas <$18,s lbsr L3AA7 leas >$00C8,s rts L0D26 fdb $0f6e,$0000 fdb $0dba,$280 fdb $0dcb,$2c0 fdb $0de2,$280 fdb $0df3,$2c0 fdb $0e0a,$280 fdb $0e1b,$2c0 fdb $0e32,$100 fdb $0e3e,$180 fdb $0e51,$100 fdb $0e63,$240 fdb $0f0a,$500 fdb $0e7b,$100 fdb $0e83,$0000 fdb $0e9f,$0000 fdb $0f02,$200 fdb $0f2e,$500 fdb $0f12,$500 fdb $0f22,$500 L0D72 leas -1,s lda #$13 L0D76 sta ,s leau >L0D26,pcr L0D7C ldd <$002E addd ,u std ,u leau $04,u dec ,s bne L0D7C leas $01,s rts L0D8B leax -$01,y stx <$006C cmpa #$12 bhi L0DB2 lsla lsla leax >L0D26,pcr jsr [a,x] ldb <$0068 beq L0DB9 cmpb #$01 bne L0DB9 pshs y sta <$006E ldu <$006C lbsr L5B38 puls y lda <$006E bra L0DB9 L0DB2 tfr a,b lda #$0F lbsr L10ED L0DB9 rts ldb ,y+ ldx #$0431 abx lda ,x cmpa ,y+ lbne L0F6D lbra L0F6A ldb ,y+ ldx #$0431 abx lda ,x ldb ,y+ ldx #$0431 abx cmpa ,x lbne L0F6D lbra L0F6A ldb ,y+ ldx #$0431 abx lda ,x cmpa ,y+ lbcc L0F6D lbra L0F6A ldb ,y+ ldx #$0431 abx lda ,x ldb ,y+ ldx #$0431 abx cmpa ,x lbcc L0F6D lbra L0F6A ldb ,y+ ldx #$0431 abx lda ,x cmpa ,y+ lbls L0F6D lbra L0F6A ldb ,y+ ldx #$0431 abx lda ,x ldb ,y+ ldx #$0431 abx cmpa ,x lbls L0F6D lbra L0F6A lda ,y+ lbsr L1741 lbeq L0F6D lbra L0F6A ldb ,y+ ldx #$0431 abx lda ,x lbsr L1741 lbeq L0F6D lbra L0F6A rts ldb ,y+ ldx <$0038 abx abx abx lda #$FF cmpa $02,x lbne L0F6D lbra L0F6A ldb $01,y ldx #$0431 abx lda ,x ldb ,y++ ldx <$0038 abx abx abx cmpa $02,x lbne L0F6D lbra L0F6A lda ,y+ ldx #$05BA lda a,x rts ldx #$0431 lda <$13,x lbne L0F6A L0E8D lbsr L138E cmpa #$FF beq L0E8D tsta lbeq L0F6D sta <$13,x lbra L0F6A lda ,y+ sta <$0072 lda >$015A beq L0EED sta <$0073 lda >$01AE anda #$08 bne L0EED lda >$01AE anda #$20 beq L0EED ldx #$0194 L0EBB lda <$0072 beq L0EED ldb ,y+ lda ,y+ dec <$0072 cmpd #$270F bne L0ED5 lda <$0072 beq L0EF1 lsla leay a,y lbra L0EF1 L0ED5 tst <$0073 bne L0EDE inc <$0073 lbra L0EED L0EDE cmpd ,x++ beq L0EE9 cmpd #$0001 bne L0EED L0EE9 dec <$0073 bra L0EBB L0EED ldd <$0072 bne L0EFC L0EF1 lda >$01AE ora #$08 sta >$01AE lbra L0F6A L0EFC lsla leay a,y lbra L0F6D lda ,y+ ldb ,y+ lbsr L59B9 rts bsr L0F3A sta <$006F sta <$0071 bra L0F48 bsr L0F3A sta <$006F lda <$1C,u lsra adda <$006F sta <$006F sta <$0071 bra L0F48 bsr L0F3A adda <$1C,u deca sta <$006F sta <$0071 bra L0F48 bsr L0F3A sta <$006F adda <$1C,u deca sta <$0071 bra L0F48 L0F3A ldb ,y+ lda #$2B mul addd <$0030 tfr d,u ldd $03,u stb <$0070 rts L0F48 ldd <$006F cmpa ,y+ bcc L0F52 leay $03,y bra L0F6D L0F52 cmpb ,y+ bcc L0F5A leay $02,y bra L0F6D L0F5A lda <$0071 cmpa ,y+ bls L0F64 leay $01,y bra L0F6D L0F64 cmpb ,y+ bls L0F6A bra L0F6D L0F6A lda #$01 rts L0F6D clra rts L0F6F lda ,y+ pshs y bsr L0F78 puls y rts L0F78 leas -$03,s sta ,s ldb #$2B mul addd <$0030 tfr d,u cmpu <$0032 bcs L0F8F lda #$13 ldb ,s lbsr L10ED L0F8F ldd <$10,u bne L0F99 lda #$14 lbsr L10ED L0F99 lda <$26,u bita #$01 bne L0FF1 stu $01,s ora #$10 sta <$26,u lbsr L164B ldd <$10,u std <$12,u ldd $08,u std <$14,u ldd $03,u std <$1A,u ldx #$0548 lbsr L3379 ldu $01,s lda <$26,u ora #$01 sta <$26,u lbsr L0579 pshs x lda #$1E sta <$0021 ldx <$0028 jsr >$0701 leas $02,s ldu $01,s lda <$25,u anda #$EF sta <$25,u pshs u lda #$1B sta <$0019 ldx <$0026 jsr >$0701 leas $02,s L0FF1 leas $03,s rts L0FF4 lda ,y+ pshs y bsr L0FFD puls y rts L0FFD leas -$04,s sta ,s ldb #$2B mul addd <$0030 tfr d,u cmpu <$0032 bcs L1014 lda #$0C ldb ,s lbsr L10ED L1014 lda <$26,u bita #$01 beq L1071 stu $01,s ldx #$0548 lbsr L3379 ldu $01,s lda <$26,u anda #$10 sta $03,s bne L1036 ldx #$054C lbsr L3379 ldu $01,s L1036 lda <$26,u anda #$FE sta <$26,u lda $03,s bne L1052 lbsr L0584 pshs x lda #$1E sta <$0021 ldx <$0028 jsr >$0701 leas $02,s L1052 lbsr L0579 pshs x lda #$1E sta <$0021 ldx <$0028 jsr >$0701 leas $02,s ldu $01,s pshs u lda #$1B sta <$0019 ldx <$0026 jsr >$0701 leas $02,s L1071 leas $04,s rts L1074 fcc /Avis Durgan/ fcb 0 L1080 leas -$02,s stu ,s leau >L1074,pcr L1088 cmpx ,s bcc L109C tst ,u bne L1094 leau >L1074,pcr L1094 lda ,x eora ,u+ sta ,x+ bra L1088 L109C leas $02,s rts L109F fcb 7,0 L10A1 fcb $0a fcc /Press CTRL-BREAK to quit./ fcb 0 L10BC fcb $0a fcc /Press ENTER to try again./ fcb 0 L10D7 fcc /System error #%u.%s%s/ fcb 0 L10ED sta $442 L10F0 stb >$0443 lbsr L27D4 lbsr L12FC lbsr L22F3 bsr L1136 bsr L1136 lbsr L5139 L1103 leas >-$00B1,s lbsr L5E91 bsr L1136 bsr L1136 L110E leau >L10A1,pcr pshs u leau >L10BC,pcr pshs u clra ldb <$009F leau >L10D7,pcr leax $04,s pshs b,a pshs u pshs x lbsr L3ED6 leas $0A,s lbsr L3AA7 leas >$00B1,s rts L1136 pshs y ldy #$0002 lda #$01 L113E leax >L109F,pcr os9 I$Write puls y rts L1148 fdb $0000 fdb $0000 fdb $0000 fdb $0000 fcb $00 L1151 fcb 0 L1152 fdb $0000 fdb $0000 fdb $0000 fdb $0000 fdb $0000 L115C leas -$04,s clr >L3378,pcr ldb ,y+ stb $01,s ldb #$A8 subb $01,s lda #$A8 mul ldu #$000A lbsr L125C std $02,s clrb stb ,s L1178 subb $01,s bcc L1180 ldb #$04 bra L1193 L1180 lda #$A8 mul ldu $02,s lbsr L125C addd #$0005 cmpd #$000F bls L1193 ldb #$0F L1193 stb ,x+ inc ,s ldb ,s cmpb #$A8 bcs L1178 leas $04,s rts L11A0 leas -$02,s stx ,s L11A4 lda ,x+ bne L11A4 tfr x,d ldx ,s subd ,s subd #$0001 leas $02,s rts L11B4 pshs u L11B6 lda ,x+ sta ,u+ bne L11B6 puls x rts L11BF leas -$04,s std ,s stu $02,s L11C5 lda ,x+ sta ,u+ beq L11D6 ldd ,s subd #$0001 std ,s bne L11C5 clr ,u L11D6 ldx $02,s leas $04,s rts L11DB pshs u L11DD lda ,u+ bne L11DD leau -$01,u L11E3 lda ,x+ sta ,u+ bne L11E3 puls x rts L11EC pshs u,x L11EE lda ,x suba ,u+ bne L11F8 tst ,x+ bne L11EE L11F8 puls u,x rts L11FB leas -$02,s clra sta ,s sta $01,s L1202 ldb ,x+ cmpb #$20 beq L1202 L1208 cmpb #$30 bcs L1221 cmpb #$39 bhi L1221 subb #$30 stb $01,s lda #$0A ldb ,s mul addb $01,s stb ,s ldb ,x+ bne L1208 L1221 lda ,s leas $02,s rts L1226 leax >L1151,pcr clr ,x L122C ldu #$000A bsr L125C addb #$30 stb ,-x tfr u,d cmpd #$0000 bhi L122C rts L123E leax >L1151,pcr clr ,x L1244 ldu #$0010 bsr L125C addb #$30 cmpb #$39 ble L1251 addb #$07 L1251 stb ,-x tfr u,d cmpd #$0000 bhi L1244 rts L125C leas -$05,s std ,s stu $02,s lda #$10 sta $04,s ldd #$0000 L1269 lsl $01,s rol ,s rolb rola cmpd $02,s bcs L1278 subd $02,s inc $01,s L1278 dec $04,s bne L1269 ldu ,s leas $05,s rts L1281 leas -$0B,s pshs x,b tfr u,x leau $04,s lbsr L11B4 lbsr L11A0 stb $03,s leau >L1152,pcr ldx #$000A ldb #$30 lbsr L2C7A puls b subb $02,s bpl L12A4 clrb L12A4 clr b,u leax $03,s lbsr L11DB tfr x,u puls x leas $0B,s rts L12B2 cmpa #$41 bcs L12BC cmpa #$5A bhi L12BC ora #$20 L12BC rts L12BD lbsr L4032 lda $01,y suba ,y++ inca bne L12CB tfr b,a bra L12D0 L12CB lbsr L6006 adda -$02,y L12D0 ldx #$0431 ldb ,y+ abx sta ,x rts L12D9 tst ,x bne L12E2 ldx #$0000 bra L12E8 L12E2 cmpa ,x+ bne L12D9 leax -$01,x L12E8 rts L12E9 tfr u,x L12EB lda ,x beq L12F5 bsr L12B2 sta ,x+ bra L12EB L12F5 rts L12F6 lbsr L2367 bsr L12FC rts L12FC lbsr L252E lbsr L23B5 ldx #$0103 stx <$0092 stx <$0094 rts L130A lbsr L23BB lbsr L2535 rts L1311 ldu <$0092 stb ,u+ sta ,u+ stu <$0092 ldx #$012B cmpx <$0092 bhi L1325 ldx #$0103 stx <$0092 L1325 ldx <$0092 cmpx <$0094 bne L132F leau -$02,u stu <$0092 L132F rts L1330 ldd <$0094 cmpd <$0092 bne L133C ldx #$0000 bra L1351 L133C ldx #$0002 leax d,x stx <$0094 ldx #$012B cmpx <$0094 bhi L134F ldx #$0103 stx <$0094 L134F tfr d,x L1351 rts L1352 leas -$02,s L1354 ldd >$024A std ,s bsr L1330 leax ,x bne L136C L135F ldd ,s cmpd >$024A beq L135F lbsr L130A bra L1354 L136C lbsr L13CB leas $02,s rts L1372 leax ,x beq L138D ldb ,x cmpb #$01 bne L138D ldu #$01D8 L137F ldb ,u++ beq L138D cmpb $01,x bne L137F lda #$03 ldb -$01,u std ,x L138D rts L138E lbsr L130A bsr L1330 tfr x,d leax ,x beq L13A3 bsr L13CB lda ,x cmpa #$01 bne L13A4 lda $01,x L13A3 rts L13A4 lda #$FF rts L13A7 bsr L138E beq L13A7 cmpa #$FF beq L13A7 rts L13B0 bsr L138E tfr a,b lda #$01 cmpb #$0D beq L13C2 lda #$00 cmpb #$1B beq L13C2 lda #$FF L13C2 rts L13C3 lbsr L12FC L13C6 bsr L13B0 bmi L13C6 rts L13CB lda ,x cmpa #$01 bne L13E3 lda $01,x cmpa #$FC bne L13DB lda #$0D bra L13E1 L13DB cmpa #$FE bne L13E3 lda #$1B L13E1 sta $01,x L13E3 rts L13E4 fcb 5,2 L13E6 fcc /./ L13E7 fcc /./ fcb $0d,0 L13EA pshs x,d bsr L1428 clr <$9f puls d,x os9 I$Create bcc L13FA lbsr L163D L13FA rts L13FB clr <$009F os9 I$Open bcc L1405 lbsr L163D L1405 rts L1406 clr <$009F os9 I$Read bcc L1414 lbsr L163D ldy #$0000 L1414 tfr y,d rts L1417 clr <$009F os9 I$Write bcc L1425 lbsr L163D ldy #$0000 L1425 tfr y,d rts L1428 clr <$009F os9 I$Delete bcc L1432 lbsr L163D L1432 rts L1433 clr <$009F os9 I$Close bcc L143D lbsr L163D L143D rts L143E clr <$009F tstb bne L1451 os9 I$Seek bcc L1479 L1448 lbsr L163D ldy #$0000 bra L1479 L1451 stx <$0084 stu <$0086 leau >L13E3,pcr ldb b,u os9 I$GetStt bcs L1448 pshs a tfr u,d addd <$0086 tfr d,u tfr x,d adcb #$00 adca #$00 addd <$0084 tfr d,x puls a os9 I$Seek bcs L1448 L1479 rts clr <$009F os9 I$Dup bcc L1484 lbsr L163D L1484 rts L1485 leas <-$22,s sty ,s clra sta ,y sta <$0077 leax >L13E7,pcr lbsr L15B9 bcs L14B7 sta <$0078 ldb #$0E leax $02,s os9 I$GetStt bcs L14B7 ldy ,s ldb #$2F stb ,y+ ldd ,x++ andb #$7F std ,y++ ldb #$2F stb ,y+ clr ,y L14B7 lbsr L15CC leas <$22,s rts L14BE leas -$0A,s leay ,s bsr L1485 leax $01,s ldd #$0002 lbsr L11BF tfr x,u lbsr L12E9 ldd ,u subb #$30 cmpa #$64 beq L14DB orb #$10 L14DB stb $03,u leas $0A,s rts L14E0 leas >-$00C2,s stu ,s clra sta <$0077 leax >$00A1,s sta ,x stx <$0079 leax >L13E7,pcr lbsr L15B9 sta <$0078 leax >$00A2,s lbsr L1594 L1501 ldd <$0081 std <$007B lda <$0083 sta <$007D ldx #$0081 ldy #$007E lbsr L15AD beq L154E leax >L13E6,pcr lbsr L15D6 lbsr L15CC bcs L156A leax >L13E7,pcr lbsr L15B9 leax >$00A2,s bsr L1594 L152E leax >$00A2,s lda <$0078 lbsr L15C3 bcs L156A leax <$1D,x ldy #$007B bsr L15AD bne L152E leax >$00A2,s bsr L1577 bcs L156A bra L1501 L154E lbsr L15CC leay >$00A2,s lbsr L1485 leax >$00A2,s bsr L1577 bcs L156A ldu ,s ldx <$0079 lbsr L11B4 lbsr L15D6 L156A ldu ,s lbsr L12E9 lbsr L15CC leas >$00C2,s rts L1577 os9 F$PrsNam bcs L1593 ldx <$0079 L157E lda ,-y anda #$7F sta ,-x decb bne L157E cmpa #$2F beq L1591 lda #$2F sta ,-x andcc #$FE L1591 stx <$0079 L1593 rts L1594 bsr L15C3 ldd <$1D,x std <$007E lda <$1F,x sta <$0080 bsr L15C3 ldd <$1D,x std <$0081 lda <$1F,x sta <$0083 rts L15AD ldd ,x++ cmpd ,y++ bne L15B8 lda ,x cmpa ,y L15B8 rts L15B9 lda #$81 lbsr L13FB bcs L15C2 inc <$0077 L15C2 rts L15C3 lda <$0078 ldy #$0020 lbra L1406 L15CC lda <$0078 lbsr L1433 bcs L15D5 clr <$0077 L15D5 rts L15D6 clr <$009F lda #$81 os9 I$ChgDir bcc L15E2 lbsr L163D L15E2 rts lda $05,s ldy $02,s lbsr L13FB bcs L15F1 ldx $06,s bsr L15F4 L15F1 lda <$009F rts L15F4 clr <$009F ldb #$0F ldy #$0010 os9 I$GetStt bcc L1603 bsr L163D L1603 rts L1604 leas <-$14,s leax ,s bsr L15F4 leax $03,x clrb lda ,x suba #$50 lsla std <$10,s ldb $01,x lda #$20 mul addd <$10,s addb $02,x adca #$00 std <$10,s clrb lda $03,x lsla lsla lsla std <$12,s ldb $04,x lda #$20 mul addd <$12,s ldx <$10,s leas <$14,s rts L163D pshs cc cmpb #$D8 bne L1646 lda #$FF clrb L1646 stb <$009F puls cc rts L164B leas -$05,s stu ,s clra sta $03,s inca sta $02,s sta $04,s lda >$01D6 cmpa $04,u bcs L1668 ldb <$26,u bitb #$08 bne L1668 inca sta $04,u L1668 lbsr L16D2 tsta beq L1687 lbsr L08A2 tsta bne L1687 pshs u lda #$03 sta <$0021 ldx <$0028 jsr >$0701 leas $02,s ldu ,s lda <$005C bne L16CF L1687 lda $03,s bne L1699 dec $03,u dec $04,s bne L1668 inc $03,s lda $02,s sta $04,s bra L1668 L1699 cmpa #$01 bne L16AD inc $04,u dec $04,s bne L1668 inc $03,s inc $02,s lda $02,s sta $04,s bra L1668 L16AD cmpa #$02 bne L16BF inc $03,u dec $04,s bne L1668 inc $03,s lda $02,s sta $04,s bra L1668 L16BF dec $04,u dec $04,s bne L1668 clr $03,s inc $02,s lda $02,s sta $04,s bra L1668 L16CF leas $05,s rts L16D2 clra ldb $03,u addb <$1C,u bcs L16F8 cmpb #$A0 bhi L16F8 ldb $04,u cmpb #$A7 bhi L16F8 incb cmpb <$1D,u bcs L16F8 decb cmpb >$01D6 bhi L16F7 ldb <$26,u bitb #$08 beq L16F8 L16F7 inca L16F8 rts L16F9 fcb $80,$40,$20,$10,8,4,2,1 L1701 lda ,y+ bra L172B L1705 lda ,y+ bra L1732 L1709 lda ,y+ bra L173A L170D ldb ,y+ ldx #$0431 abx lda ,x bra L172B L1717 ldb ,y+ ldx #$0431 abx lda ,x bra L1732 L1721 ldb ,y+ ldx #$431 abx lda ,x bra L173A L172B bsr L1746 ora ,x sta ,x rts L1732 bsr L1746 coma anda ,x sta ,x rts L173A bsr L1746 eora ,x sta ,x rts L1741 bsr L1746 anda ,x rts L1746 tfr a,b leax >L16F9,pcr anda #$07 lda a,x lsrb lsrb lsrb ldx #$01AE abx rts L1758 leas -$05,s ldb <$27,u pshs b,a ldx <$0030 lda <$1C,x lsra adda $03,x ldb $04,x std $03,s pshs b,a lda <$1C,u lsra adda $03,u sta $07,s ldb $04,u pshs b,a lbsr L31E6 leas $06,s sta ,s bne L1790 sta <$21,u sta <$22,u lda <$28,u lbsr L172B bra L17FD L1790 lda <$29,u cmpa #$FF bne L179C clr <$29,u bra L17F8 L179C lda <$25,u bita #$40 beq L17E6 L17A3 lbsr L4032 lda #$09 lbsr L6006 sta <$21,u beq L17A3 ldb $03,s subb $01,s bcc L17B7 negb L17B7 stb $04,s ldb $04,u subb $02,s bcc L17C0 negb L17C0 clra addb $04,s adca #$00 lsra rorb incb stb $04,s lda <$1E,u sta <$29,u cmpa $04,s bcc L17FD L17D4 lbsr L4032 lda $04,s lbsr L6006 cmpa <$1E,u bcs L17D4 sta <$29,u bra L17FD L17E6 lda <$29,u beq L17F8 clr <$29,u suba <$1E,u bcs L17FD sta <$29,u bra L17FD L17F8 lda ,s sta <$21,u L17FD leas $05,s rts L1800 fcb 1 L1801 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 L1820 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 L183F fcb 0 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 fcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 L187F fcc /save/ fcb 0 L1884 fcc /restore/ fcb 0 L188C fcc / - %s/ fcb 0 L1892 fcc /How would you like to describe this saved game?/ fcb $0a,$0a,0 L18C4 fcc /Please put your save game/ fcb $0a fcc /disk in drive %s./ fcb $0a,$0a fcc /Press ENTER to continue./ fcb $0a fcc /Press CTRL-BREAK to not/ fcb $0a L1922 fcc /%s a game./ fcb 0 L192D fcc '(For example, "/d1" or "/h0/savegame")' fcb 0 L1954 fcc / SAVE GAME/ fcb $0a,$0a fcc /On which disk or in which directory do you wish to save this game?/ fcb $0a,$0a fcc /%s/ fcb $0a,$0a,0 L19B1 fcc / RESTORE GAME/ fcb $0a,$0a fcc /On which disk or in which directory is the game that you want to restore?/ fcb $0a,$0a fcc /%s/ fcb $0a,$0a,0 L1A17 fcc /Use the arrow keys to move/ fcb $0a fcc / the pointer to your name./ fcb $0a fcc /Then press ENTER./ fcb $0a,0 L1A64 fcc /There is no directory named:/ fcb $0a fcc /%s./ fcb $0a fcc /Press ENTER to try again./ fcb $0a fcc /Press CTRL-BREAK to cancel./ fcb 0 L1ABB fcc /There are no games to/ fcb $0a fcc /restore in:/ fcb $0a,$0a fcc /%s/ fcb $0a,$0a fcc /Press ENTER to continue./ fcb 0 L1AFB fcc /Use the arrow keys to select the slot in which you wish to save the game. / fcc /Press ENTER to save in the slot, / fcc /CTRL-BREAK to not save a game./ fcb 0 L1B85 fcc /Use the arrow keys to select the game which you wish to restore. / fcc /Press ENTER to restore the game, / fcc /CTRL-BREAK to not restore a game./ fcb 0 L1C09 fcc / Sorry, this disk is full./ fcb $0a fcc /Position pointer and press ENTER/ fcb $0a fcc / to overwrite a saved game/ fcb $0a fcc /or press CTRL-BREAK and try again/ fcb $0a fcc / with another disk./ fcb $0a,0 L1C9F leas -$02,s clr $01,s lda >$05B9 sta ,s lbsr L5E91 lbsr L4903 lbsr L4A5F ldd #$000F lbsr L486F ldd $04,s pshs b,a lbsr L1D66 leas $02,s L1CC0 beq L1D01 ldd $04,s pshs b,a lbsr L1D13 leas $02,s beq L1D01 ldd $04,s pshs b,a lbsr L1E36 leas $02,s sta $01,s beq L1D01 lda $05,s cmpa #$73 bne L1CF8 lda >L449A,pcr bne L1CF8 leax >L1820,pcr leau >L1892,pcr lbsr L1DD9 tsta L1CF2 bne L1CF8 clr $01,s bra L1D01 L1CF8 leax >L183F,pcr ldb $01,s lbsr L46E5 L1D01 lbsr L4A73 lbsr L4918 lda ,s beq L1D0E lbsr L5E80 L1D0E lda $01,s leas $02,s rts L1D13 leas >-$00A5,s lda #$01 sta ,s leau >$00A1,s lbsr L14BE lda >L46D8,pcr cmpa >$00A4,s bne L1D5F cmpa #$10 bcc L1D5F lbsr L4EBE leau >L187F,pcr lda >$00A8,s cmpa #$73 beq L1D43 leau >L1884,pcr L1D43 pshs u leau >$00A3,s pshs u leau >L18C4,pcr leax $05,s pshs u pshs x lbsr L3ED6 leas $08,s lbsr L3AA7 sta ,s L1D5F lda ,s leas >$00A5,s rts L1D66 leas >-$00C8,s lda >L1801,pcr bne L1D79 leau >L1801,pcr lbsr L14E0 leas ,s L1D79 tst >L449A,pcr bne L1DD4 L1D7F leau >L192D,pcr pshs u leau >L1954,pcr ldb >$00CD,s cmpb #$73 beq L1D95 leau >L19B1,pcr L1D95 leax $02,s pshs u pshs x lbsr L3ED6 leas $06,s leax >L1801,pcr lbsr L1DD9 tsta beq L1DD4 leau >L1801,pcr lbsr L12E9 pshs u lbsr L472D leas $02,s bne L1DD4 leau >L1801,pcr pshs u leau >L1A64,pcr leax $02,s pshs u pshs x lbsr L3ED6 leas $06,s lbsr L3AA7 bne L1D7F L1DD4 leas >$00C8,s rts L1DD9 leas -$03,s stx ,s ldd #$0001 pshs b,a ldd #$001F pshs b,a ldd #$0000 pshs b,a pshs u lbsr L3B1D leas $08,s ldd #$0000 pshs b,a lda >$0177 ldb >$0176 std <$0040 ldb >$0178 decb pshs b,a ldb >$0176 pshs b,a lbsr L4B56 leas $06,s lbsr L4903 lda #$0F clrb lbsr L486F ldb #$1F ldx ,s lbsr L591D sta $02,s lbsr L4918 lbsr L3C4C lda #$01 ldb $02,s cmpb #$0D beq L1E31 clra L1E31 ldx ,s leas $03,s rts L1E36 leas >-$0256,s lda #$01 sta >$0154 lda #$06 sta >$0547 ldd #$0000 sta >$024C,s std >$024E,s std >$0250,s lda >$0259,s suba #$72 beq L1E5D lda #$0C L1E5D std >$024A,s L1E61 cmpb #$0C lbcc L1F09 leau >$0252,s pshs u incb pshs b,a ldb >$025D,s lda >$024E,s cmpb #$73 bne L1E80 lda >$024F,s L1E80 ldb #$20 mul leau $06,s leau d,u pshs u lbsr L20F2 leas $06,s beq L1EFE ldb >$0259,s cmpb #$73 bne L1ECA ldd >$0252,s cmpd >$024E,s bhi L1EB0 bcs L1EFE ldd >$0254,s cmpd >$0250,s bls L1EFE L1EB0 ldd >$0254,s std >$0250,s ldd >$0252,s std >$024E,s lda >$024B,s sta >$024C,s bra L1EFE L1ECA ldd >$0252,s cmpd >$024E,s bhi L1EE2 bcs L1EFA ldd >$0254,s cmpd >$0250,s bls L1EFA L1EE2 ldd >$0254,s std >$0250,s ldd >$0252,s std >$024E,s lda >$024A,s sta >$024C,s L1EFA inc >$024A,s L1EFE inc >$024B,s ldb >$024B,s lbra L1E61 L1F09 lda >$024A,s bne L1F33 lda >L449A,pcr bne L1F3B leau >L1801,pcr pshs u leau >L1ABB,pcr leax >$0184,s pshs u pshs x lbsr L3ED6 leas $06,s lbsr L3AA7 clra lbra L20E7 L1F33 lda >L449A,pcr lbeq L1FBB L1F3B lda >L1800,pcr bne L1FAC leax >L449A,pcr leau >L1820,pcr lbsr L11B4 clrb stb >$024B,s L1F51 cmpb #$0C bcc L1F75 leau >L1820,pcr lda #$20 mul leax $02,s leax d,x leax $01,x lbsr L11EC tsta lbeq L20E5 inc >$024B,s ldb >$024B,s lbra L1F51 L1F75 lda >$0259,s cmpa #$73 bne L1FA0 clrb stb >$024B,s L1F82 cmpb #$0C bcc L1FA0 lda #$20 mul leax $02,s leax d,x ldb ,x lda $01,x lbeq L20E5 inc >$024B,s ldb >$024B,s lbra L1F82 L1FA0 lda >$0259,s suba #$72 lbeq L20E7 bra L1FBB L1FAC leau >$0182,s lbsr L14BE lda >$0185,s sta >L46D8,pcr L1FBB ldd #$0001 pshs b,a ldd #$0022 pshs b,a ldb #$05 stb >$0251,s addb >$024E,s pshs b,a ldb >L449A,pcr beq L1FE7 leau >L1C09,pcr ldb >L1800,pcr beq L1FBB leau >L1A17,pcr bra L1FBB L1FE7 lda >$025F,s leau >L1AFB,pcr cmpa #$73 beq L1FF7 leau >L1B85,pcr L1FF7 pshs u lbsr L3B1D leas $08,s lda >$024D,s adda >$0175 sta >$024D,s clra sta >L1800,pcr sta >$024B,s L2012 cmpa >$024A,s bcc L2046 adda >$024D,s ldb >$0176 std <$0040 lda >$024B,s ldb #$20 mul leax $02,s leax d,x leax $01,x pshs x leax >L188C,pcr pshs x lbsr L3EE9 leas $04,s inc >$024B,s lda >$024B,s lbra L2012 L2046 lda >$024C,s sta >$024B,s adda >$024D,s lbsr L215D L2055 lbsr L1352 stx ,s lda ,x cmpa #$01 bne L2097 lda $01,x cmpa #$0D bne L208D lbsr L3C4C leau >L1820,pcr lda >L449A,pcr beq L2077 leau >L449A,pcr L2077 lda >$024B,s ldb #$20 mul leax $02,s leax d,x pshs x leax $01,x lbsr L11B4 puls x bra L20E5 L208D cmpa #$1B bne L2055 lbsr L3C4C clra bra L20E7 L2097 cmpa #$02 bne L2055 lda >$024D,s adda >$024B,s ldb $01,x cmpb #$01 bne L20C4 lbsr L2168 lda >$024B,s bne L20B6 lda >$024A,s L20B6 deca sta >$024B,s adda >$024D,s lbsr L215D bra L2055 L20C4 cmpb #$05 bne L2055 lbsr L2168 lda >$024B,s inca cmpa >$024A,s bne L20D7 clra L20D7 sta >$024B,s adda >$024D,s lbsr L215D lbra L2055 L20E5 lda ,x L20E7 clr >$0154 clr >$0547 leas >$0256,s rts L20F2 leas <-$48,s ldu <$4A,s ldb <$4D,s stb ,u leax ,s lbsr L46E5 lda #$01 lbsr L13FB bcs L2153 sta <$47,s lbsr L1604 ldy <$4E,s stx ,y++ std ,y ldy #$001F ldx <$4A,s leax $01,x lda <$47,s lbsr L1406 ldx #$0000 ldu #$0024 lda <$47,s ldb #$01 lbsr L143E ldy #$0007 leax <$40,s lda <$47,s lbsr L1406 lda <$47,s lbsr L1433 ldu #$01CE lbsr L11EC bne L2153 lda #$01 bra L2159 L2153 clra ldu <$4A,s sta $01,u L2159 leas <$48,s rts L215D ldb >$0176 std <$0040 lda #$1A lbsr L49E9 rts L2168 ldb >$0176 std <$0040 lda #$20 lbsr L49E9 rts L2173 fcc /toc/ fcb 0 L2177 fcc /words.tok/ fcb 0 L2181 fcc /object/ fcb 0 L2188 ldd #$e000 std <$2e ldd #$4040 pshs d lda #$18 sta <$0021 ldx <$0028 jsr >$0701 leas $02,s lbsr L12FC lbsr L4FDC lda #$0F clrb lbsr L486F lbsr L5EC4 lbsr L12F6 leau >L2173,pcr ldd #$0000 pshs b,a ldd #$0089 pshs b,a ldd #$0000 pshs b,a pshs u lbsr L4EDF leas $08,s ldu <$0089 clra ldb ,u+ stb >$05ED tfr d,x stu <$0089 L21D5 ldd <$0089 addd ,u std ,u++ leax -$01,x bne L21D5 leau >L2177,pcr ldd #$01AA pshs b,a ldd #$01A8 pshs b,a ldd #$0000 pshs b,a L21F2 pshs u lbsr L4EDF leas $08,s lbsr L257F lbsr L6024 lbsr L5376 lbsr L377F bsr L2222 clrb lbsr L25C7 ldd <$004F std <$004D ldd <$0055 std <$0053 lda >$01AF ora #$40 sta >$01AF lbsr L5545 lbsr L556F rts L2222 leas -$01,s leau >L2181,pcr ldx <$0038 beq L2230 leax -$03,x stx <$0038 L2230 ldd #$0000 pshs b,a ldd #$0038 pshs b,a pshs x pshs u lbsr L4EDF leas $08,s ldx <$0038 ldd <$0066 leau d,x lbsr L1080 ldd <$0066 subd #$0003 std <$003A ldu <$0038 lda $02,u sta ,s lda $01,u ldb ,u leau $03,u stu <$0038 leau d,u stu <$003C ldu <$0038 L2267 cmpu <$003C bcc L2278 lda $01,u ldb ,u addd <$0038 std ,u leau $03,u bra L2267 L2278 inc ,s ldu <$0030 bne L2297 lda ,s ldb #$2B mul std <$0034 lbsr L278C stu <$0030 ldd <$0034 leau d,u stu <$0032 leau <-$2B,u stu <$0036 ldu <$0030 L2297 ldx <$0034 clrb lbsr L2C7A clra L229E cmpa ,s bcc L22AA sta $02,u leau <$2B,u inca bra L229E L22AA ldu #$0431 ldx #$0100 clrb lbsr L2C7A ldu #$01AE ldx #$0020 lbsr L2C7A lbsr L096F bsr L22F3 lbsr L058F lda #$09 sta >$0445 lda >$0553 sta >$044B lda #$29 sta >$0449 lda >$01AE ora #$04 sta >$01AE clra sta >$0240 sta >$01AC inca sta >$0250 tst >$0172 bne L22F0 sta >$0447 L22F0 leas $01,s rts L22F3 lbsr L2589 lbsr L6024 lbsr L5376 lbsr L377F rts L2300 fcb 0,0,0 L2303 fcc /If you have a joystick, and/ fcb $0a fcc /wish to use it, press its/ fcb $0a fcc /button./ fcb $0a fcc /If not, press CTRL-BREAK to/ fcb $0a fcc /continue./ fcb 0 L2367 lda <$0098 eora #$01 sta <$0098 beq L23B1 clr <$0099 L2371 leau >L2303,pcr ldd #$0000 pshs b,a ldd #$0020 pshs b,a ldd #$0000 pshs b,a pshs u lbsr L3B1D leas $08,s ldb #$00 L238D stb <$0097 lbsr L138E ldb >$0541 bne L23A6 L2397 ldb <$0097 eorb #$01 cmpa #$1B bne L238D clr <$0098 lbsr L3C4C bra L23B1 L23A6 lbsr L3C4C L23A9 lbsr L2449 lda >$0541 bne L23A9 L23B1 lbsr L12FC rts L23B5 clr >$0541 clr >$0542 L23BB lda <$0098 lbeq L242F ldb >$0547 beq L23FD ldx <$009C bne L23EA ldx <$009A bne L23EA clra L23CF orcc #$50 addd >$024A std <$009C ldd >$0248 andcc #$AF bcc L23E0 addd #$0001 L23E0 std <$009A bne L23EA ldd <$009C bne L23EA inc <$009D L23EA orcc #$50 ldx >$024A ldd >$0248 andcc #$AF cmpd <$009A bhi L23FD cmpx <$009C bls L242D L23FD ldd #$0000 std <$009A std <$009C bsr L2430 lbsr L24D7 ldb >$0154 bne L2413 ldb >$017F beq L2418 L2413 tsta beq L242D bra L2428 L2418 cmpa <$0099 beq L242D ldb >$0102 bne L242D sta <$0099 cmpa >$0437 beq L242D L2428 ldb #$02 lbsr L1311 L242D bsr L245A L242F rts L2430 pshs y lda #$00 ldb #$13 ldx <$0096 os9 I$GetStt tfr x,d leax >L2300,pcr sty $01,x std ,x puls y rts L2449 pshs y lda #$00 ldb #$13 ldx <$0096 os9 I$GetStt sta >$0541 puls y rts L245A bsr L2449 lda >$0542 cmpa #$02 bne L2486 orcc #$50 ldx >$024A ldd >$0248 andcc #$AF cmpd >$0543 bcs L2486 bhi L247A cmpx >$0545 bcs L2486 L247A clr >$0542 lda #$FC ldb #$01 lbsr L1311 bra L248F L2486 lda >$0542 beq L248F cmpa #$02 bne L2499 L248F lda >$0541 beq L24D6 inc >$0542 bra L24D6 L2499 cmpa #$01 bne L24C7 lda >$0541 bne L24D6 lda >$01AF anda #$80 beq L247A clra ldb >$0440 orcc #$50 addd >$024A std >$0545 ldd >$0248 andcc #$AF bcc L24BF addd #$0001 L24BF std >$0543 inc >$0542 bra L24D6 L24C7 lda >$0541 bne L24D6 clr >$0542 lda #$FE ldb #$01 lbsr L1311 L24D6 rts L24D7 lda $02,x ldb $01,x cmpa #$25 bls L24EF lda #$08 cmpb #$16 bcs L2511 lda #$02 cmpb #$25 bhi L2511 lda #$01 bra L2511 L24EF cmpa #$16 bcc L2503 lda #$06 cmpb #$16 bcs L2511 lda #$04 cmpb #$25 bhi L2511 lda #$05 bra L2511 L2503 lda #$07 cmpb #$16 bcs L2511 lda #$03 cmpb #$25 bhi L2511 lda #$00 L2511 rts L2512 fcb $1c,$01 fcb $10,$02 fcb $19,$03 fcb $11,$04 fcb $1a,$05 fcb $12,$06 fcb $18,$07 fcb $13,$08 fcb $00,$00 L2524 fcb $0c,$01 fcb $09,$03 fcb $0a,$05 fcb $08,$07 fcb $00,$00 L252E lbsr L2C34 tsta bne L252E rts L2535 lbsr L2C34 tsta beq L254D bsr L254E tstb bmi L2544 ldb #$02 bra L254A L2544 cmpa #$0C beq L254D ldb #$01 L254A lbsr L1311 L254D rts L254E leax >L2512,pcr L2552 cmpa ,x+ beq L256F ldb ,x+ bne L2552 ldb >$0154 beq L256B leax >L2524,pcr L2563 cmpa ,x+ beq L256F ldb ,x+ bne L2563 L256B ldb #$FF bra L2572 L256F lda ,x clrb L2572 rts L2573 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 L257F leax >L2573,pcr ldd #$0000 std ,x rts L2589 leay >L2573,pcr ldy ,y beq L2597 ldd #$0000 std ,y L2597 rts L2598 leau >L2573,pcr L259C stu <$0064 ldu ,u beq L25A6 cmpb $02,u bne L259C L25A6 rts L25A7 ldb ,y+ bsr L25B7 rts L25AC ldb ,y+ ldx #$0431 abx ldb ,x bsr L25B7 rts L25B7 leas -$01,s stb ,s lda #$00 lbsr L494E ldb ,s bsr L25C7 leas $01,s rts L25C7 leas -$07,s stb ,s bsr L2598 cmpu #$0000 bne L263D ldd <$000A std $03,s lbsr L058F ldd #$000C lbsr L278C ldx <$0064 stu ,x ldd #$0000 std ,u ldb ,s stb $02,u stu $01,s lbsr L505F ldx #$0000 lbsr L4C1B beq L2633 ldx $01,s std $04,x leau $02,u stu $06,x stu $08,x ldb -$02,u lda -$01,u leau d,u lda ,u+ stu $0A,x sta $03,x beq L2633 lda <$009E beq L2633 ldd <$0062 std $05,s stx <$0062 clrb lbsr L3E0D clra ldb $03,x ldx $0A,x addd #$0001 lslb rola leax d,x lbsr L1080 ldd $05,s std <$0062 L2633 lbsr L059C ldd $03,s lbsr L280B ldu $01,s L263D leas $07,s rts L2640 leas -$02,s ldb ,y+ sty ,s bsr L266C leay ,y beq L2650 ldy ,s L2650 leas $02,s rts L2653 leas -$02,s ldb ,y+ ldx #$0431 abx ldb ,x sty ,s bsr L266C leay ,y beq L2669 ldy ,s L2669 leas $02,s rts L266C leas -$0A,s stb ,s ldd <$0062 std $01,s lda #$01 sta $03,s ldb ,s lbsr L2598 stu <$0062 beq L2688 ldd $04,u lbsr L280B bra L26A2 L2688 ldd <$0064 std $04,s ldb ,s lbsr L25C7 stu <$0062 stu $06,s lda $04,u ldu $06,u leau -$02,u lbsr L27EB stu $08,s clr $03,s L26A2 lda <$0068 beq L26AE cmpa #$02 bne L26AE lda #$01 sta <$0068 L26AE lda ,s bne L26B6 lda #$01 sta <$0069 L26B6 lbsr L4763 lda $03,s bne L26D2 ldd #$0000 ldx $04,s std ,x lbsr L058F ldd $08,s std <$004F ldd $06,s std <$0055 lbsr L059C L26D2 ldu $01,s stu <$0062 beq L26DD ldd $04,u lbsr L280B L26DD leas $0A,s rts L26E0 ldx <$0062 sty $08,x rts L26E6 ldx <$0062 ldd $06,x std $08,x rts L26ED leau >L2573,pcr ldx #$0554 L26F4 lda $02,u sta ,x ldd $08,u subd $06,u std $01,x leax $03,x ldu ,u bne L26F4 lda #$FF sta ,x tfr x,d subd #$0553 tfr d,x rts L2710 ldx #$0554 L2713 lda ,x cmpa #$FF beq L2727 cmpa $02,u beq L2721 leax $03,x bra L2713 L2721 ldd $06,u addd $01,x std $08,u L2727 rts L2728 fcc /Out of %s memory./ fcb $0a L274A fcc /Want: %d, Have: %d/ fcb 0 L274D fcc /heap/ fcb 0 L2752 fcc /common/ fcb 0 L2759 leas -$34,s std ,s ldd <$4f tfr d,u addd ,s bhs L277A L2766 ldd #$FFFF subd <$004F addd #$0001 pshs b,a L2770 ldd $02,s pshs b,a leax >L274D,pcr bra L27A4 L277A std <$004F lbsr L27E2 ldd <$004F cmpd <$004B bls L2788 std <$004B L2788 leas <$34,s rts L278C leas <-$34,s std ,s ldd <0 subd <$0055 cmpd ,s bcc L27C1 pshs b,a ldd $02,s pshs b,a L27A0 leax >L2752,pcr L27A4 pshs x leax >L2728,pcr leau $08,s pshs x pshs u lbsr L3ED6 leas $0A,s lbsr L3AA7 lda #$03 sta <$0009 ldx <$0022 jsr >$0701 L27C1 ldd <$0055 tfr d,u addd ,s std <$0055 cmpd <$0051 bls L27D0 std <$0051 L27D0 leas <$34,s rts L27D4 lbsr L05DC ldd <$004D std <$004F bsr L27E2 ldd <$0053 std <$0055 rts L27E2 ldd #$FFFF subd <$004F sta >$0439 rts L27EB suba <$005F ldb #$20 mul exg b,a subd #$2000 leau d,u rts L27F8 tfr u,d anda #$1F adda #$20 exg d,u lsra lsra lsra lsra lsra adda <$005F tfr a,b incb rts L280B cmpa <$000A beq L2825 orcc #$50 std <$000A lda <$0042 sta >$FFA9 ldx <$0043 lda <$000A sta ,x stb $02,x std >$FFA9 andcc #$AF L2825 rts L2826 fcb 1 L2827 fcb 0,0 L2829 fcb 0,0 L282B fcb 0 L282C fcb 0 L282D fcb 0,0 L282F fcb 0 L2830 fcb 0 L2831 fcb 0 L2832 fcb 0 L2833 fcb 0 L2834 fcb 0 L2835 leas -$04,s ldb ,y+ lbsr L3E0D stu ,s ldu <$0062 ldd $04,u std $02,s lda >L2834,pcr bne L28B0 ldd #$0010 lbsr L278C ldd >L282D,pcr bne L2862 stu >L282D,pcr lda #$01 sta >L282F,pcr bra L2870 L2862 ldx >L2829,pcr stu ,x stx $02,u ldd $0B,x bne L2870 sta $0A,x L2870 ldx >L282D,pcr stx ,u stu $02,x stu >L2829,pcr ldd #$0000 std $0B,u sta $08,u sta $0F,u lda >L282F,pcr sta $09,u lda #$01 sta $0A,u ldx ,s stx $04,u ldd $02,s std $06,u lbsr L11A0 incb addb >L282F,pcr stb >L282F,pcr ldd #$0000 std >L2827,pcr lda #$01 sta >L282B,pcr L28B0 leas $04,s rts L28B3 leas -$05,s ldb ,y+ lbsr L3E0D stu ,s ldu <$0062 ldd $04,u std $02,s lda ,y+ sta $04,s lda >L2834,pcr bne L2932 ldd #$000C lbsr L278C ldx >L2827,pcr bne L28E4 ldx >L2829,pcr stu $0D,x stu $0B,x stu $02,u bra L28EC L28E4 stu ,x stx $02,u ldx >L2829,pcr L28EC ldx $0B,x stx ,u stu $02,x stu >L2827,pcr ldx ,s stx $04,u ldd $02,s std $06,u lda >L282B,pcr inc >L282B,pcr cmpa #$01 bne L291E lbsr L11A0 negb addb #$27 ldx >L2829,pcr cmpb $09,x bls L291A ldb $09,x L291A stb >L282C,pcr L291E ldd >L282B,pcr std $08,u lda #$01 sta $0A,u lda $04,s sta $0B,u ldx >L2829,pcr inc $0F,x L2932 leas $05,s rts L2935 ldu >L2829,pcr ldd $0B,u bne L293F sta $0A,u L293F ldd <$0055 std <$0053 ldu >L282D,pcr stu >L2829,pcr ldd $0B,u std >L2827,pcr lda #$01 sta >L2834,pcr rts L2958 lda ,y+ ldb #$01 bsr L2986 rts L295F ldu >L282D,pcr beq L297E L2965 lda $0A,u beq L2975 ldx $0B,u L296B lda #$01 sta $0A,x ldx ,x cmpx $0B,u bne L296B L2975 ldu ,u cmpu >L282D,pcr bne L2965 L297E rts L297F lda ,y+ ldb #$00 bsr L2986 rts L2986 leas -$02,s std ,s ldu >L282D,pcr L298E lda $0A,u beq L29A2 ldx $0B,u ldd ,s L2996 cmpa $0B,x bne L299C stb $0A,x L299C ldx ,x cmpx $0B,u bne L2996 L29A2 ldu ,u cmpu >L282D,pcr bne L298E leas $02,s rts L29AE lda >$01AF anda #$02 beq L29BA lda #$01 sta >$05AE L29BA rts L29BB ldb ,y+ stb >L2826,pcr rts L29C2 leas -$04,s lda >L2826,pcr lbeq L2B2B lbsr L4A5F lbsr L4903 ldd #$000F lbsr L4A85 ldu >L282D,pcr L29DC stu ,s ldx ,s lbsr L2BC4 ldu ,s ldu ,u cmpu >L282D,pcr bne L29DC ldd >L2827,pcr std $02,s ldu >L2829,pcr stu ,s lbsr L2B39 lda #$01 sta >$0154 lda #$03 sta >$0547 L2A07 lbsr L1352 lda ,x cmpa #$01 bne L2A4F lda $01,x cmpa #$0D bne L2A25 ldu $02,s lda $0A,u beq L2A07 lda $0B,u ldb #$03 lbsr L1311 bra L2A2B L2A25 cmpa #$1B lbne L2B1C L2A2B ldu ,s ldx $02,s lbsr L2B7F clr >$0547 lbsr L4918 lbsr L4A73 lda >$0246 beq L2A46 lbsr L5801 lbra L2B2B L2A46 ldd #$0000 lbsr L4A85 lbra L2B2B L2A4F cmpa #$02 lbne L2B1C lda $01,x cmpa #$01 bne L2A6C ldx $02,s lbsr L2BC4 ldx $02,s ldx $02,x stx $02,s lbsr L2B9D lbra L2B1C L2A6C cmpa #$02 bne L2A81 ldx $02,s lbsr L2BC4 ldu ,s ldx $0B,u stx $02,s lbsr L2B9D lbra L2B1C L2A81 cmpa #$03 bne L2AA0 ldu ,s ldx $02,s lbsr L2B7F ldu ,s L2A8E ldu ,u lda $0A,u beq L2A8E stu ,s ldx $0D,u stx $02,s lbsr L2B39 lbra L2B1C L2AA0 cmpa #$04 bne L2AB6 ldx $02,s lbsr L2BC4 ldu ,s ldx $0B,u ldx $02,x stx $02,s lbsr L2B9D bra L2B1C L2AB6 cmpa #$05 bne L2ACA ldx $02,s lbsr L2BC4 ldx $02,s ldx ,x stx $02,s lbsr L2B9D bra L2B1C L2ACA cmpa #$06 bne L2AE6 ldu ,s ldx $02,s lbsr L2B7F ldu >L282D,pcr ldu $02,u stu ,s ldx $0D,u stx $02,s lbsr L2B39 bra L2B1C L2AE6 cmpa #$07 bne L2B04 ldu ,s ldx $02,s lbsr L2B7F ldu ,s L2AF3 ldu $02,u lda $0A,u beq L2AF3 stu ,s ldx $0D,u stx $02,s lbsr L2B39 bra L2B1C L2B04 cmpa #$08 bne L2B1C ldu ,s ldx $02,s lbsr L2B7F ldu >L282D,pcr stu ,s ldx $0D,u stx $02,s lbsr L2B39 L2B1C ldd ,s std >L2829,pcr ldd $02,s std >L2827,pcr lbra L2A07 L2B2B lda #$00 sta >$0154 sta >$05AE sta >$0547 leas $04,s rts L2B39 leas -$04,s stu ,s ldx ,s bsr L2B9D ldu ,s lbsr L2BEB ldd #$000F pshs b,a ldd >L2830,pcr pshs b,a ldd >L2832,pcr pshs b,a lda #$0C sta <$0019 ldx <$0026 jsr >$0701 leas $06,s ldu ,s ldx $0B,u L2B66 stx $02,s cmpx $0D,u beq L2B70 bsr L2BC4 bra L2B72 L2B70 bsr L2B9D L2B72 ldx $02,s ldx ,x ldu ,s cmpx $0B,u bne L2B66 leas $04,s rts L2B7F stx $0D,u tfr u,x bsr L2BC4 ldd >L2830,pcr pshs b,a ldd >L2832,pcr pshs b,a lda #$03 sta <$0019 ldx <$0026 jsr >$0701 leas $04,s rts L2B9D ldd $08,x std <$0040 ldd #$0F00 lbsr L486F lda $0A,x bne L2BAF lda #$0F sta <$0045 L2BAF pshs x ldd $06,x lbsr L280B puls x ldd $04,x pshs b,a lbsr L3EE9 leas $02,s clr <$0045 rts L2BC4 ldd $08,x std <$0040 ldd #$000F lbsr L486F lda $0A,x bne L2BD6 lda #$0F sta <$0045 L2BD6 pshs x ldd $06,x lbsr L280B puls x ldd $04,x pshs b,a lbsr L3EE9 leas $02,s clr <$0045 rts L2BEB leas -$01,s lda $0F,u sta ,s ldb #$08 mul addb #$10 stb >L2830,pcr ldu $0B,u ldd $06,u lbsr L280B ldx $04,u lbsr L11A0 lda #$04 mul addb #$08 stb >L2831,pcr lda $09,u deca ldb #$04 mul stb >L2832,pcr lda ,s adda #$02 suba >$0241 ldb #$08 mul addb #$07 stb >L2833,pcr leas $01,s rts L2C2C fcb 1,$ff fcb 3,$ff fcb 7,$ff fcb $f,$ff L2C34 leas -$03,s sty ,s lda #$00 ldb #$01 os9 I$GetStt bcs L2C73 lda #$00 ldy #$0001 leax $02,s os9 I$Read bcs L2C73 lda $02,s bra L2C74 cmpa #$F4 bne L2C74 lda <$0068 bne L2C68 lda >$01AF ora #$20 sta >$01AF lbsr L5A61 bra L2C73 L2C68 lda >$01AF anda #$DF sta >$01AF lbsr L5AF2 L2C73 clra L2C74 ldy ,s leas $03,s rts L2C7A pshs u L2C7C stb ,u+ leax -$01,x bne L2C7C puls u rts L2C85 lda $02,s sta <$00B9 ldd $06,s std <$00A2 lbsr L2DED ldd #$0009 std <$00A4 ldd #$0102 std <$00A9 ldd #$0200 std <$00B1 ldd #$0000 std <$00A6 std <$00B4 std <$00AB std <$00BA stb <$00B6 stb <$00A8 stb <$00AD lbsr L2E72 tst <$009F lbne L2D6B ldx $04,s L2CBB lbsr L2E08 tst <$009F lbne L2D6B cmpd #$0101 lbeq L2D6B cmpd #$0100 bne L2CF6 ldd #$0009 std <$00A4 ldd #$0102 std <$00A9 ldd #$0200 std <$00B1 lbsr L2E08 tst <$009F lbne L2D6B std <$00A6 std <$00B4 stb <$00AD stb <$00A8 stb ,x+ bra L2CBB L2CF6 std <$00A6 std <$00AB cmpd <$00A9 bcs L2D09 ldb <$00A8 pshs b inc <$00B6 ldd <$00B4 std <$00A6 L2D09 cmpd #$0100 bcs L2D24 addd <$00A6 addd <$00A6 ldu #$6400 leau d,u ldb $02,u pshs b inc <$00B6 ldd ,u std <$00A6 bra L2D09 L2D24 stb <$00A8 stb <$00AD pshs b lda <$00B6 inca L2D2D puls b stb ,x+ deca bne L2D2D sta <$00B6 ldd <$00A9 addd <$00A9 addd <$00A9 ldu #$6400 leau d,u ldb <$00AD stb $02,u ldd <$00B4 std ,u ldd <$00A9 addd #$0001 std <$00A9 ldu <$00AB stu <$00B4 cmpd <$00B1 lbcs L2CBB ldb <$00A5 cmpb #$0B lbeq L2CBB incb stb <$00A5 lsl <$00B1 lbra L2CBB L2D6B tfr x,d subd $04,s rts L2D70 lda $02,s sta <$00B9 ldd $06,s std <$00A2 bsr L2DED clrb stb <$00BC stb <$00B3 lbsr L2E72 tst <$009F bne L2DE8 ldu #$6000 ldx $04,s L2D8B cmpu #$63FE bcs L2DA4 stx <$00B7 tfr u,d subd #$6000 lbsr L2E62 tst <$009F bne L2DE8 ldu #$6000 ldx <$00B7 L2DA4 ldb ,u lda <$00BC beq L2DC2 lda <$00B3 anda #$01 beq L2DB4 andb #$0F bra L2DB8 L2DB4 lsrb lsrb lsrb lsrb L2DB8 leau a,u eora #$01 sta <$00B3 clr <$00BC bra L2DE2 L2DC2 leau $01,u lda <$00B3 anda #$01 beq L2DD4 lda ,u lsla rolb lsla rolb lsla rolb lsla rolb L2DD4 lda #$01 sta <$00BC cmpb #$F0 beq L2DE2 cmpb #$F2 beq L2DE2 clr <$00BC L2DE2 stb ,x+ cmpb #$FF bne L2D8B L2DE8 tfr x,d subd $04,s rts L2DED orcc #$50 lda >$FFA9 ldb <$0042 stb >$FFA9 ldx <$0043 ldb <$005F addb #$08 stb $04,x stb >$FFAB sta >$FFA9 andcc #$AF rts L2E08 stx <$00B7 ldd <$00BA cmpd #$1FF0 bcs L2E25 lsra rorb lsra rorb lsra rorb bsr L2E62 tst <$009F bne L2E5F clra ldb <$00BB andb #$07 std <$00BA L2E25 ldu <$00A4 leau d,u lsra rorb lsra rorb lsra rorb ldx #$6000 leax d,x lda $01,x ldb ,x std <$00AE ldb $02,x stb <$00B0 ldb <$00BB stu <$00BA andb #$07 beq L2E4F L2E46 lsr <$00B0 ror <$00AE ror <$00AF decb bne L2E46 L2E4F ldb <$00A5 subb #$09 lslb leax >L2C2C,pcr abx ldd <$00AE anda ,x andb $01,x L2E5F ldx <$00B7 rts L2E62 ldu #$6000 ldu d,u stu >$6000 subd #$0400 negb lbsr L2E72 rts L2E72 ldx #$6000 abx negb sex addd #$0400 std <$00A0 ldd <$00A2 beq L2E9A cmpd <$00A0 bcs L2E8E subd <$00A0 std <$00A2 ldd <$00A0 bra L2E93 L2E8E ldu #$0000 stu <$00A2 L2E93 tfr d,y lda <$00B9 lbsr L1406 L2E9A rts L2E9B tst >$0550 beq L2EA9 lda #$00 sta <$0021 ldx <$0028 jsr >$0701 L2EA9 ldd #$A8A0 pshs b,a ldd #$00A7 pshs b,a lda #$00 sta <$0019 ldx <$0026 jsr >$0701 leas $04,s rts L2EBF lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$03 sta <$22,u lda ,y+ sta <$27,u lda ,y+ sta <$28,u lda <$1E,u sta <$29,u lda ,y+ beq L2EE4 sta <$1E,u L2EE4 lda ,y+ sta <$2A,u lbsr L1732 lda <$26,u ora #$10 sta <$26,u cmpu <$0030 bne L2EFC clr >$0250 L2EFC lbsr L31A4 rts L2F00 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$03 sta <$22,u ldb ,y+ ldx #$0431 abx lda ,x sta <$27,u ldb ,y+ ldx #$0431 abx lda ,x sta <$28,u lda <$1E,u sta <$29,u ldb ,y+ ldx #$0431 abx lda ,x beq L2F37 sta <$1E,u L2F37 lda ,y+ sta <$2A,u lbsr L1732 lda <$26,u ora #$10 sta <$26,u cmpu <$0030 bne L2F4F clr >$0250 L2F4F lbsr L31A4 rts L2F53 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$02 sta <$22,u lda <$1E,u sta <$27,u lda ,y+ cmpa <$1E,u bls L2F71 sta <$27,u L2F71 lda ,y+ sta <$28,u lbsr L1732 lda #$FF sta <$29,u lda <$26,u ora #$10 sta <$26,u rts L2F87 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$01 sta <$22,u lda <$26,u ora #$10 sta <$26,u cmpu <$0030 bne L2FA5 clr >$0250 L2FA5 rts L2FA6 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$00 sta <$22,u rts L2FB5 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$00 sta <$22,u clra sta <$21,u cmpu <$0030 bne L2FD2 sta >$0437 sta >$0250 l2FD2 rts L2FD3 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda #$00 sta <$22,u cmpu <$0030 bne L2FEE clr >$0437 lda #$01 sta >$0250 L2FEE rts L2FEF lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx lda ,x sta <$1E,u rts L3004 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx lda ,x sta ,u sta $01,u rts L301A lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx lda ,x sta <$21,u rts L302F lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx lda <$21,u sta ,x rts L3044 clr >$0250 rts L3048 lda #$01 sta >$0250 ldu <$0030 lda #$00 sta <$22,u rts L3055 fcb 0,0 fcb 1,1 fcb 1,0 fcb $ff,$ff fcb $ff L305E fcb 0 fcb $ff,$ff fcb 0,1 fcb 1,1 fcb 0,$ff L3067 leas -$0B,s clra sta >$0433 sta >$0435 sta >$0436 ldu <$0030 L3075 cmpu <$0032 lbcc L3198 lda <$26,u anda #$51 cmpa #$51 lbne L3192 lda $01,u beq L3093 deca beq L3093 sta $01,u lbra L3192 L3093 lda ,u sta $01,u clra sta $02,s ldb <$1E,u std $09,s ldb $03,u std $03,s stb $07,s ldb $04,u std $05,s stb $08,s lda <$25,u bita #$04 bne L30E8 leax >L3055,pcr lda <$21,u lda a,x beq L30CD bpl L30C7 ldd $03,s subd $09,s std $03,s bra L30CD L30C7 ldd $03,s addd $09,s std $03,s L30CD leax >L305E,pcr lda <$21,u lda a,x beq L30E8 bpl L30E2 ldd $05,s subd $09,s std $05,s bra L30E8 L30E2 ldd $05,s addd $09,s std $05,s L30E8 ldd #$0000 cmpd $03,s ble L30F8 std $03,s lda #$04 sta $02,s bra L310C L30F8 ldb <$1C,u negb lda #$FF addd #$00A0 cmpd $03,s bge L310C std $03,s lda #$02 sta $02,s L310C clra ldb <$1D,u decb cmpd $05,s ble L311E std $05,s lda #$01 sta $02,s bra L3143 L311E ldd #$00A7 cmpd $05,s bge L312E std $05,s lda #$03 sta $02,s bra L3143 L312E lda <$26,u bita #$08 bne L3143 lda >$01D6 cmpa $06,s bls L3143 inca sta $06,s lda #$01 sta $02,s L3143 lda $04,s ldb $06,s std $03,u lbsr L08A2 tsta bne L3164 stu ,s pshs u lda #$03 sta <$0021 ldx <$0028 jsr >$0701 leas $02,s ldu ,s lda <$005C bne L316D L3164 ldd $07,s std $03,u clr $02,s lbsr L164B L316D lda $02,s beq L318A ldb $02,u bne L317A sta >$0433 bra L3180 L317A stb >$0435 sta >$0436 L3180 lda <$22,u cmpa #$03 bne L318A lbsr L31C7 L318A lda <$25,u anda #$FB sta <$25,u L3192 leau <$2B,u lbra L3075 L3198 leas $0B,s rts L319B fcb 8,1,2,7,0,3,6,5,4 L31A4 ldb $1e,u pshs b,a ldd <$27,u pshs b,a ldd $03,u pshs b,a lbsr L31E6 leas $06,s cmpu <$0030 bne L31BF sta >$0437 L31BF sta <$21,u bne L31C6 bsr L31C7 L31C6 rts L31C7 lda <$29,u sta <$1E,u lda <$2A,u lbsr L172B lda #$00 sta <$22,u cmpu <$0030 bne L31E5 lda #$01 sta >$0250 clr >$0437 L31E5 rts L31E6 leas -$03,s clra sta $09,s ldb $05,s std ,s ldb $07,s subd ,s pshs b,a ldd $0B,s pshs b,a lbsr L3220 leas $04,s sta $02,s clra sta $05,s ldb $08,s subd $05,s pshs b,a ldd $0B,s pshs b,a lbsr L3220 leas $04,s leax >L319B,pcr ldb #$03 mul addb $02,s lda b,x leas $03,s rts L3220 ldd #$0000 subd $02,s cmpd $04,s blt L322D clra bra L323A L322D ldd $02,s cmpd $04,s bgt L3238 lda #$02 bra L323A L3238 lda #$01 L323A rts L323B lda ,y bsr L324B rts L3240 ldb ,y ldx #$0431 abx lda ,x bsr L324B rts L324B leas -$01,s sta ,s lbsr L27D4 lbsr L12FC lbsr L492F lda #$01 sta >$05B1 ldu <$0030 L325F cmpu <$0032 bcc L328F lda <$26,u anda #$BE ora #$10 sta <$26,u ldd #$0000 sta <$25,u std <$10,u std $06,u std <$16,u inca sta <$1E,u sta <$1F,u sta <$20,u sta $01,u sta ,u leau <$2B,u bra L325F L328F lbsr L22F3 clra sta >$01AC sta >$0435 sta >$0436 inca sta >$0250 lda #$24 sta >$01D6 lda >$0431 sta >$0432 ldb ,s stb >$0431 lbsr L25B7 ldb <$006A beq L32BA lbsr L25C7 L32BA ldu <$0030 lda $05,u sta >$0441 lda >$0433 beq L32F2 cmpa #$01 bne L32D0 lda #$A7 sta $04,u bra L32EF L32D0 cmpa #$02 bne L32DA lda #$00 sta $03,u bra L32EF L32DA cmpa #$03 bne L32E4 lda #$25 sta $04,u bra L32EF L32E4 cmpa #$04 bne L32EF lda #$A0 suba <$1C,u sta $03,u L32EF clr >$0433 L32F2 lda >$01AE ora #$04 sta >$01AE lbsr L096F lbsr L5801 lbsr L5EC4 ldy #$0000 leas $01,s rts L330A bsr L331F lda #$FF sta $02,u rts L3311 bsr L3335 lda #$FF sta $02,u rts L3318 bsr L331F lda #$00 sta $02,u rts L331F ldx <$0038 ldb ,y+ abx abx abx tfr x,u cmpu <$003C bcs L3334 lda #$17 ldb -$01,y lbsr L10ED L3334 rts L3335 ldb ,y+ ldx #$0431 abx ldb ,x ldx <$0038 abx abx abx tfr x,u cmpu <$003C bcs L3350 lda #$17 ldb -$01,y lbsr L10ED l3350 rts L3351 bsr L331F ldb ,y+ ldx #$0431 abx lda ,x sta $02,u rts L335E bsr L3335 ldb ,y+ ldx #$0431 abx lda ,x sta $02,u rts L336B bsr L3335 ldb ,y+ ldx #$0431 abx lda $02,u sta ,x rts L3378 fcb 1 L3379 leas -2,s stx ,s pshs x lda #$1B sta <$0021 ldx <$0028 jsr >$0701 leas $02,s ldx ,s bsr L3391 leas $02,s rts L3391 ldu ,x beq L33AD ldd #$0000 std ,x std $02,x tfr u,x L339E stx <$0055 ldu $0A,x lda $0C,x lbsr L27EB stu <$004F ldx ,x bne L339E L33AD rts L33AE leas >-$00C8,s stu ,s stx $02,s ldu <$0030 clr $04,s L33BA cmpu <$0032 bcc L3407 jsr [,s] tsta beq L3402 leax $05,s lda $04,s lsla stu a,x ldb $04,u lda <$26,u bita #$04 beq L33F8 lda >L3378,pcr beq L33E6 lda <$24,u suba #$05 ldb #$0C mul addb #$30 bra L33F8 L33E6 clrb lda <$24,u beq L33F8 ldx #$05ED ldb #$A8 L33F1 cmpa b,x bhi L33F8 decb bne L33F1 L33F8 leax >$0085,s lda $04,s stb a,x inc $04,s L3402 leau <$2B,u bra L33BA L3407 clra L3408 sta >$00C5,s cmpa $04,s bcc L344A leax >$0085,s lda #$FF sta >$00C7,s clra L341B cmpa $04,s bcc L3432 ldb a,x cmpb >$00C7,s bcc L342F sta >$00C6,s stb >$00C7,s L342F inca bra L341B L3432 lda #$FF ldb >$00C6,s sta b,x leau $05,s lslb ldx b,u ldu $02,s bsr L3451 lda >$00C5,s inca bra L3408 L344A ldx $02,s leas >$00C8,s rts L3451 leas -$02,s stu ,s lbsr L445B ldx ,s ldx ,x stx ,u beq L3462 stu $02,x L3462 ldx ,s stu ,x ldd $02,x bne L346C stu $02,x L346C leas $02,s rts L346F fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0,0 fcb 0 L3498 fcb 0,0 L349A fcc / ,.?!();:[]{}/ fcb 0 L34A8 fcc /'`-"/ fcb 0 L34AD leas -$07,s stx ,s clrb ldu #$0180 ldx #$0014 lbsr L2C7A ldu #$0194 ldx #$0014 lbsr L2C7A ldu ,s lbsr L3563 clr $02,s L34CB leau >L346F,pcr stu >L3498,pcr ldd <$000A std $05,s ldd >$01AA lbsr L280B L34DD lda ,u beq L352A lda $02,s cmpa #$0A bcc L352A lbsr L35C4 std $03,s beq L3524 bpl L350A ldx #$0180 ldb $02,s abx abx stu ,x incb stb >$015A stb >$043A lda >$01AE ora #$20 sta >$01AE bra L3539 L350A ldb $02,s ldx #$0194 abx abx ldd $03,s std ,x ldb $02,s ldx #$0180 abx abx ldd >L3498,pcr std ,x inc $02,s L3524 stu >L3498,pcr bra L34DD L352A lda $02,s beq L3539 sta >$015A lda >$01AE ora #$20 sta >$01AE L3539 ldd $05,s lbsr L280B leas $07,s rts L3541 lda >$01AE anda #$DF sta >$01AE lda >$01AE anda #$F7 sta >$01AE lda ,y+ cmpa #$0C bcc L3562 ldb #$28 mul ldx #$0251 leax d,x lbsr L34AD L3562 rts L3563 leas -$02,s leax >L346F,pcr stx ,s L356B lda ,u+ beq L35AB leax >L349A,pcr lbsr L12D9 bne L356B leax >L34A8,pcr lbsr L12D9 bne L356B bra L3595 L3583 leax >L349A,pcr lbsr L12D9 bne L35A1 leax >L34A8,pcr lbsr L12D9 bne L359B L3595 ldx ,s sta ,x+ stx ,s L359B lda ,u+ bne L3583 bra L35AB L35A1 lda #$20 ldx ,s sta ,x+ stx ,s bra L356B L35AB leax >L346F,pcr cmpx ,s bcc L35BF ldx ,s lda -$01,x cmpa #$20 bne L35BF leax -$01,x stx ,s L35BF clr [,s] leas $02,s rts L35C4 leas -$06,s ldd #$FFFF std ,s ldd #$0000 std $02,s lda ,u lbsr L12B2 cmpa #$61 bcs L35DD cmpa #$7A bls L35E3 L35DD lbsr L367B lbra L3676 L35E3 ldb $01,u cmpb #$20 beq L35ED cmpb #$00 bne L3606 L35ED cmpa #$61 beq L35F5 cmpa #$69 bne L3606 L35F5 clrb stb ,s stb $01,s leax $01,u stx $02,s ldb ,x+ cmpb #$20 bne L3606 stx $02,s L3606 suba #$61 lsla ldx >$01A8 ldd a,x beq L35DD leax d,x clr $04,s L3614 lda $04,s cmpa ,x+ bhi L366A bne L365A L361C lda ,x anda #$7F sta $05,s lda ,u lbsr L12B2 eora #$7F cmpa $05,s bne L365A leau $01,u inc $04,s lda ,x anda #$80 beq L3656 lda ,u cmpa #$00 beq L3641 cmpa #$20 bne L3660 L3641 ldd $01,x std ,s stu $02,s lda ,u cmpa #$00 beq L3676 tfr u,d addd #$0001 std $02,s bra L3660 L3656 leax $01,x bra L361C L365A lda ,u cmpa #$00 beq L366A L3660 lda ,x+ bpl L3660 leax $02,x cmpa #$00 bne L3614 L366A ldu $02,s lbeq L35DD lda ,u beq L3676 clr -$01,u L3676 ldd ,s leas $06,s rts L367B ldu >L3498,pcr tfr u,x L3681 lda ,x+ beq L368B cmpa #$20 bne L3681 clr -$01,x L368B rts L368C ldu #$05B2 lda ,y+ sta ,u lda ,y+ sta $01,u lda ,y+ sta $02,u ldd ,y++ std $03,u lda $01,y lsla lsla lsla lsla ora ,y++ sta $05,u bsr L36E6 rts L36AC ldu #$05B2 ldx #$0431 clra ldb ,y+ ldb d,x stb ,u ldb ,y+ ldb d,x stb $01,u ldb ,y+ ldb d,x stb $02,u ldb ,y+ ldb d,x stb $03,u ldb ,y+ ldb d,x stb $04,u ldb ,y+ ldb d,x stb $05,u ldb ,y+ ldb d,x lslb lslb lslb lslb orb $05,u stb $05,u bsr L36E6 rts L36E6 leas -$02,s ldd <$000A std ,s lda #$05 clrb lbsr L494E ldx #$05B2 ldd ,x lbsr L494E ldd $02,x lbsr L494E ldd $04,x lbsr L494E ldu <$0036 ldb $02,x stb $0E,u ldb $01,x stb $0A,u ldb ,x lbsr L60EF ldd <$10,u std <$12,u ldd $08,u std <$14,u ldx #$05B2 ldd $03,x std $03,u std <$1A,u lda #$02 ldb #$0C std <$25,u lda #$0F sta <$24,u lbsr L164B ldx #$05B2 lda $05,x anda #$0F bne L3745 lda #$08 sta <$26,u L3745 lda $05,x sta <$24,u lbsr L058F ldd <$0036 pshs b,a lda #$0F sta <$0021 ldx <$0028 jsr >$0701 leas $02,s lbsr L059C ldd <$0036 pshs b,a lda #$1B sta <$0019 ldx <$0026 jsr >$0701 leas $02,s ldd ,s lbsr L280B leas $02,s rts L3776 fcb 0,0,0,0,0,0,0 L377D fdb 0 L377F leau $3776,pcr ldd #0 std ,u rts L3789 leau >L3776,pcr L378D stu >L377D,pcr ldu ,u beq L3799 cmpb $02,u bne L378D L3799 rts L379A ldx #$0431 ldb ,y+ abx ldb ,x bsr L37A5 rts L37A5 leas -$05,s stb ,s bsr L3789 cmpu #$0000 bne L37F7 ldd <$000A std $03,s lbsr L058F lda #$02 ldb ,s lbsr L494E leau >L3776,pcr ldx >L377D,pcr beq L37D6 ldd #$0007 lbsr L278C stu ,x ldd #$0000 std ,u L37D6 ldb ,s stb $02,u stu $01,s lbsr L50B2 ldx #$0000 lbsr L4C1B beq L37ED ldx $01,s std $05,x stu $03,x L37ED lbsr L059C ldd $03,s lbsr L280B ldu $01,s L37F7 leas $05,s rts L37FA ldx #$0431 ldb ,y+ abx ldb ,x bsr L3805 rts L3805 leas -$01,s stb ,s stb >$0240 lbsr L3789 cmpu #$0000 bne L381C lda #$12 ldb ,s lbsr L10ED L381C ldd $03,u std >$0551 pshs u lda #$04 ldb $02,s lbsr L494E lbsr L058F lda #$06 sta <$0021 ldx <$0028 jsr >$0701 leas $02,s lbsr L059C clr >$0100 leas $01,s rts L3841 ldx #$0431 ldb ,y+ abx ldb ,x bsr L384C rts L384C leas -$01,s stb ,s stb >$0240 lbsr L3789 cmpu #$0000 bne L3863 lda #$12 ldb ,s lbsr L10ED L3863 ldd $03,u std >$0551 pshs u lda #$08 ldb $02,s lbsr L494E lbsr L058F lda #$09 sta <$0021 ldx <$0028 jsr >$0701 leas $02,s lbsr L059C lbsr L05BB clr >$0100 leas $01,s rts L388B lda >$01AF anda #$FE sta >$01AF lbsr L3C4C lbsr L2E9B lda #$01 sta >$0100 rts L389F ldx #$0431 ldb ,y+ abx ldb ,x bsr L38AA rts L38AA leas -$03,s stb ,s lbsr L3789 ldb ,s cmpu #$0000 bne L38BE lda #$15 lbsr L10ED L38BE stu $01,s lda #$06 ldb ,s lbsr L494E ldu >L377D,pcr ldd #$0000 std ,u lbsr L058F ldu $01,s stu <$0055 lda $05,u ldu $03,u lbsr L27EB stu <$004F lbsr L059C lbsr L27E2 leas $03,s rts L38E9 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldd ,y++ std $03,u std <$1A,u rts L38FA lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldx #$0431 ldb ,y+ abx lda ,x ldx #$0431 ldb ,y+ abx ldb ,x std $03,u std <$1A,u rts L3919 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldx #$0431 ldb ,y+ abx lda $03,u sta ,x ldx #$0431 ldb ,y+ abx lda $04,u sta ,x rts L3937 leas -$02,s lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$25,u ora #$04 sta <$25,u ldx #$0431 ldb ,y+ abx ldb ,x sex std ,s clra ldb $03,u addd ,s bpl L395D clrb L395D stb $03,u ldx #$0431 ldb ,y+ abx ldb ,x sex std ,s clra ldb $04,u addd ,s bpl L3972 clrb L3972 stb $04,u lbsr L164B leas $02,s rts L397A lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldd ,y++ std $03,u lda <$25,u ora #$04 sta <$25,u lbsr L164B rts L3993 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldx #$0431 ldb ,y+ abx lda ,x ldx #$0431 ldb ,y+ abx ldb ,x std $03,u lda <$25,u ora #$04 sta <$25,u lbsr L164B rts L39BA lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$25,u ora #$01 sta <$25,u rts L39CC lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$25,u ora #$08 sta <$25,u rts L39DE lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$25,u anda #$F6 sta <$25,u rts L39F0 lda ,y+ sta >$01D6 rts L39F6 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u ora #$08 sta <$26,u rts L3A08 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u anda #$F7 sta <$26,u rts L3A1A fcc /Message too verbose:/ fcb $0a,$0a fcc /"%s..."/ fcb $0a,$0a fcc /Press CTRL-BREAK to continue./ fcb 0 L3A57 fcb $ff L3A58 fcb $ff L3A59 fcb $ff L3A5A ldb ,y+ lbsr L3E0D bsr L3AA7 rts L3A62 ldx #$0431 ldb ,y+ abx ldb ,x lbsr L3E0D bsr L3AA7 rts L3A70 ldb ,y+ bsr L3A80 rts L3A75 ldx #$0431 ldb ,y+ abx ldb ,x bsr L3A80 rts L3A80 lda ,y+ sta >L3A58,pcr lda ,y+ sta >L3A57,pcr lda ,y+ bne L3A92 lda #$1E L3A92 sta >L3A59,pcr lbsr L3E0D bsr L3AA7 ldd #$FFFF sta >L3A59,pcr std >L3A57,pcr L3AA6 rts L3AA7 leas -$05,s ldd #$0000 pshs b,a ldd #$0000 pshs b,a ldd #$0000 pshs b,a pshs u lbsr L3B1D leas $08,s L3ABF lda >$01AF anda #$01 beq L3AD2 lda >$01AF anda #$FE sta >$01AF lda #$01 bra L3B1A L3AD2 lda >$0446 bne L3AE7 lda #$01 sta ,s lbsr L13C3 cmpa #$01 beq L3B15 clra sta ,s bra L3B15 L3AE7 ldb #$0A mul orcc #$50 addd >$024A std $03,s ldd >$0248 andcc #$AF bcc L3AFB addd #$0001 L3AFB std $01,s L3AFD ldd $01,s cmpd >$0248 blt L3B15 bgt L3B0F ldd $03,s cmpd >$024A bls L3B15 L3B0F lbsr L13B0 tsta bmi L3AFD L3B15 lbsr L3C4C lda ,s L3B1A leas $05,s rts L3B1D leas >-$02BC,s lbsr L3C4C lbsr L4903 lbsr L4A5F clra ldb #$0F lbsr L486F ldb >L3A59,pcr cmpb #$FF bne L3B46 tst >$02C3,s bne L3B4E ldb #$1E stb >$02C3,s bra L3B4E L3B46 lda >L3A59,pcr sta >$02C3,s L3B4E leax ,s ldd >$02C2,s pshs b,a ldd >$02C0,s pshs b,a pshs x lbsr L3C6A leas $06,s tst >$02C5,s beq L3B79 lda >$02C3,s sta >$0159 lda >$02C1,s beq L3B79 sta >$015B L3B79 lda #$13 cmpa >$015B bcc L3BAE ldx >$02BE,s lda <$14,x clr <$14,x pshs x,a leau >L3A1A,pcr leax >$025B,s ldd >$02C1,s pshs b,a pshs u pshs x lbsr L3ED6 leas $06,s puls x,a sta <$14,x stu >$02BE,s bra L3B4E L3BAE lda >$015B ldb #$08 mul addb #$0A stb >$017B lda >$0159 ldb #$04 mul addb #$0A stb >$017C lda >L3A58,pcr bpl L3BD2 lda #$13 suba >$015B lsra adda #$01 L3BD2 adda >$0241 sta >$0175 adda >$015B deca sta >$0177 lda >L3A57,pcr bpl L3BEB lda #$28 suba >$0159 lsra L3BEB sta >$0176 sta >$017A adda >$0159 sta >$0178 lda >$0175 ldb >$0176 std <$0040 lda #$04 mul subb #$05 stb >$017D lda >$0177 inca suba >$0241 ldb #$08 mul addb #$04 stb >$017E ldd #$040F pshs b,a ldd >$017B pshs b,a ldd >$017D pshs b,a lda #$0C sta <$0019 ldx <$0026 jsr >$0701 leas $06,s lda #$01 sta >$017F leax ,s pshs x lbsr L3EE9 leas $02,s clr >$017A lbsr L4A73 lbsr L4918 leas >$02BC,s rts L3C4C tst >$017F beq L3C69 ldd >$017B pshs b,a ldd >$017D pshs b,a lda #$03 sta <$0019 ldx <$0026 jsr >$0701 leas $04,s clr >$017F L3C69 rts L3C6A ldd #$0000 sta >$015B sta >$0157 sta >$0159 std >$0155 lda $07,s sta >$0158 ldu $04,s beq L3C92 ldd $02,s pshs b,a pshs u lbsr L3C95 leas $04,s clr ,u lbsr L3EBE L3C92 ldx $02,s rts L3C95 leas -$02,s pshs x ldx $06,s ldu $08,s tst ,x lbeq L3E08 lda >$015B cmpa #$13 lbhi L3E08 L3CAC lda >$0157 cmpa >$0158 lbcc L3DB5 lda ,x lbeq L3E08 cmpa >$0101 bne L3CC5 tst ,x+ bra L3CD9 L3CC5 cmpa #$25 beq L3CE2 cmpa #$0A bne L3CD2 lbsr L3EBE bra L3CDC L3CD2 cmpa #$20 bne L3CD9 stu >$0155 L3CD9 inc >$0157 L3CDC lda ,x+ sta ,u+ bra L3CAC L3CE2 ldd ,x++ cmpb #$77 beq L3D16 cmpb #$73 beq L3D2C cmpb #$6D beq L3D3B cmpb #$67 beq L3D4D cmpb #$76 lbeq L3D83 cmpb #$6F bne L3CAC stu $08,s lbsr L3EA9 clra ldu #$0431 lda d,u ldb #$03 mul addd #$0000 ldu <$0038 ldu d,u lbra L3DA5 L3D16 stu $08,s lbsr L3EA9 decb bmi L3CAC cmpb >$015A bcc L3CAC lslb ldu #$0180 leau [b,u] lbra L3DA5 L3D2C stu $08,s lbsr L3EA9 lda #$28 mul addd #$0251 tfr d,u bra L3DA5 L3D3B stu $08,s lbsr L3EA9 lbsr L3E0D cmpu #$0000 lbeq L3CAC bra L3DA5 L3D4D stu $08,s ldd <$0062 std $02,s clrb lbsr L2598 stu <$0062 ldd $04,u lbsr L280B lbsr L3EA9 lbsr L3E0D cmpu #$0000 beq L3D75 ldd $08,s pshs b,a pshs u lbsr L3C95 leas $04,s L3D75 ldu $02,s stu <$0062 ldd $04,u lbsr L280B ldu $08,s lbra L3CAC L3D83 stu $08,s lbsr L3EA9 ldu #$0431 clra ldb d,u pshs x lbsr L1226 tfr x,u puls x lda ,x cmpa #$7C bne L3DA5 leax $01,x lbsr L3EA9 lbsr L1281 L3DA5 ldd $08,s pshs b,a pshs u lbsr L3C95 leas $04,s stu $08,s lbra L3CAC L3DB5 ldd >$0155 bne L3DC6 lda #$0A sta ,u+ stu $08,s lbsr L3EBE lbra L3CAC L3DC6 clr ,u tfr u,d subd >$0155 negb addb >$0157 stb >$0157 lbsr L3EBE pshs x ldx >$0155 lda #$0A sta ,x+ L3DE0 lda ,x+ cmpa #$20 beq L3DE0 leax -$01,x ldu >$0155 leau $01,u lbsr L11B4 ldd #$0000 std >$0155 L3DF6 lda ,x+ beq L3DFF inc >$0157 bra L3DF6 L3DFF leau -$01,x stu $0A,s puls x lbra L3CAC L3E08 puls x leas $02,s rts L3E0D leas -$01,s ldu <$0062 cmpb $03,u bls L3E1C ldd #$0000 tfr d,u bra L3E2E L3E1C ldu $0A,u stb ,s clra lslb rola ldd d,u bne L3E2E ldb ,s lda #$0E lbsr L10ED L3E2E exg a,b leau d,u leas $01,s rts L3E35 leas >-$03E8,s lbsr L4A5F ldd ,y++ std <$0040 ldb ,y+ bsr L3E0D leax ,s ldd #$0028 pshs b,a pshs u pshs x lbsr L3C6A leas $06,s leax ,s pshs x lbsr L3EE9 leas $02,s lbsr L4A73 leas >$03E8,s rts L3E65 leas >-$03E8,s lbsr L4A5F ldx #$0431 ldb ,y+ abx lda ,x ldx #$0431 ldb ,y+ abx ldb ,x std <$0040 ldx #$0431 ldb ,y+ abx ldb ,x bsr L3E0D leax ,s ldd #$0028 pshs b,a pshs u pshs x lbsr L3C6A leas $06,s leax ,s pshs x lbsr L3EE9 leas $02,s lbsr L4A73 leas >$03E8,s rts L3EA9 clrb L3EAA lda ,x cmpa #$30 bcs L3EBD cmpa #$39 bhi L3EBD lda #$0A mul subb #$30 addb ,x+ bra L3EAA L3EBD rts L3EBE inc >$015B lda >$0157 clr >$0157 cmpa >$0159 bls L3ECF sta >$0159 L3ECF rts L3ED0 fcb 0,0 L3ED2 fcb 0 L3ED3 fcb 0 L3ED4 fcb 0,0 L3ED6 clr >L3ED2,pcr ldd $02,s std >L3ED0,pcr ldx $04,s leau $06,s bsr L3F0C ldu $02,s rts L3EE9 leas <-$2A,s clr >L3ED3,pcr lda #$01 sta >L3ED2,pcr leax ,s stx >L3ED4,pcr stx >L3ED0,pcr ldx <$2C,s leau <$2E,s bsr L3F0C leas <$2A,s rts L3F0C lda ,x+ beq L3F7F cmpa #$25 beq L3F18 bsr L3F7F bra L3F0C L3F18 lda ,x+ cmpa #$73 bne L3F24 ldd ,u++ pshs u,x bra L3F6E L3F24 cmpa #$64 bne L3F3E tst ,u bpl L3F51 lda #$2D bsr L3F7F ldd #$0000 subd ,u++ pshs u,x lbsr L1226 tfr x,d bra L3F6E L3F3E cmpa #$75 beq L3F51 cmpa #$78 bne L3F5C ldd ,u++ pshs u,x lbsr L123E tfr x,d bra L3F6E L3F51 ldd ,u++ pshs u,x lbsr L1226 tfr x,d bra L3F6E L3F5C cmpa #$63 bne L3F66 ldd ,u++ bsr L3F7F bra L3F0C L3F66 leax -$01,x lda -$01,x bsr L3F7F bra L3F0C L3F6E tfr d,x L3F70 lda ,x+ lbne L3F7B puls u,x lbra L3F0C L3F7B bsr L3F7F bra L3F70 L3F7F pshs u,x ldu >L3ED0,pcr sta ,u+ stu >L3ED0,pcr tst >L3ED2,pcr beq L3FD4 tsta beq L3FA4 cmpa #$0A beq L3FA4 cmpa #$0D beq L3FA4 lda #$01 sta >L3ED3,pcr bra L3FD4 L3FA4 tst >L3ED3,pcr beq L3FC6 clr ,-u pshs a ldd >L3ED4,pcr pshs b,a lda #$0F sta <$0019 ldx <$0026 jsr >$0701 leas $02,s clra sta >L3ED3,pcr puls a L3FC6 tsta beq L3FCC lbsr L49E9 L3FCC ldu >L3ED4,pcr stu >L3ED0,pcr L3FD4 puls u,x rts L3FD7 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u ora #$04 sta <$26,u lda ,y+ sta <$24,u rts L3FEE lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u anda #$FB sta <$26,u rts L4000 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$24,u ldx #$0431 ldb ,y+ abx sta ,x rts L4015 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda <$26,u ora #$04 sta <$26,u ldx #$0431 ldb ,y+ abx lda ,x sta <$24,u rts L4032 leas -$09,s clr ,s ldd <$008B bne L4049 leax $03,s os9 F$Time ldd $07,s addd $05,s addd $03,s orb #$01 std <$008B L4049 lda #$4D mul std $01,s ldb <$008B lda #$4D mul addd ,s std ,s lda #$7C ldb <$008C mul addd ,s std ,s ldd $01,s addd #$0001 std <$008B eorb <$008B leas $09,s rts L406C fcc /Press ENTER to start a new/ fcb $0a fcc /game./ fcb $0a,$0a fcc /Press CTRL-BREAK to continue/ fcb $0a fcc /with this game./ fcb 0 L40BB leas -$01,s lbsr L5E91 lda >$01B0 anda #$80 bne L40D0 leau >L406C,pcr lbsr L3AA7 beq L4112 L40D0 lbsr L5E3D lda >$01AF anda #$40 L40D8 sta ,s lbsr L27D4 lbsr L2222 lbsr L4EBE lda >$01AE ora #$02 sta >$01AE lda ,s L40ED beq L40F7 lda >$01AF L40F2 ora #$40 sta >$01AF L40F7 orcc #$50 ldd #$0000 std >$0248 std >$024A andcc #$AF ldb <$006A beq L410B lbsr L25C7 L410B lbsr L295F ldy #$0000 L4112 lbsr L5E80 leas $01,s rts L4118 fcc /About to restore the game/ fcb $0a fcc /described as:/ fcb $0a,$0a fcc /%s/ fcb $0a,$0a fcc /from file:/ fcb $0a fcc /%s/ fcb $0a,$0a fcc /%s/ fcb 0 L4157 fcc /Can't open file:/ fcb $0a fcc /%s/ fcb 0 L416B fcc /Error in restoring game./ fcb $0a fcc /Press ENTER to quit./ fcb $0a,0 L419A fcc /Press ENTER to continue./ fcb $0a fcc /Press CTRL-BREAK to cancel./ fcb 0 L41CF fcb 0 L41D0 leas >-$00FD,s sty ,s lda #$01 sta >$0102 lda >$0101 sta $02,s lda #$40 sta >$0101 L41E6 ldd #$0072 pshs b,a lbsr L1C9F leas $02,s tsta lbeq L42F5 lda >L449A,pcr bne L423B leau >L419A,pcr pshs u L4201 leau >L183F,pcr L4205 pshs u leau >L1820,pcr pshs u leax >L4118,pcr leau $09,s pshs x pshs u lbsr L3ED6 leas $0A,s ldd #$0000 pshs b,a ldd #$0023 pshs b,a ldd #$0000 pshs b,a pshs u lbsr L3B1D leas $08,s lbsr L13C3 cmpa #$00 lbeq L42F5 L423B lda #$01 leax >L183F,pcr lbsr L13FB bcc L4267 leau >L183F,pcr pshs u leau >L1820,pcr pshs u leax >L4157,pcr leau $07,s pshs x pshs u lbsr L3ED6 leas $08,s lbsr L3AA7 lbra L42F5 L4267 sta >L41CF,pcr clrb ldx #$0000 ldu #$001F lbsr L143E ldd #$01AC pshs b,a lbsr L4308 leas $02,s beq L42B8 ldd <$0030 pshs b,a lbsr L4308 leas $02,s beq L42B8 ldd <$0038 pshs b,a lbsr L4308 leas $02,s beq L42B8 ldx <$0038 ldd <$003A leau d,x lbsr L1080 ldd >$05AF pshs b,a lbsr L4308 leas $02,s beq L42B8 ldd #$0554 pshs b,a lbsr L4308 leas $02,s bne L42CF L42B8 lda >L41CF,pcr lbsr L1433 leau >L416B,pcr lbsr L3AA7 lda #$03 sta <$0009 ldx <$0022 jsr >$0701 L42CF lda >L41CF,pcr lbsr L1433 lda >$0553 sta >$044B lbsr L4339 lbsr L096F lda >$01AF ora #$08 sta >$01AF lbsr L4EBE ldd #$0000 std ,s lbsr L295F L42F5 lbsr L3C4C lda $02,s sta >$0101 clr >$0102 ldy ,s leas >$00FD,s rts L4308 leas -$02,s lda >L41CF,pcr leax ,s ldy #$0002 lbsr L1406 cmpd #$0002 bne L4335 ldy ,x sty ,s lda >L41CF,pcr ldx $04,s lbsr L1406 cmpy ,s bne L4335 lda #$01 bra L4336 L4335 clra L4336 leas $02,s rts L4339 leas >-$0206,s leax $06,s stx $04,s lbsr L22F3 clr >$05B1 ldu <$0030 L4349 cmpu <$0032 bcc L4367 ldd <$25,u ldx $04,s std ,x++ stx $04,s bitb #$40 beq L4362 andb #$FE orb #$10 stb <$26,u L4362 leau <$2B,u bra L4349 L4367 lbsr L058F lbsr L27D4 clr >$0100 lbsr L4995 L4373 lbsr L49AA cmpu #$0000 beq L43EC ldd ,u cmpa #$00 bne L438A lbsr L25C7 lbsr L2710 bra L4373 L438A cmpa #$01 bne L4395 lda #$01 lbsr L6053 bra L4373 L4395 cmpa #$02 bne L439E lbsr L37A5 bra L4373 L439E cmpa #$03 bne L43A7 lbsr L5396 bra L4373 L43A7 cmpa #$04 bne L43B0 lbsr L3805 bra L4373 L43B0 cmpa #$05 bne L43D1 lbsr L49AA ldd ,u ldx #$05B2 std ,x lbsr L49AA ldd ,u std $02,x lbsr L49AA ldd ,u std $04,x lbsr L36E6 bra L4373 L43D1 cmpa #$06 bne L43DA lbsr L38AA bra L4373 L43DA cmpa #$07 bne L43E3 lbsr L62B8 bra L4373 L43E3 cmpa #$08 bne L4373 lbsr L384C bra L4373 L43EC lda #$01 sta >$05B1 ldu <$0032 L43F3 leau <-$2B,u cmpu <$0030 bcs L4442 ldx $04,s ldd ,--x stx $04,s std ,s stu $02,s ldb $05,u lbsr L602E leax ,x beq L4413 ldb $05,u lbsr L60EF L4413 ldd ,s bitb #$40 beq L43F3 bitb #$01 beq L443D lda $02,u lbsr L0F78 ldu $02,s lda <$22,u cmpa #$02 bne L4430 lda #$FF sta <$29,u L4430 ldd ,s bitb #$10 bne L443D lbsr L060A ldu $02,s ldd ,s L443D std <$25,u bra L43F3 L4442 lbsr L5E91 lbsr L5E3D lbsr L2E9B lda #$01 sta >$0100 lbsr L5801 lbsr L5EC4 leas >$0206,s rts L445B ldd #$000E lbsr L278C ldd #$0000 std ,u std $02,u stx $04,u stu <$16,x ldd <$1C,x std $08,u ldd $03,x bita #$01 beq L447B deca inc $08,u L447B subb <$1D,x incb std $06,u ldd $08,u bita #$01 beq L448A inca sta $08,u L448A mul tfr u,x lbsr L2759 lbsr L27F8 std $0C,x stu $0A,x tfr x,u rts L449A fdb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 fcb 0 L44B9 fcc /About to save the game/ fcb $0a fcc /described as:/ fcb $0a,$0a fcc /%s/ fcb $0a,$0a fcc /in file:/ fcb $0a fcc /%s/ fcb $0a,$0a fcc /%s/ fcb 0 L44F3 fcc /The directory/ fcb $0a fcc /%s/ fcb $0a fcc /is full./ fcb $0a fcc /Press ENTER to continue./ fcb 0 L4526 fcc /The disk is full./ fcb $0a fcc /Press ENTER to continue./ fcb 0 L4551 fcb 0 L4552 lda ,y+ ldb #$28 mul ldx #$251 leax d,x L455C leau >L449A,pcr ldd #$001F lbsr L11BF rts L4567 leas >-$00FE,s sty ,s clr $02,s lda #$01 sta >$0102 lda >$0101 sta $03,s lda #$40 sta >$0101 ldd #$0073 pshs b,a L4584 lbsr L1C9F leas $02,s tsta lbeq L468E L458E lda >L449A,pcr bne L45D4 L4594 leau >L419A,pcr pshs u leau >L183F,pcr pshs u leau >L1820,pcr pshs u leax >L44B9,pcr leau $0A,s pshs x pshs u lbsr L3ED6 leas $0A,s ldd #$0000 pshs b,a ldd #$0023 pshs b,a ldd #$0000 pshs b,a pshs u lbsr L3B1D leas $08,s lbsr L13C3 cmpa #$00 lbeq L468E L45D4 lda #$02 ldb #$03 leax >L183F,pcr lbsr L13EA bcc L45FC leau >L1801,pcr pshs u leax >L44F3,pcr leau $06,s pshs x pshs u lbsr L3ED6 leas $06,s lbsr L3AA7 lbra L468E L45FC sta >L4551,pcr leax >L1820,pcr ldy #$001F lbsr L1417 cmpd #$001F bne L4670 ldd #$0385 pshs b,a ldd #$01AC pshs b,a lbsr L46AE leas $04,s beq L4670 ldd <$0034 pshs b,a ldd <$0030 pshs b,a lbsr L46AE leas $04,s beq L4670 inc $02,s ldx <$0038 ldd <$003A leau d,x lbsr L1080 ldd <$003A pshs b,a ldd <$0038 pshs b,a lbsr L46AE leas $04,s beq L4670 lda >$0245 ldb #$02 mul pshs b,a ldd >$05AF pshs b,a lbsr L46AE leas $04,s beq L4670 lbsr L26ED pshs x ldd #$0554 pshs b,a lbsr L46AE leas $04,s bne L4687 L4670 lda >L4551,pcr lbsr L1433 leax >L183F,pcr lbsr L1428 leau >L4526,pcr lbsr L3AA7 bra L468E L4687 lda >L4551,pcr lbsr L1433 L468E lda $02,s beq L469B ldx <$0038 ldd <$003A leau d,x lbsr L1080 L469B lbsr L3C4C lda $03,s sta >$0101 clr >$0102 ldy ,s leas >$00FE,s rts L46AE lda >L4551,pcr leax $04,s ldy #$0002 lbsr L1417 cmpd #$0002 bne L46D6 lda >L4551,pcr ldx $02,s ldy $04,s lbsr L1417 cmpd $04,s bne L46D6 lda #$01 bra L46D7 L46D6 clra L46D7 rts L46D8 fcb 0 L46D9 fcc /%s%s%ssg.%d/ fcb 0 L46E5 leas -5,s stx ,s stb 2,s ldd #0 std 3,s leax $1801,pcr lbsr L11A0 decb leax b,x lda #$2F cmpa ,-x beq L4702 sta $03,s L4702 clra ldb $02,s pshs b,a ldd #$01CE pshs b,a leax $07,s pshs x leax >L1801,pcr pshs x leax >L46D9,pcr ldu $08,s pshs x pshs u lbsr L3ED6 leas $0C,s lbsr L12E9 tfr u,x leas $05,s rts L472D leas <-$45,s clr ,s leau ,s lbsr L14E0 ldx <$47,s lbsr L15D6 bcs L4753 clr <$40,s leau <$40,s lbsr L14BE L4748 ldb <$43,s stb >L46D8,pcr lda #$01 bra L4754 L4753 clra L4754 sta <$44,s leax ,s lbsr L15D6 lda <$44,s leas <$45,s rts L4763 leas -$02,s ldy <$0062 ldd $04,y lbsr L280B ldy $08,y L4770 ldb ,y+ L4772 tstb beq L478C cmpb #$FF beq L478E cmpb #$FE bne L4785 L477D ldb ,y+ lda ,y+ leay d,y bra L4770 L4785 lbsr L04A1 leay ,y bne L4772 L478C bra L47FE L478E ldd #$0000 std ,s L4793 lda ,y+ cmpa #$FC bhi L47A3 bne L47B7 lda ,s bne L47C5 inc ,s bra L4793 L47A3 cmpa #$FF bne L47AB leay $02,y bra L4770 L47AB cmpa #$FD bne L47B7 lda $01,s eora #$01 sta $01,s bra L4793 L47B7 lbsr L0D8B eora $01,s clr $01,s tsta bne L47D5 lda ,s bne L4793 L47C5 clr ,s L47C7 lda ,y+ cmpa #$FF beq L477D cmpa #$FC bcc L47C7 bsr L47E7 bra L47C7 L47D5 lda ,s beq L4793 clr ,s L47DB lda ,y+ cmpa #$FC bhi L47DB beq L4793 bsr L47E7 bra L47DB L47E7 cmpa #$0E bne L47F1 lda ,y+ lsla leay a,y rts L47F1 lsla lsla adda #$02 leax >L0D26,pcr lda a,x leay a,y rts L47FE leas $02,s rts L4801 fcb $00 composite fcb $0C fcb $02 fcb $2E fcb $06 fcb $09 fcb $04 fcb $20 fcb $10 fcb $1B fcb $11 fcb $3D fcb $17 fcb $29 fcb $33 fcb $3F fcb $00 rgb fcb $08 fcb $14 fcb $18 fcb $20 fcb $28 fcb $22 fcb $38 fcb $07 fcb $0B fcb $16 fcb $1F fcb $27 fcb $2D fcb $37 fcb $3F L4821 lbsr L5E91 lda #1 sta $5EC lda #$15 sta <$0019 ldx <$0026 jsr >$0701 rts L4833 lbsr L5E91 lbsr L488E rts L483A ldb $02,y pshs b,a ldb $01,y pshs b,a ldb ,y pshs b,a lbsr L4A93 leas $06,s leay $03,y rts L484E ldb $04,y pshs b,a ldb $03,y pshs b,a ldb $02,y pshs b,a ldb $01,y pshs b,a ldb ,y pshs b,a lbsr L4B56 leas $0A,s leay $05,y rts L486A ldd ,y++ bsr L486F rts L486F anda #$0F sta >$024C lsla lsla lsla lsla ora >$024C sta >$024C andb #$0F stb >$024D lslb lslb lslb lslb orb >$024D stb >$024D rts L488E lda #$00 sta >$05EC lda #$09 sta <$0019 ldx <$0026 jsr >$0701 lbsr L5801 lbsr L5EC4 rts L48A3 lda ,y sta >$0241 adda #$15 sta >$023F lda ,y+ ldb #$08 mul lda #$A0 mul std <$002C lda ,y+ sta >$01D7 lda ,y+ sta >$0247 rts L48C2 leas -$04,s pshs y leax >L4801,pcr ldb >$0553 eorb #$01 stb >$0553 lda #$10 mul abx lda #$1B sta $02,s lda #$31 sta $03,s clra sta $04,s ldy #$0004 L48E5 ldb ,x+ stb $05,s pshs x lda #$01 leax $04,s os9 I$Write bcs L48FE puls x inc $04,s lda $04,s cmpa #$10 bcs L48E5 L48FE puls y leas $04,s rts L4903 ldb >$0171 cmpb #$05 bcc L4917 ldx #$015C lslb abx ldd >$024C std ,x inc >$0171 L4917 rts L4918 ldb >$0171 ble L492A decb stb >$0171 ldx #$015C lslb ldd b,x std >$024C L492A rts L492B fdb 0 L492D fdb 0 L492F ldu >$05AF bne L4946 lda >$0245 beq L4946 ldb #$02 mul lbsr L278C stu >$05AF ldd <$0055 std <$0053 L4946 stu >L492B,pcr clr >$0244 rts L494E leas -$02,s std ,s lda >$01AE anda #$01 bne L4992 lda >$05B1 beq L4984 clra ldb >$0245 lslb rola addd >$05AF cmpd >L492B,pcr bhi L4975 lda #$0B ldb <$0058 lbsr L10ED L4975 ldu >L492B,pcr ldd ,s std ,u++ stu >L492B,pcr inc >$0244 L4984 ldd >L492B,pcr subd >$05AF cmpd <$0057 bls L4992 std <$0057 L4992 leas $02,s rts L4995 ldd >$05AF std >L492D,pcr lda >$0244 ldb #$02 mul addd >$05AF std >L492B,pcr rts L49AA ldu #$0000 ldd >L492D,pcr cmpd >L492B,pcr bcc L49C1 tfr d,u addd #$0002 std >L492D,pcr L49C1 rts L49C2 lda ,y+ sta >$0245 lbsr L058F lbsr L492F lbsr L059C rts L49D1 lda >$0244 sta >$0243 rts L49D8 clra ldb >$0243 stb >$0244 lslb rola addd >$05AF std >L492B,pcr rts L49E9 leas -$02,s pshs u,x leau $04,s tsta beq L4A5A cmpa #$08 bne L4A21 dec <$0041 bpl L4A0B lda #$00 sta <$0041 lda <$0040 cmpa #$15 bls L4A0B deca sta <$0040 lda #$27 sta <$0041 L4A0B ldd #$2000 std ,u pshs u lda #$0F sta <$0019 ldx <$0026 jsr >$0701 leas $02,s dec <$0041 bra L4A5A L4A21 cmpa #$0D beq L4A29 cmpa #$0A bne L4A39 L4A29 lda <$0040 cmpa #$17 bcc L4A32 inca sta <$0040 L4A32 lda >$017A sta <$0041 bra L4A5A L4A39 clrb cmpa #$7F bls L4A41 ldd #$2000 L4A41 std ,u pshs u lda #$0F sta <$0019 ldx <$0026 jsr >$0701 leas $02,s lda <$0041 cmpa #$27 bls L4A5A lda #$0D bsr L49E9 L4A5A puls u,x leas $02,s rts L4A5F ldb >$0166 cmpb #$05 bcc L4A72 ldx #$0167 lslb abx ldd <$0040 std ,x inc >$0166 L4A72 rts L4A73 ldb >$0166 ble L4A84 decb stb >$0166 ldx #$0167 lslb ldd b,x std <$0040 L4A84 rts L4A85 pshs b,a tfr a,b pshs b,a pshs b,a lbsr L4A93 leas $06,s rts L4A93 ldb $07,s pshs b,a lda $07,s ldb #$27 pshs b,a lda $07,s ldb #$00 pshs b,a lbsr L4B56 leas $06,s rts L4AA9 leas <-$2A,s lda #$17 cmpa <$2D,s lbcs L4B52 cmpa <$2F,s bcc L4AC9 sta <$2F,s inca suba <$2D,s cmpa <$37,s bcc L4AC9 sta <$37,s L4AC9 ldb <$37,s beq L4AFA negb incb addb <$2F,s subb <$2D,s bhi L4ADD clr <$37,s bra L4AFA L4ADD lda <$37,s pshs b,a lda <$37,s ldb <$35,s pshs b,a ldb <$31,s pshs b,a lda #$12 sta <$0019 ldx <$0026 jsr >$0701 leas $06,s L4AFA lda <$35,s inca suba <$33,s leau ,s ldb #$20 L4B05 stb ,u+ deca bne L4B05 sta ,u ldd >$024C pshs b,a ldb <$33,s lbsr L486F lda <$39,s bne L4B2B lda <$2F,s sta <$0040 nega adda <$31,s inca sta <$39,s bra L4B32 L4B2B nega adda <$31,s inca sta <$0040 L4B32 lda <$35,s sta <$0041 leau $02,s pshs u lda #$0F sta <$0019 ldx <$0026 jsr >$0701 leas $02,s inc <$0040 dec <$39,s bne L4B32 puls b,a std >$024C L4B52 leas <$2A,s rts L4B56 ldd <$0040 pshs b,a ldd #$0000 pshs b,a ldb $09,s pshs b,a ldb $09,s pshs b,a ldb $0F,s pshs b,a ldb $0E,s pshs b,a ldb $0E,s pshs b,a lbsr L4AA9 leas $0C,s puls b,a std <$0040 rts L4B7D fcc /Please insert disk %d, side %d/ fcb $0a fcc /and press ENTER./ fcb 0 L4BAD fcc /Please turn over the disk/ fcb $0a fcc /and press ENTER./ fcb 0 L4BD8 fcc /That is the wrong disk./ fcb $0a,$0a,0 L4BF2 fcc /%s%s/ fcb $0a fcc /%s/ fcb 0 L4BFA fcc /vol.%d/ fcb 0 L4C01 fcc /Can't find %s.%s%s/ fcb 0 L4C14 fcb 1 L4C15 fcb 1 L4C16 fcb 1 L4C17 fcb 0 L4C18 fcb 0 L4C19 fcb 0 L4C1A fcb 0 L4C1B leas -6,s std ,s stu $02,s stx $04,s L4C23 bsr L4C41 cmpu #$0000 L4C29 bne L4C3E lda >L4C17,pcr cmpa #$05 beq L4C3E ldd ,s L4C35 lbsr L280B ldu $02,s ldx $04,s L4C3C bra L4C23 L4C3E leas $06,s rts L4C41 leas <-$12,s stu ,s stx $02,s pshs y ldu <$004F stu $06,s lda >$0531 cmpa #$FF bne L4C72 ldd >L4C18,pcr bne L4C6F ldx [>$0089] stx >L4C18,pcr ldd ,x cmpd #$0101 L4C69 beq L4C6F clrb lbsr L4DCB L4C6F lbsr L4E5C L4C72 ldu $02,s lda ,u lsra lsra lsra lsra sta $08,s ldx #$0531 ldb a,x L4C81 cmpb #$FF bne L4CC0 lbsr L4EBE ldb $08,s beq L4C91 cmpb >$05ED bls L4C97 L4C91 ldb >L4C14,pcr stb $08,s L4C97 decb lslb ldx <$0089 ldx b,x stx >L4C18,pcr ldd ,x cmpa >L4C15,pcr bne L4CAF cmpb >L4C16,pcr beq L4CBA L4CAF lda #$01 sta >L4C17,pcr ldb $08,s lbsr L4DCB L4CBA lbsr L4E5C lbra L4DBB L4CC0 stb >L4C1A,pcr clra ldb ,u andb #$0F tfr d,x ldu $01,u lda >L4C1A,pcr clrb lbsr L143E bcs L4CEC lda >L4C1A,pcr leax $09,s ldy #$0007 lbsr L1406 bcs L4CEC cmpd #$0007 beq L4CFC L4CEC lbsr L1103 lbne L4DBB lda #$03 sta <$0009 ldx <$0022 jsr >$0701 L4CFC ldd $09,s cmpd #$1234 bne L4D0C lda $0B,s anda #$0F cmpa $08,s beq L4D2C L4D0C lbsr L4EBE lda #$01 sta >L4C17,pcr ldb $08,s lbsr L4E22 tsta bne L4D26 lda #$03 sta <$0009 ldx <$0022 jsr >$0701 L4D26 lbsr L4E5C lbra L4DBB L4D2C ldb $0C,s lda $0D,s std <$0066 ldb $0E,s lda $0F,s std <$12,s ldu $04,s bne L4D62 lda >$05B8 beq L4D52 lbsr L27E2 cmpd <$0066 bcc L4D52 lda #$05 sta >L4C17,pcr bra L4DBB L4D52 ldd <$0066 lbsr L2759 lbsr L27F8 stu $04,s std <$10,s lbsr L280B L4D62 lda $0B,s anda #$80 beq L4D7E ldd <$12,s pshs b,a ldd $06,s pshs b,a ldd >L4C1A,pcr pshs b,a lbsr L2D70 leas $06,s bra L4DAB L4D7E ldd <$12,s cmpd <$0066 bne L4D98 lda #$01 sta <$009E lda >L4C1A,pcr ldx $04,s ldy <$0066 lbsr L1406 bra L4DAB L4D98 clr <$009E pshs b,a ldd $06,s pshs b,a ldd >L4C1A,pcr pshs b,a lbsr L2C85 leas $06,s L4DAB tst <$009F lbne L4CEC ldu $04,s cmpd <$0066 beq L4DC2 lbra L4CEC L4DBB ldd $06,s std <$004F ldu #$0000 L4DC2 ldd <$10,s puls y leas <$12,s rts L4DCB leas <-$64,s leau ,s pshs b,a pshs u lbsr L4DE0 leas $04,s lbsr L3AA7 leas <$64,s rts L4DE0 ldx >L4C18,pcr clra ldb $05,s beq L4DF8 cmpb >$05ED bhi L4DF8 stb >L4C14,pcr decb lslb ldx <$0089 ldx b,x L4DF8 ldb $01,x pshs b,a ldb ,x pshs b,a leax >L4B7D,pcr cmpb >L4C15,pcr bne L4E16 ldb $01,x cmpb >L4C16,pcr beq L4E16 leax >L4BAD,pcr L4E16 ldu $06,s pshs x pshs u lbsr L3ED6 leas $08,s rts L4E22 leas >-$012C,s pshs b,a lbsr L1136 leau $02,s pshs u lbsr L4DE0 leas $04,s leau >L10A1,pcr pshs u leau $02,s pshs u leau >L4BD8,pcr pshs u leax >L4BF2,pcr leau <$6A,s pshs x pshs u lbsr L3ED6 leas $0A,s lbsr L3AA7 leas >$012C,s rts L4E5C leas -$0D,s ldx >L4C18,pcr leax $02,x ldb ,x L4E66 clra stx ,s andb #$7F stb $02,s leax >L4BFA,pcr leau $03,s pshs b,a pshs x pshs u lbsr L3ED6 leas $06,s L4E7E lda #$01 leax $03,s lbsr L13FB bcc L4EA0 tstb bne L4E90 clr >L4C15,pcr bra L4EBB L4E90 lbsr L1103 cmpa #$00 bne L4E7E lda #$03 sta <$0009 ldx <$0022 jsr >$0701 L4EA0 ldu #$0531 ldb $02,s sta b,u ldx ,s ldb ,x+ bmi L4EB1 ldb ,x bra L4E66 L4EB1 ldx >L4C18,pcr ldd ,x std >L4C15,pcr L4EBB leas $0D,s rts L4EBE leas -$01,s clrb ldx #$0531 L4EC4 cmpb #$0F bhi L4EDC stb ,s lda ,x cmpa #$FF beq L4ED5 lbsr L1433 lda #$FF L4ED5 sta ,x+ ldb ,s incb bra L4EC4 L4EDC leas $01,s rts L4EDF leas <-$65,s pshs y L4EE4 lda #$01 ldx <$69,s lbsr L13FB bcc L4F21 lda #$40 sta >$0101 leau >L10A1,pcr pshs u leau >L10BC,pcr pshs u ldd <$6D,s pshs b,a leax >L4C01,pcr leau $09,s pshs x pshs u lbsr L3ED6 leas $0A,s lbsr L3AA7 bne L4EE4 lda #$03 sta <$0009 ldx <$0022 jsr >$0701 L4F21 sta $02,s ldu #$0000 tfr u,x ldb #$02 lbsr L143E stu <$0066 ldu #$0000 clrb lbsr L143E ldx <$6B,s bne L4F5B ldd <$0066 ldu <$6F,s beq L4F53 lbsr L2759 lbsr L27F8 stu [<$6D,s] std [<$6F,s] lbsr L280B bra L4F59 L4F53 lbsr L278C stu [<$6D,s] L4F59 tfr u,x L4F5B lda $02,s ldy <$0066 lbsr L1406 cmpd <$0066 beq L4F78 lbsr L1103 cmpb #$00 bne L4F78 lda #$03 sta <$0009 ldx <$0022 jsr >$0701 L4F78 lda $02,s lbsr L1433 puls y leas <$65,s rts L4F83 fcc /Logics/ fcb 0 L4F8A fcc /View/ fcb 0 L4F8F fcc /Picture/ fcb 0 L4F97 fcc /Sound/ fcb 0 L4F9D fcc /logDir/ fcb 0 L4FA4 fcc /viewDir/ fcb 0 L4FAC fcc /picDir/ fcb 0 L4FB3 fcc /sndDir/ fcb 0 L4FBA fcc /%s #%d not found./ fcb 0 L4FCC fdb 0 L4FCE fdb 0 L4FD0 fdb 0 L4FD2 fdb 0 L4FD4 fdb 0 L4FD6 fdb 0 L4FD8 fdb 0 L4FDA fdb 0 L4FDC leau >L4FCE,pcr pshs u leau >L4FCC,pcr leax >L4F9D,pcr pshs u ldd #$0000 pshs b,a pshs x lbsr L4EDF leas $08,s leau >L4FD6,pcr pshs u leau >L4FD4,pcr leax >L4FAC,pcr pshs u ldd #$0000 pshs b,a pshs x lbsr L4EDF leas $08,s leau >L4FD2,pcr pshs u leau >L4FD0,pcr leax >L4FA4,pcr pshs u L5024 ldd #$0000 pshs b,a pshs x lbsr L4EDF leas $08,s L5030 leau >L4FDA,pcr pshs u leau >L4FD8,pcr leax >L4FB3,pcr pshs u ldd #$0000 pshs b,a pshs x lbsr L4EDF leas $08,s rts L504D lda ,u cmpa #$FF bne L505E ldd $01,u cmpd #$FFFF bne L505E ldu #$0000 L505E rts L505F leas -$01,s stb ,s ldd >L4FCE,pcr lbsr L280B lda ,s ldb #$03 mul ldu >L4FCC,pcr leau d,u bsr L504D bne L5082 leax >L4F83,pcr ldb ,s lbsr L5105 L5082 ldd >L4FCE,pcr leas $01,s rts L5089 leas -$01,s stb ,s ldd >L4FD2,pcr lbsr L280B lda ,s ldb #$03 mul ldu >L4FD0,pcr leau d,u bsr L504D bne L50AB leax >L4F8A,pcr ldb ,s bsr L5105 L50AB ldd >L4FD2,pcr leas $01,s rts L50B2 leas -$01,s stb ,s ldd >L4FD6,pcr lbsr L280B lda ,s ldb #$03 mul ldu >L4FD4,pcr leau d,u bsr L504D bne L50D4 leax >L4F8F,pcr ldb ,s bsr L5105 L50D4 ldd >L4FD6,pcr leas $01,s rts L50DB leas -$01,s stb ,s ldd >L4FDA,pcr lbsr L280B lda ,s ldb #$03 mul ldu >L4FD8,pcr leau d,u lbsr L504D bne L50FE leax >L4F97,pcr ldb ,s bsr L5105 L50FE ldd >L4FDA,pcr leas $01,s rts L5105 leas <-$64,s clra pshs b,a pshs x leax >L4FBA,pcr leau $04,s pshs x pshs u lbsr L3ED6 leas $08,s lbsr L3AA7 lda #$03 sta <$0009 ldx <$0022 jsr >$0701 leas <$64,s rts L512C fcb 0,0 fcb 0,0 L5130 leau >L5130,pcr ldd ,s pshu u,b,a rts L5139 leau >L512C,pcr pulu u,b,a std ,s rts L5142 fcc /Not now./ fcb 0 L514B ldx #$0431 ldb ,y+ abx ldb ,x bsr L515B rts L5156 ldb ,y+ bsr L515B rts L515B leas <-$36,s stb $02,s clra sta >$05B1 sta $04,s sta $03,s lbsr L602E leax ,x beq L5175 stx $05,s inc $04,s bra L5191 L5175 lda #$01 sta >$05B8 clra ldb $02,s lbsr L6053 clr >$05B8 stu $05,s bne L5191 leau >L5142,pcr lbsr L3AA7 lbra L525E L5191 ldd <$000A std <$34,s ldu $05,s ldd $05,u leau $07,s std $08,u clra sta $0A,u sta $0E,u ldb $02,s lbsr L60EF ldd <$10,u std <$12,u lda #$9F suba <$1C,u lsra ldb #$A7 std $03,u std <$1A,u lda #$0F sta <$24,u lda <$26,u ora #$04 sta <$26,u lda #$FF sta $02,u ldd <$1C,u mul addd #$000E std <$32,s lbsr L27E2 cmpd <$32,s bcs L5213 inc $03,s tfr u,x lbsr L445B stu ,s pshs u lda #$15 sta <$0021 ldx <$0028 jsr >$0701 leas $02,s leau $07,s pshs u lda #$0C sta <$0021 ldx <$0028 jsr >$0701 leas $02,s leau $07,s pshs u lda #$1B sta <$0019 ldx <$0026 jsr >$0701 leas $02,s L5213 ldu $05,s ldu $03,u ldb $03,u lda $04,u leau d,u lbsr L3AA7 lda $03,s beq L524F ldu ,s pshs u lda #$12 sta <$0021 ldx <$0028 jsr >$0701 leas $02,s leau $07,s pshs u lda #$1B sta <$0019 ldx <$0026 jsr >$0701 leas $02,s ldx ,s lda $0C,x ldu $0A,x lbsr L27EB stu <$004F stx <$0055 L524F ldd <$34,s lbsr L280B lda $04,s bne L525E ldb $02,s lbsr L62B8 L525E lda #$01 sta >$05B1 leas <$36,s rts L5267 fcb 0,0,0,0,0,0,0,0,0 L5270 fcb 0,0 L5272 fcb 0 L5273 fcb 0 L5274 fcb 0 L5275 fcb $07,$78 fcb $07,$0C fcb $06,$A8 fcb $06,$48 fcb $05,$EC fcb $05,$98 fcb $05,$48 fcb $04,$FC fcb $04,$B4 fcb $04,$70 fcb $04,$30 fcb $03,$F4 fcb $03,$BC fcb $03,$86 fcb $03,$54 fcb $03,$24 fcb $02,$F6 fcb $02,$CC fcb $02,$A4 fcb $02,$7E fcb $02,$5A fcb $02,$38 fcb $02,$18 fcb $01,$FA fcb $01,$DE fcb $01,$C2 fcb $01,$AA fcb $01,$92 fcb $01,$7A fcb $01,$66 fcb $01,$52 fcb $01,$3E fcb $01,$2C fcb $01,$1C fcb $01,$0C fcb $00,$FC fcb $00,$EE fcb $00,$E2 fcb $00,$D4 fcb $00,$C8 fcb $00,$BE fcb $00,$B2 fcb $00,$A8 fcb $00,$9C fcb $00,$96 fcb $00,$8E fcb $00,$86 fcb $00,$7E fcb $00,$78 fcb $00,$70 fcb $00,$6A fcb $00,$64 fcb $00,$5E fcb $00,$5A fcb $00,$54 fcb $00,$50 fcb $00,$4C fcb $00,$46 fcb $00,$42 fcb $00,$3E fcb $00,$3C fcb $00,$02 fcb $00,$02 fcb $00,$02 fcb $00,$03 fcb $00,$03 fcb $00,$03 fcb $00,$03 fcb $00,$03 fcb $00,$03 fcb $00,$04 fcb $00,$04 fcb $00,$04 fcb $00,$04 fcb $00,$05 fcb $00,$05 fcb $00,$05 fcb $00,$05 fcb $00,$06 fcb $00,$06 fcb $00,$06 fcb $00,$07 fcb $00,$07 fcb $00,$08 fcb $00,$08 fcb $00,$09 fcb $00,$09 fcb $00,$0A fcb $00,$0A fcb $00,$0B fcb $00,$0C fcb $00,$0C fcb $00,$0D fcb $00,$0E fcb $00,$0E fcb $00,$0F fcb $00,$10 fcb $00,$11 fcb $00,$12 fcb $00,$13 fcb $00,$14 fcb $00,$15 fcb $00,$17 fcb $00,$19 fcb $00,$1A fcb $00,$1B fcb $00,$1D fcb $00,$1E fcb $00,$20 fcb $00,$22 fcb $00,$24 fcb $00,$26 fcb $00,$28 fcb $00,$2B fcb $00,$2D fcb $00,$30 fcb $00,$33 fcb $00,$35 fcb $00,$39 fcb $00,$3D fcb $00,$40 fcb $00,$42 L5369 fcb 0 fcb $1f,$1c fcb $1f,$1e fcb $1f,$1e fcb $1f,$1f fcb $1e,$1f fcb $1e,$1f L5376 leau L5267,pcr ldd #0 std ,u rts L5380 leau >L5267,pcr L5384 stu >L5270,pcr ldu ,u beq L5390 cmpb $02,u bne L5384 L5390 rts L5391 ldb ,y+ bsr L5396 rts L5396 leas -$05,s stb ,s bsr L5380 cmpu #$0000 bne L53EA ldd <$000A std $03,s lbsr L058F lda #$03 ldb ,s lbsr L494E leau >L5267,pcr ldx >L5270,pcr beq L53C7 ldd #$0009 lbsr L278C stu ,x ldd #$0000 std ,u L53C7 ldb ,s stb $02,u stu $01,s lbsr L50DB ldx #$0000 lbsr L4C1B beq L53E0 ldx $01,s std $05,x stu $03,x std $07,x L53E0 lbsr L059C ldd $03,s lbsr L280B ldu $01,s L53EA leas $05,s rts L53ED leas -$0B,s ldb ,y+ stb ,s lbsr L5380 cmpu #$0000 bne L5403 lda #$09 ldb ,s lbsr L10ED L5403 lda >$01AF anda #$40 lbeq L54DE lda >$0172 lbne L54DE ldd <$000A std $03,s stu $01,s ldd $05,u lbsr L280B leax $05,s os9 F$Time ldu $01,s lbsr L54E6 cmpd #$0000 lbeq L54D9 pshs b,a addb $0C,s bcc L5437 inca L5437 ldu #$003C lbsr L125C stb $0C,s tfr u,d cmpd #$0000 beq L5496 addb $0B,s bcc L544C inca L544C ldu #$003C lbsr L125C stb $0B,s tfr u,d tstb beq L5496 addb $0A,s lda #$17 lbsr L6006 sta $0A,s tstb beq L5496 inc $09,s ldd $08,s leax >L5369,pcr cmpb a,x bls L5496 ldb a,x cmpa #$02 bne L5485 ldb $07,s beq L5485 bitb #$03 bne L5485 ldb $09,s cmpb #$1D beq L5496 L5485 ldb #$01 stb $09,s inca cmpa #$0C bls L5494 stb $08,s inc $07,s bra L5496 L5494 sta $08,s L5496 leax $07,s os9 F$STime puls b,a addb >$043C bcc L54A3 inca L54A3 ldu #$003C lbsr L125C stb >$043C tfr u,d cmpd #$0000 beq L54D9 addb >$043D bcc L54BA inca L54BA ldu #$003C lbsr L125C stb >$043D tfr u,d tstb beq L54D9 addb >$043E lda #$17 lbsr L6006 sta >$043E tstb beq L54D9 inc >$043F L54D9 ldd $03,s lbsr L280B L54DE lda ,y+ lbsr L172B leas $0B,s rts L54E6 pshs y clrb ldu $03,u bsr L5545 L54ED ldb ,u+ cmpb #$FF beq L553E lslb lda ,u+ ora #2 sta >$FF20 ldy ,u++ leax >L5275,pcr abx ldd ,x std <$008E leax >$007A,x ldd ,x std <$0090 * The RS-232 line is now masked and forced high. * Therefore $FF20 can't be tested for $00 but we can test the actual * data stream. RG * tst $FF20 old tst -3,u new beq L5528 L5512 ldx <$0090 L5514 ldd <$008E L5516 subd #$0001 bne L5516 * com $FF20 lda $ff20 patch RG coma ora #2 sta $ff20 leax -1,x bne L5514 leay -$01,y bne L5512 bra L54ED L5528 ldx <$0090 L552A ldd <$008E L552C subd #$0001 bne L552C * This is a meaningless test and must be here to balance cycles. RG tst >$FF20 leax -$01,x bne L552A leay -$01,y bne L5528 bra L54ED L553E bsr L556F ldd ,u puls y rts *Sound on * RS-232 toggle change. RG L5545 orcc #IntMasks * clr $FF20 this would trash the RS-232 line while zeroing the DAC lda #2 patch RG sta $ff20 lda >$FF01 save PIA setting sta >L5272,pcr anda #$F7 set MUX to 0 sta >$FF01 lda >$FF03 save PIA setting sta >L5273,pcr anda #$F7 set MUX to 0 sta >$FF03 DAC now selected lda >$FF23 save Sound setting sta >L5274,pcr ora #$08 turn sound on sta >$FF23 rts *Sound off * RS-232 toggle change. RG L556F lda >L5272,pcr get saved PIA HSYNC setting sta >$FF01 restore it lda >L5273,pcr get saved PIA VSYNC setting sta >$FF03 restore it lda >L5274,pcr get Sound setting (presumably off) sta >$FF23 restore it lda #2 patch RG sta $FF20 lda $FF02 lda $FF22 andcc #$AF rts L5590 fcc /nothing/ fcb 0 L5598 fcc /You are carrying:/ fcb 0 L55AA fcc 'ENTER to select / CTRL-BREAK to cancel' fcb 0 L55D1 fcc /Press a key to return to the game/ fcb 0 L55F3 fcc /Score:%d of %d / fcb 0 L5604 fcc /Sound: %s/ fcb 0 L560E fcb 0,0,0 L5611 fcc /on / fcb 0 L5615 fcc /off/ fcb 0 L5619 lbsr L5E91 lbsr L4903 clra ldb #$0F lbsr L486F L5625 lbsr L4821 bsr L5631 lbsr L4918 lbsr L488E rts L5631 leas >-$0105,s lda #$02 sta ,s L5639 leax $04,s stx $02,s stx >$00FE,s ldu <$0038 clra sta $01,s L5646 sta >$0100,s stu >$0101,s cmpu <$003C bcc L5699 ldb $02,u cmpb #$FF bne L5690 sta ,x cmpa >$044A bne L5664 stx >$00FE,s L5664 ldd ,u std $01,x lda ,s sta $03,x ldb $01,s bitb #$01 bne L5678 lda #$01 sta $04,x bra L568B L5678 inca sta ,s stx $02,s ldx $01,x lbsr L11A0 ldx $02,s negb addb #$27 stb $04,x ldb $01,s L568B incb stb $01,s leax $05,x L5690 leau $03,u lda >$0100,s inca bra L5646 L5699 lda $01,s bne L56AF sta ,x leau >L5590,pcr stu $01,x lda ,s sta $03,x lda #$10 sta $04,x leax $05,x L56AF leax -$05,x stx >$0103,s pshs x leax $06,s pshs x ldx >$0102,s stx $06,s pshs x lbsr L5719 leas $06,s L56C8 lbsr L1352 lda >$01AF anda #$04 beq L570D ldd ,x cmpa #$01 bne L56F0 cmpb #$0D bne L56E5 ldx $02,s lda ,x sta >$044A bra L570D L56E5 cmpb #$1B bne L56C8 lda #$FF sta >$044A bra L570D L56F0 cmpa #$02 bne L56C8 leax $04,s pshs x pshs b,a ldd $06,s pshs b,a ldd >$0109,s pshs b,a lbsr L579A leas $08,s stx $02,s bra L56C8 L570D clra sta >$0154 sta >$0547 leas >$0105,s rts L5719 leas -$04,s lda #$00 ldb #$0B std <$0040 leau >L5598,pcr pshs u lbsr L3EE9 leas $02,s ldx $08,s L572E stx ,s cmpx $0A,s bhi L5763 ldd $03,x std <$0040 clra ldb #$0F std $02,s cmpx $06,s bne L574D lda >$01AF anda #$04 beq L574D lda #$0F clrb std $02,s L574D ldd $02,s lbsr L486F ldx ,s ldx $01,x pshs x lbsr L3EE9 leas $02,s ldx ,s leax $05,x bra L572E L5763 clra ldb #$0F lbsr L486F lda >$01AF anda #$04 beq L5786 lda #$01 sta >$0154 lda #$03 sta >$0547 lda #$17 ldb #$01 std <$0040 leax >L55AA,pcr bra L5790 L5786 lda #$17 ldb #$04 std <$0040 leax >L55D1,pcr L5790 pshs x lbsr L3EE9 leas $02,s leas $04,s rts L579A ldu $04,s tfr u,x lda $07,s cmpa #$01 bne L57A8 leax -$0A,x bra L57BE L57A8 cmpa #$03 bne L57B0 leax $05,x bra L57BE L57B0 cmpa #$05 bne L57B8 leax $0A,x bra L57BE L57B8 cmpa #$07 bne L57D3 leax -$05,x L57BE cmpx $08,s bcs L57C6 cmpx $02,s bls L57CA L57C6 tfr u,x bra L57D3 L57CA pshs x pshs u lbsr L57D4 leas $04,s L57D3 rts L57D4 lda #$0F clrb lbsr L486F ldu $04,s ldd $03,u std <$0040 ldd $01,u pshs b,a lbsr L3EE9 leas $02,s clra ldb #$0F lbsr L486F ldu $02,s ldd $03,u std <$0040 ldd $01,u pshs b,a lbsr L3EE9 leas $02,s ldx $04,s rts L5801 lda >$0246 beq L5862 lbsr L4A5F lbsr L4903 lda >$0247 ldb #$0F lbsr L4A85 clra ldb #$0F lbsr L486F lda >$0247 ldb #$01 std <$0040 clra ldb >$0438 pshs b,a ldb >$0434 leax >L55F3,pcr pshs b,a pshs x lbsr L3EE9 leas $06,s ldb #$1E stb <$0041 leau >L5615,pcr lda >$01AF anda #$40 beq L584F lda >$0172 bne L584F leau >L5611,pcr L584F leax >L5604,pcr pshs u pshs x lbsr L3EE9 leas $04,s lbsr L4918 lbsr L4A73 L5862 rts L5863 lda #$01 sta >$0246 bsr L5801 rts L586B clr >$0246 lda >$0247 clrb lbsr L4A85 rts L5876 fcc / .,;:'!-/ fcb 0 L587F leas >-$0197,s lda >$05B9 sta ,s lbsr L4A5F lbsr L5E91 lda ,y+ ldb #$28 mul ldx #$0251 leax d,x stx $01,s lda ,y+ sta $05,s L589E ldd ,y++ std $03,s lda ,y+ inca cmpa #$28 bls L58AB lda #$28 L58AB sta >$0196,s clr ,x ldd $03,s cmpa #$18 L58B5 bcc L58B9 std <$0040 L58B9 ldb $05,s lbsr L3E0D leax $06,s ldd #$0028 pshs b,a pshs u pshs x lbsr L3C6A leas $06,s pshs x lbsr L3EE9 leas $02,s ldb >$0196,s ldx $01,s bsr L591D lbsr L4A73 lda ,s beq L58E7 lbsr L5E80 L58E7 leas >$0197,s rts L58EC lda ,y+ ldb #$28 mul ldx #$0251 leax d,x ldb ,y+ lbsr L3E0D exg u,x ldd #$0028 lbsr L11BF rts L5904 lda ,y+ ldb #$28 mul ldu #$0251 leau d,u ldb ,y+ lslb ldx #$0180 ldx b,x ldd #$0028 lbsr L11BF rts L591D leas <-$2F,s stx ,s cmpb #$28 bls L5928 ldb #$28 L5928 leax $06,s abx stx $04,s clra ldx ,s leau $07,s lbsr L11BF lbsr L11A0 beq L5947 pshs x lbsr L3EE9 leas $02,s leax $07,s lbsr L11A0 abx L5947 stx $02,s lbsr L5E80 L594C lbsr L13A7 sta $06,s lbsr L5E91 lda $06,s cmpa #$08 bne L5972 L595A leau $07,s cmpu $02,s bcc L599D ldu $02,s leau -$01,u stu $02,s lbsr L49E9 lda #$08 cmpa $06,s beq L599D bra L595A L5972 cmpa #$03 bne L597A lda #$08 bra L595A L597A cmpa #$0D bne L598B ldu $02,s clr ,u leax $07,s ldu ,s lbsr L11B4 bra L59A2 L598B cmpa #$1B beq L59A2 ldu $02,s cmpu $04,s bcc L599D sta ,u+ stu $02,s lbsr L49E9 L599D lbsr L5E80 bra L594C L59A2 lda $06,s leas <$2F,s rts L59A8 ldb ,y+ lbsr L3E0D tfr u,x ldu #$01CE ldd #$0007 lbsr L11BF rts L59B9 leas <-$53,s stb ,s leau $01,s bsr L59E3 lda ,s leau <$2A,s bsr L59E3 leau $01,s leax <$2A,s L59CE lda ,u+ beq L59D8 cmpa ,x+ beq L59CE bra L59DE L59D8 lda #$01 ldb ,x beq L59DF L59DE clra L59DF leas <$53,s rts L59E3 leas -$02,s stu ,s ldb #$28 mul ldu #$0251 leau d,u L59EF lda ,u+ beq L5A07 leax >L5876,pcr lbsr L12D9 bne L59EF lbsr L12B2 ldx ,s sta ,x+ stx ,s bra L59EF L5A07 ldx ,s clr ,x leas $02,s rts L5A0E lda ,y+ lda ,y+ L5A12 lda ,y+ L5A14 lda ,y+ L5A16 rts L5A17 fcc /==========/ fcc /================/ fcb 0 L5A32 fcc /%d: %d/ fcb 0 L5A39 fcc /%d: %s/ fcb 0 L5A40 fcc / :%c/ fcb 0 L5A45 fcc /%d/ fcb 0 L5A48 fcc /return/ fcb 0 L5A4F fcb 0 L5A50 fcb 1 L5A51 fcb $f L5A52 fcb 0 L5A53 fcb 0 L5A54 fcb 0 L5A55 fcb 0 L5A56 fcb 0 L5A57 fcb 0 L5A58 fcb 0 L5A59 fcb 0 L5A5A lda <$68 bne L5A60 bsr L5A61 L5A60 rts L5A61 lda <$0068 L5A63 bne L5ADA lda >$01AF anda #$20 beq L5ADA lda #$01 sta <$0068 lda >$0241 inca adda >L5A50,pcr sta >L5A58,pcr adda >L5A51,pcr deca sta >L5A59,pcr lda #$02 sta >L5A54,pcr adda #$23 sta >L5A57,pcr lda >L5A54,pcr ldb #$04 mul subb #$05 stb >L5A55,pcr lda >L5A59,pcr ldb #$08 mul addb #$05 L5AA7 stb >L5A56,pcr lda >L5A51,pcr ldb #$08 mul addb #$0A stb >L5A52,pcr ldb #$9A stb >L5A53,pcr ldd #$040F pshs b,a ldd >L5A52,pcr pshs b,a ldd >L5A55,pcr pshs b,a lda #$0C sta <$0019 ldx <$0026 jsr >$0701 leas $06,s L5ADA rts L5ADB lda ,y+ sta <$006A lda ,y+ sta >L5A50,pcr lda ,y+ cmpa #$02 bcc L5AED lda #$02 L5AED sta >L5A51,pcr rts L5AF2 lda <$0068 beq L5B0F clr <$0068 ldd >L5A52,pcr pshs b,a ldd >L5A55,pcr pshs b,a lda #$03 sta <$0019 ldx <$0026 jsr >$0701 leas $04,s L5B0F rts L5B10 leas -$02,s stb $01,s clr >L5A4F,pcr leax >L01B0,pcr ldd #$FFFF pshs b,a ldd #$0000 pshs b,a pshs y pshs x ldd $08,s pshs b,a lbsr L5B68 leas $0A,s ldb $01,s leas $02,s rts L5B38 leas -$03,s sta $02,s lda #$01 ldb ,u+ stb $01,s cmpb #$0E beq L5B47 clra L5B47 sta >L5A4F,pcr leax >L0D26,pcr ldd $02,s pshs b,a ldd #$00DC pshs b,a pshs u pshs x ldd $08,s pshs b,a lbsr L5B68 leas $0A,s leas $03,s rts L5B68 leas -$04,s clr $06,s lda $07,s ldb #$04 mul addd $08,s std $08,s lbsr L4A5F lbsr L4903 ldd #$000F lbsr L486F lbsr L5D07 lda <$0069 beq L5B98 clr <$0069 leax >L5A17,pcr pshs x lbsr L3EE9 leas $02,s lbsr L5D07 L5B98 ldy <$0062 sty ,s ldb <$006A beq L5BAB lbsr L2598 cmpu #$0000 bne L5BB6 L5BAB ldu $06,s clra ldb $02,y leax >L5A32,pcr bra L5BD2 L5BB6 stu <$0062 leau >L5A48,pcr ldb $07,s beq L5BC5 addb $0D,s lbsr L3E0D L5BC5 clra ldb $02,y leax >L5A39,pcr ldy ,s sty <$0062 L5BD2 pshs u pshs b,a pshs x lbsr L3EE9 leas $06,s ldd $0A,s pshs b,a ldd $0A,s pshs b,a lbsr L5C4C leas $04,s ldb $0E,s bmi L5C16 lda >L5A59,pcr ldb >L5A57,pcr subb #$02 std <$0040 lda #$54 ldb $0E,s bne L5C02 lda #$46 L5C02 pshs b,a leax >L5A40,pcr pshs b,a pshs x lbsr L3EE9 leas $06,s ldd >$024A std $02,s L5C16 lda <$0068 beq L5C43 lbsr L1330 leax ,x beq L5C27 lda ,x cmpa #$01 beq L5C39 L5C27 ldd $02,s cmpd >$024A beq L5C27 lbsr L130A ldd >$024A std $02,s bra L5C16 L5C39 lda $01,x cmpa #$2B bne L5C43 lda #$02 sta <$0068 L5C43 lbsr L4A73 lbsr L4918 leas $04,s rts L5C4C leas -$06,s lbsr L4A5F ldu $08,s ldx $0A,s lda $02,u ldb >L5A4F,pcr beq L5C61 lda ,x+ stx $0A,s L5C61 ldb $03,u std ,s lda #$28 lbsr L49E9 lda ,s beq L5C94 clr $02,s L5C70 ldb $02,s ldu $0A,s lbsr L5CF4 leax >L5A45,pcr pshs b,a pshs x lbsr L3EE9 leas $04,s ldb $02,s incb cmpb ,s bcc L5C94 stb $02,s lda #$2C lbsr L49E9 bra L5C70 L5C94 lda #$29 lbsr L49E9 ldb $01,s beq L5CA0 lbsr L5D07 L5CA0 lbsr L4A73 ldb $01,s beq L5CF1 lda #$28 lbsr L49E9 lda #$80 clr $02,s L5CB0 sta $03,s ldb $02,s ldu $0A,s lbsr L5CF4 std $04,s lda $01,s anda $03,s beq L5CCA ldx #$0431 abx ldb ,x clra std $04,s L5CCA leax >L5A45,pcr ldd $04,s pshs b,a pshs x lbsr L3EE9 leas $04,s ldb $02,s incb cmpb ,s bcc L5CEC stb $02,s lda #$2C lbsr L49E9 lda $03,s lsra bra L5CB0 L5CEC lda #$29 lbsr L49E9 L5CF1 leas $06,s rts L5CF4 lda >L5A4F,pcr bne L5CFF clra ldb b,u bra L5D06 L5CFF lslb leau b,u ldb ,u+ lda ,u L5D06 rts L5D07 ldd #$0001 pshs b,a ldb >L5A57,pcr pshs b,a ldb >L5A54,pcr pshs b,a ldd #$000F pshs b,a ldb >L5A59,pcr pshs b,a ldb >L5A58,pcr pshs b,a lbsr L4AA9 leas $0C,s lda >L5A59,pcr ldb >L5A54,pcr std <$0040 rts L5D39 fcb 0 L5D3A fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0 fcb 0,0,0,0,0 L5D63 clra sta >$0444 sta >$043A lda >$05AE beq L5D72 lbsr L29C2 L5D72 lbsr L1330 lbsr L1372 leax ,x beq L5DB2 ldd ,x cmpa #$01 bne L5D8E stb >$0444 lda >$01D5 beq L5D72 bsr L5DB3 bra L5D72 L5D8E cmpa #$02 bne L5DA9 ldu <$0030 cmpb <$21,u bne L5D9A clrb L5D9A stb >$0437 lda >$0250 beq L5D72 lda #$00 sta <$22,u bra L5D72 L5DA9 ldu #$05BA lda #$01 sta b,u bra L5D72 L5DB2 rts L5DB3 leas -$02,s stb ,s ldx #$0251 lbsr L11A0 negb addb #$28 lda >$01AD beq L5DC6 decb L5DC6 cmpb >$0449 bls L5DCE ldb >$0449 L5DCE stb $01,s lbsr L5E91 lda ,s cmpa #$0A beq L5E38 cmpa #$0D bne L5E02 lda >L5D39,pcr beq L5E38 ldx #$012B leau >L5D3A,pcr lbsr L11B4 ldx #$012B lbsr L34AD clra sta >L5D39,pcr ldx #$012B sta ,x lbsr L5EC4 bra L5E38 L5E02 cmpa #$08 bne L5E1D lda >L5D39,pcr beq L5E38 deca sta >L5D39,pcr ldu #$012B clr a,u lda ,s lbsr L49E9 bra L5E38 L5E1D ldb >L5D39,pcr cmpb $01,s bcc L5E38 lda ,s beq L5E38 ldu #$012B sta b,u incb stb >L5D39,pcr clr b,u lbsr L49E9 L5E38 bsr L5E80 leas $02,s rts L5E3D lda >L5D39,pcr beq L5E4A ldb #$08 lbsr L5DB3 bra L5E3D L5E4A rts L5E4B lda >$01D5 beq L5E52 bsr L5E53 L5E52 rts L5E53 leax >L5D3A,pcr lbsr L11A0 cmpb >L5D39,pcr bls L5E7F bsr L5E91 L5E62 ldb >L5D39,pcr ldu #$012B leax >L5D3A,pcr lda b,x sta b,u beq L5E7D incb stb >L5D39,pcr lbsr L49E9 bra L5E62 L5E7D bsr L5E80 L5E7F rts L5E80 lda >$05B9 bne L5E90 com >$05B9 lda >$01AD beq L5E90 lbsr L49E9 L5E90 rts L5E91 lda >$05B9 beq L5EA3 com >$05B9 lda >$01AD beq L5EA3 lda #$08 lbsr L49E9 L5EA3 rts L5EA4 bsr L5E91 lda >$01D7 clrb stb >$01D5 lbsr L4A85 rts L5EB1 lda #$01 sta >$01D5 bsr L5EC4 rts L5EB9 ldb ,y+ lbsr L3E0D lda ,u sta >$01AD rts L5EC4 leas <-$50,s lda >$01D5 beq L5F04 bsr L5E91 lda >$01D7 ldb >$024D lbsr L4A85 lda >$01D7 clrb std <$0040 ldx #$0251 leau ,s ldd #$0028 pshs b,a pshs x pshs u lbsr L3C6A leas $06,s pshs x lbsr L3EE9 leas $02,s ldd #$012B pshs b,a lbsr L3EE9 leas $02,s lbsr L5E80 L5F04 leas <$50,s rts L5F08 ldb ,y+ ldx #$0431 abx lda ,x inca beq L5F15 sta ,x L5F15 rts L5F16 ldb ,y+ ldx #$0431 abx lda ,x beq L5F23 deca sta ,x L5F23 rts L5F24 ldb ,y+ ldx #$0431 lda ,y+ abx sta ,x rts L5F2F ldb $01,y ldx #$0431 abx lda ,x ldb ,y++ ldx #$0431 abx sta ,x rts L5F40 ldb ,y+ ldx #$0431 abx lda ,x adda ,y+ sta ,x rts L5F4D ldb $01,y ldx #$0431 abx lda ,x ldb ,y++ ldx #$0431 abx adda ,x sta ,x rts L5F60 ldb ,y+ ldx #$0431 abx lda ,x suba ,y+ sta ,x rts L5F6D ldb $01,y ldx #$0431 abx lda ,x nega ldb ,y++ ldx #$0431 abx adda ,x sta ,x rts L5F81 ldb $01,y ldx #$0431 abx lda ,x ldb ,y++ ldx #$0431 abx ldb ,x ldx #$0431 abx sta ,x rts L5F98 lda $01,y ldb ,y++ ldx #$0431 abx ldb ,x ldx #$0431 abx sta ,x rts L5FA9 ldb $01,y ldx #$0431 abx ldb ,x ldx #$0431 abx lda ,x ldb ,y++ ldx #$0431 abx sta ,x rts L5FC0 ldx #$0431 ldb ,y+ abx lda ,x ldb ,y+ mul stb ,x rts L5FCE ldb $01,y ldx #$0431 abx lda ,x ldb ,y++ ldx #$0431 abx ldb ,x mul stb ,x rts L5FE2 ldx #$0431 ldb ,y+ abx ldb ,x lda ,y+ bsr L6006 stb ,x rts L5FF1 ldb $01,y ldx #$0431 abx lda ,x ldb ,y++ ldx #$0431 abx ldb ,x bsr L6006 stb ,x rts L6006 sta <$0088 lda #$08 sta <$008D clra L600D lslb rola cmpa <$0088 bcs L6016 suba <$0088 incb L6016 dec <$008D bne L600D rts L601B fcb 0,0 fcb 0,0 fcb 0,0,0 L6022 fcb 0,0 L6024 leau L601B,pcr ldd #0 std ,u rts L602E leax >L601B,pcr L6032 stx >L6022,pcr ldx ,x beq L603E cmpb $02,x bne L6032 L603E rts L603F lda #$00 ldb ,y+ bsr L6053 rts L6046 lda #$00 ldb ,y+ ldx #$0431 abx ldb ,x bsr L6053 rts L6053 leas -$06,s std ,s bsr L602E leax ,x beq L6065 ldb ,s bne L6065 tfr x,u bra L60B0 L6065 stx $02,s ldd <$000A std $04,s lbsr L058F ldu $02,s bne L6092 lda #$01 ldb $01,s lbsr L494E ldd #$0007 lbsr L278C stu $02,s ldx >L6022,pcr stu ,x ldd #$0000 std ,u std $03,u ldb $01,s stb $02,u L6092 ldb $02,u lbsr L5089 ldx $02,s ldx $03,x lbsr L4C1B beq L60A6 ldx $02,s std $05,x stu $03,x L60A6 lbsr L059C ldd $04,s lbsr L280B ldu $02,s L60B0 leas $06,s rts L60B3 leas -$02,s ldd <$000A std ,s lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ bsr L60EF ldd ,s lbsr L280B leas $02,s rts L60CE leas -$02,s ldd <$000A std ,s lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx ldb ,x bsr L60EF ldd ,s lbsr L280B leas $02,s rts L60EF lbsr L602E leax ,x bne L60FB lda #$03 lbsr L10ED L60FB stb $05,u ldd $05,x std $08,u ldx $03,x stx $06,u lbsr L280B ldx $06,u lda $02,x sta $0B,u ldb $0A,u cmpb $0B,u bcs L6115 clrb L6115 bsr L6154 rts L6118 leas -$02,s ldd <$000A std ,s lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ bsr L6154 ldd ,s lbsr L280B leas $02,s rts L6133 leas -$02,s ldd <$000A std ,s lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx ldb ,x bsr L6154 ldd ,s lbsr L280B leas $02,s rts L6154 leas -$01,s ldx $06,u bne L615E ldb #$06 bra L6164 L615E cmpb $0B,u bcs L616F ldb #$05 L6164 stb ,s tfr u,d subd <$0030 lda ,s lbsr L10ED L616F stb $0A,u ldd $08,u lbsr L280B ldb $0A,u lslb addb #$06 ldx $06,u lda b,x decb ldb b,x leax d,x stx $0C,u lda ,x sta $0F,u ldb $0E,u cmpb $0F,u bcs L6191 clrb L6191 bsr L61D2 leas $01,s rts L6196 leas -$02,s ldd <$000A std ,s lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ bsr L61D2 ldd ,s lbsr L280B leas $02,s rts L61B1 leas -$02,s ldd <$000A std ,s lda ,y+ ldb #$2B mul addd <$0030 tfr d,u ldb ,y+ ldx #$0431 abx ldb ,x bsr L61D2 ldd ,s lbsr L280B leas $02,s rts L61D2 leas -$01,s ldx $06,u bne L61DC ldb #$0A bra L61E2 L61DC cmpb $0F,u bcs L61ED ldb #$08 L61E2 stb ,s tfr u,d subd <$0030 lda ,s lbsr L10ED L61ED stb $0E,u ldd $08,u lbsr L280B ldb $0E,u lslb addb #$02 ldx $0C,u lda b,x decb ldb b,x leax d,x stx <$10,u ldd ,x std <$1C,u adda $03,u cmpa #$A0 bls L621F lda <$25,u ora #$04 sta <$25,u lda #$A0 suba <$1C,u sta $03,u L621F decb cmpb $04,u bls L6240 lda <$25,u ora #$04 sta <$25,u stb $04,u cmpb >$01D6 bhi L6240 lda <$26,u bita #$08 bne L6240 ldb >$01D6 incb stb $04,u L6240 leas $01,s rts L6243 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda $0F,u deca ldb ,y+ ldx #$0431 abx sta ,x rts L6258 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda $0E,u ldb ,y+ ldx #$0431 abx sta ,x rts L626C lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda $0A,u ldb ,y+ ldx #$0431 abx sta ,x rts L6280 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda $05,u ldb ,y+ ldx #$0431 abx sta ,x rts L6294 lda ,y+ ldb #$2B mul addd <$0030 tfr d,u lda $0B,u ldb ,y+ ldx #$0431 abx sta ,x rts L62A8 ldb ,y+ bsr L62B8 rts L62AD ldb ,y+ ldx #$0431 abx ldb ,x bsr L62B8 rts L62B8 leas -$05,s stb ,s lbsr L602E leax ,x bne L62CA lda #$01 ldb ,s lbsr L10ED L62CA stx $01,s ldd <$000A std $03,s lda #$07 ldb ,s lbsr L494E ldu >L6022,pcr ldd #$0000 std ,u lbsr L058F ldx $01,s ldu $03,x lda $05,x lbsr L27EB stu <$004F stx <$0055 lbsr L059C lbsr L27E2 ldd $03,s lbsr L280B leas $05,s rts L62FE lda <$27,u beq L630D dec <$27,u lda <$25,u bita #$40 beq L6334 L630D lbsr L4032 lda #$09 lbsr L6006 sta <$21,u cmpu <$0030 bne L6320 sta >$0437 L6320 lda <$27,u L6323 cmpa #$06 bcc L6334 lbsr L4032 lda #$33 lbsr L6006 sta <$27,u bra L6323 L6334 rts fcb 0,0,0,0,0,0,0,0 L633D fcc /mnln/ fcb 0 emod eom equ * end