Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_21B.ADF » P/C/MF
P/C/MF
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_21B.ADF |
Filename: | P/C/MF |
Read OK: | ✔ |
File size: | 1678 bytes |
Load address: | FFFF2100 |
Exec address: | FFFF2100 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- AEW website » eug » eug_5_25_discs_Eug-21_D-EUG21B.dsd » C.MF
- Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_21B.ADF » P/C/MF
File contents
10REM >MF 20REM MegaFont code (Info8) by Clive Whiston BBC Acorn User MAY 1992 30MODE 3:HIMEM=&3D00 40PRINT"MegaFont code: Compiling" 50FOR pass=0 TO 3 STEP 3 60P%=HIMEM 70[OPT pass 80.mf:LDA &601:STA &7A:LDA &602:STA &7A+1:LDY #3:LDA (&7A),Y:STA &80:LDY #0:LDA (&7A),Y:STA &7A+2:INY:LDA (&7A),Y:STA &7A+3:LDA #&FF:STA &81:JSR reset_mf_style_flags_command 90.mf_loop:LDY &81:CPY &80:BEQ mf_loop_exit:CMP mf_control_code_symbol:BEQ mfcode_interpreter:LDA &84:CMP #0:BNE mf_format_flags:LDA &85:CMP #0:BEQ no_flags 100.mf_format_flags:LDA &82:CMP &71:BEQ output_mf_character_step:JMP mf_small_caps:.mf_loop_exit:JSR reset_mf_style_flags:RTS 110.no_flags:LDA &71:JSR &FFEE:JMP mf_loop_continue 120.increase_mf_loop_counter:LDA &71:STA &82:INC &81:LDY &81:LDA (&7A+2),Y:STA &71:RTS 130.output_mf_character_step:JMP output_mf_character 140.mfcode_interpreter:JSR increase_mf_loop_counter:LDY #0 150.mfcode_interpreter_loop:CMP mfcode_data_block_start,Y:BEQ mfcode_interpreter_font_toggle:INY:CPY mfcode_data_block_end-mfcode_data_block_start+1:BNE mfcode_interpreter_loop 160.undefined_mfcode_error:BRK:EQUB &FF:EQUS "Un-defined MegaFont code":BRK 170.mfcode_interpreter_font_toggle:LDX #207:STX &82+1:TYA:SBC #8:BMI toggle_mfs:CMP #5:BEQ reset_mf_style_flags_command:CMP #6:BEQ output_line_feed:CMP #7:BEQ change_mf_foreground_colour:CMP #8:BEQ change_mf_background_colour:CMP #9 180BEQ output_mf_control_code_symbol 190.toggle_mf_position_flag:ADC #1:CMP &85:BEQ clear_mf_position_flag:STA &85:JMP mfcode_interpreter_exit 200.clear_mf_position_flag:LDA #0:STA &85:JMP mfcode_interpreter_exit 210.toggle_mfs:LDA #1:STA &82:CPY #0:BEQ toggle_mfs_exit:STY &82+1:LDX #0:CLC 220.toggle_mfs_loop:ADC &82:STA &82:INX:CPX &82+1:BNE toggle_mfs_loop 230.toggle_mfs_exit:LDA &84:EOR &82:STA &84:JMP mfcode_interpreter_exit 240.output_mf_control_code_symbol:LDA mf_control_code_symbol:STA &71:JMP mf_define_character 250.change_mf_background_colour:LDX #79 260.change_mf_foreground_colour:STA &82+1:JSR increase_mf_loop_counter:ADC &82+1:TAY:JSR change_colour:JMP mfcode_interpreter_exit 270.output_line_feed:JSR &FFE7:JMP mfcode_interpreter_exit 280.reset_mf_style_flags_command:JSR reset_mf_style_flags 290.mfcode_interpreter_exit:JSR increase_mf_loop_counter:LDY #0:STY &82:JMP mf_loop 300.reset_mf_style_flags:LDY #7:JSR change_colour:LDY #128:JSR change_colour:LDA #0:LDX #&82 310.reset_mf_style_flags_loop:STA 0,X:INX:CPX #&85+1:BNE reset_mf_style_flags_loop:RTS 320.change_colour:LDA #17:JSR &FFEE:TYA:JSR &FFEE:RTS 330.mfcode_data_block_start:EQUS "BIUHRFDS2+-OCN.XY" 340.mf_control_code_symbol:EQUB 124 350.mfcode_data_block_end 360.resume_loop:LDA #&17:JSR &FFEE:LDA #&FF:JSR &FFEE:LDX #0 370.resume_loop_loop:LDA &71+1,X:JSR &FFEE:INX:CPX #8:BNE resume_loop_loop 380.output_mf_character:LDA #&FF:JSR &FFEE 390.mf_loop_continue:JSR increase_mf_loop_counter:JMP mf_loop 400.mf_small_caps:LDA &85:CMP #5:BNE mf_define_character:LDA &71:SBC #97:BMI mf_define_character:SBC #26:BPL mf_define_character:ADC #91:STA &71:LDA #6:STA &85 410.mf_define_character:LDA #&A:LDX #&71:LDY #0:JSR &FFF1 420.mf_bold:LDA &84:ORA #1:CMP &84:BNE mf_faint:LDX #0 430.mf_bold_loop:LDA &71+1,X:ASL A:ORA &71+1,X:STA &71+1,X:INX:CPX #8:BNE mf_bold_loop 440.mf_faint:LDA &84:ORA #&20:CMP &84:BNE mf_digital:LDX #0 450.mf_faint_loop:LDA &71+1,X:ASL A:AND &71+1,X:STA &71+1,X:INX:CPX #8:BNE mf_faint_loop 460.mf_digital:LDA &84:ORA #&40:CMP &84:BNE mf_shadow:LDY#3:STY &82:LDA &71:LDX #0:SBC #96:BMI mf_digital_loop:SBC #27:BPL mf_digital_loop:LDY #4:STY &82 470.mf_digital_loop:LDA &71+1,X:ASL A:AND &71+1,X:STA &71+1,X:INX:CPX &82:BNE mf_digital_loop 480.mf_shadow:LDA &84:ORA #&80:CMP &84:BNE mf_italic:LDX #0 490.mf_shadow_loop:LDA &71+1,X:ASL A:AND &71+1,X:EOR &71+1,X:STA &71+1,X:INX:CPX #8:BNE mf_shadow_loop 500.mf_italic:LDA &84:ORA #2:CMP &84:BNE mf_double_underline:LDX #0 510.mf_italic_loop:LDA &71+1,X:LSR A:STA &71+1,X:LDA &71+6,X:ASL A:STA &71+6,X:INX:CPX #2:BNE mf_italic_loop:LDA &71+8:ASL A:STA &71+8:JMP mf_double_underline 520.resume_loop_step_1:JMP resume_loop 530.compress:LDA &71+3:STA &71+2:LDA &71+4:STA &71+3:LDA &71+6:STA &71+4:LDA &71+8:STA &71+6:LDX &71+5:LDA &71+6:CMP #0:BNE compress_exit 540LDA &71:CMP #ASC"e":BEQ notail2:CMP #ASC"s":BEQ notail2:CMP #ASC"?":BEQ notail2:CMP #ASC"!":BEQ notail2:CMP #ASC"5":BEQ notail2:CMP #ASC"x":BEQ notail2:STX &71+4:JMP compress_exit 550.notail2:STX &71+3:.compress_exit:LDA &71+7:STA &71+5:LDA #0:STA &71+7:STA &71+8:RTS 560.mf_double_underline:LDA &85:CMP #1:BNE mf_superscript:JSR compress:LDA #&FF:STA &71+8:LDX &71+6:CPX #0:BNE mf_rule_jump:STA &71+6:JMP mf_rule_jump 570.mf_superscript:LDA &85:CMP #2:BNE mf_subscript:JSR compress:JMP mf_underline 580.mf_subscript:LDA &85:CMP #6:BEQ mf_subscript_resume:CMP #3:BNE mf_outline 590.mf_subscript_resume:JSR compress:LDX #5 600.mf_subscript_loop:LDA &71+1,X:STA &71+3,X:DEX:CPX #&FF:BNE mf_subscript_loop:LDA #0:STA &71+1:STA &71+2:LDA #6:CMP &85:BNE mf_underline:DEC &85:JMP mf_underline 610.mf_rule_jump:JMP mf_rule 620.mf_outline:LDA &85:CMP #4:BNE mf_underline:JSR compress:LDA &71+6:STA &71+8:LDX #5 630.mf_outline_loop:LDA &71+1,X:ASL A:STA &82:LDA &71+1,X:LSR A:ORA &82:CPX #0:BEQ mf_outline_loop_resume:ORA &71,X 640.mf_outline_loop_resume:ORA &71+2,X:EOR &71+1,X:STA &71+2,X:DEX:CPX #&FF:BNE mf_outline_loop:JMP mf_underline 650.resume_loop_step_2:JMP resume_loop_step_1 660.mf_underline:LDA &84:ORA #4:CMP &84:BNE mf_rule:LDA &71+8:CMP #0:BNE mf_rule:LDA #&FF:STA &71+8 670.mf_rule:LDA &84:ORA #&10:CMP &84:BNE mf_highlight:LDA #&FF:STA &71+5 680.mf_highlight:LDA &84:ORA #8:CMP &84:BNE resume_loop_step_2:LDX #0 690.mf_highlight_loop:LDA &71+1,X:EOR #&FF:STA &71+1,X:INX:CPX #8:BNE mf_highlight_loop:JMP resume_loop_step_2 700]:NEXT 710*SAVE CODE 3D00 3FFF 720*ACCESS CODE L 730CLS:PRINTTAB(5,10)"Set up finnished."
� >MF D� MegaFont code (Info8) by Clive Whiston BBC Acorn User MAY 1992 � 3:�=&3D00 (�"MegaFont code: Compiling" 2� pass=0 � 3 � 3 <P%=� F [OPT pass P�.mf:LDA &601:STA &7A:LDA &602:STA &7A+1:LDY #3:LDA (&7A),Y:STA &80:LDY #0:LDA (&7A),Y:STA &7A+2:INY:LDA (&7A),Y:STA &7A+3:LDA #&FF:STA &81:JSR reset_mf_style_flags_command Z�.mf_loop:LDY &81:CPY &80:BEQ mf_loop_exit:CMP mf_control_code_symbol:BEQ mfcode_interpreter:LDA &84:CMP #0:BNE mf_format_flags:LDA &85:CMP #0:BEQ no_flags d~.mf_format_flags:LDA &82:CMP &71:BEQ output_mf_character_step:JMP mf_small_caps:.mf_loop_exit:JSR reset_mf_style_flags:RTS n4.no_flags:LDA &71:JSR &FFEE:JMP mf_loop_continue xW.increase_mf_loop_counter:LDA &71:STA &82:INC &81:LDY &81:LDA (&7A+2),Y:STA &71:RTS �5.output_mf_character_step:JMP output_mf_character �;.mfcode_interpreter:JSR increase_mf_loop_counter:LDY #0 ��.mfcode_interpreter_loop:CMP mfcode_data_block_start,Y:BEQ mfcode_interpreter_font_toggle:INY:CPY mfcode_data_block_end-mfcode_data_block_start+1:BNE mfcode_interpreter_loop �L.undefined_mfcode_error:BRK:EQUB &FF:EQUS "Un-defined MegaFont code":BRK ��.mfcode_interpreter_font_toggle:LDX #207:STX &82+1:TYA:SBC #8:BMI toggle_mfs:CMP #5:BEQ reset_mf_style_flags_command:CMP #6:BEQ output_line_feed:CMP #7:BEQ change_mf_foreground_colour:CMP #8:BEQ change_mf_background_colour:CMP #9 �%BEQ output_mf_control_code_symbol �j.toggle_mf_position_flag:ADC #1:CMP &85:BEQ clear_mf_position_flag:STA &85:JMP mfcode_interpreter_exit �F.clear_mf_position_flag:LDA #0:STA &85:JMP mfcode_interpreter_exit �N.toggle_mfs:LDA #1:STA &82:CPY #0:BEQ toggle_mfs_exit:STY &82+1:LDX #0:CLC �F.toggle_mfs_loop:ADC &82:STA &82:INX:CPX &82+1:BNE toggle_mfs_loop �F.toggle_mfs_exit:LDA &84:� &82:STA &84:JMP mfcode_interpreter_exit �].output_mf_control_code_symbol:LDA mf_control_code_symbol:STA &71:JMP mf_define_character �(.change_mf_background_colour:LDX #79 �.change_mf_foreground_colour:STA &82+1:JSR increase_mf_loop_counter:ADC &82+1:TAY:JSR change_colour:JMP mfcode_interpreter_exit ;.output_line_feed:JSR &FFE7:JMP mfcode_interpreter_exit :.reset_mf_style_flags_command:JSR reset_mf_style_flags "T.mfcode_interpreter_exit:JSR increase_mf_loop_counter:LDY #0:STY &82:JMP mf_loop ,].reset_mf_style_flags:LDY #7:JSR change_colour:LDY #128:JSR change_colour:LDA #0:LDX #&82 6W.reset_mf_style_flags_loop:STA 0,X:INX:CPX #&85+1:BNE reset_mf_style_flags_loop:RTS @6.change_colour:LDA #17:JSR &FFEE:TYA:JSR &FFEE:RTS J5.mfcode_data_block_start:EQUS "BIUHRFDS2+-OCN.XY" T$.mf_control_code_symbol:EQUB 124 ^.mfcode_data_block_end h=.resume_loop:LDA #&17:JSR &FFEE:LDA #&FF:JSR &FFEE:LDX #0 rK.resume_loop_loop:LDA &71+1,X:JSR &FFEE:INX:CPX #8:BNE resume_loop_loop |+.output_mf_character:LDA #&FF:JSR &FFEE �>.mf_loop_continue:JSR increase_mf_loop_counter:JMP mf_loop ��.mf_small_caps:LDA &85:CMP #5:BNE mf_define_character:LDA &71:SBC #97:BMI mf_define_character:SBC #26:BPL mf_define_character:ADC #91:STA &71:LDA #6:STA &85 �:.mf_define_character:LDA #&A:LDX #&71:LDY #0:JSR &FFF1 �6.mf_bold:LDA &84:�A #1:CMP &84:BNE mf_faint:LDX #0 �V.mf_bold_loop:LDA &71+1,X:ASL A:�A &71+1,X:STA &71+1,X:INX:CPX #8:BNE mf_bold_loop �;.mf_faint:LDA &84:�A #&20:CMP &84:BNE mf_digital:LDX #0 �W.mf_faint_loop:LDA &71+1,X:ASL A:� &71+1,X:STA &71+1,X:INX:CPX #8:BNE mf_faint_loop ̙.mf_digital:LDA &84:�A #&40:CMP &84:BNE mf_shadow:LDY#3:STY &82:LDA &71:LDX #0:SBC #96:BMI mf_digital_loop:SBC #27:BPL mf_digital_loop:LDY #4:STY &82 �\.mf_digital_loop:LDA &71+1,X:ASL A:� &71+1,X:STA &71+1,X:INX:CPX &82:BNE mf_digital_loop �;.mf_shadow:LDA &84:�A #&80:CMP &84:BNE mf_italic:LDX #0 �c.mf_shadow_loop:LDA &71+1,X:ASL A:� &71+1,X:� &71+1,X:STA &71+1,X:INX:CPX #8:BNE mf_shadow_loop �C.mf_italic:LDA &84:�A #2:CMP &84:BNE mf_double_underline:LDX #0 ��.mf_italic_loop:LDA &71+1,X:LSR A:STA &71+1,X:LDA &71+6,X:ASL A:STA &71+6,X:INX:CPX #2:BNE mf_italic_loop:LDA &71+8:ASL A:STA &71+8:JMP mf_double_underline '.resume_loop_step_1:JMP resume_loop �.compress:LDA &71+3:STA &71+2:LDA &71+4:STA &71+3:LDA &71+6:STA &71+4:LDA &71+8:STA &71+6:LDX &71+5:LDA &71+6:CMP #0:BNE compress_exit �LDA &71:CMP #�"e":BEQ notail2:CMP #�"s":BEQ notail2:CMP #�"?":BEQ notail2:CMP #�"!":BEQ notail2:CMP #�"5":BEQ notail2:CMP #�"x":BEQ notail2:STX &71+4:JMP compress_exit &X.notail2:STX &71+3:.compress_exit:LDA &71+7:STA &71+5:LDA #0:STA &71+7:STA &71+8:RTS 0�.mf_double_underline:LDA &85:CMP #1:BNE mf_superscript:JSR compress:LDA #&FF:STA &71+8:LDX &71+6:CPX #0:BNE mf_rule_jump:STA &71+6:JMP mf_rule_jump :Q.mf_superscript:LDA &85:CMP #2:BNE mf_subscript:JSR compress:JMP mf_underline DN.mf_subscript:LDA &85:CMP #6:BEQ mf_subscript_resume:CMP #3:BNE mf_outline N,.mf_subscript_resume:JSR compress:LDX #5 X�.mf_subscript_loop:LDA &71+1,X:STA &71+3,X:DEX:CPX #&FF:BNE mf_subscript_loop:LDA #0:STA &71+1:STA &71+2:LDA #6:CMP &85:BNE mf_underline:DEC &85:JMP mf_underline b.mf_rule_jump:JMP mf_rule lW.mf_outline:LDA &85:CMP #4:BNE mf_underline:JSR compress:LDA &71+6:STA &71+8:LDX #5 vr.mf_outline_loop:LDA &71+1,X:ASL A:STA &82:LDA &71+1,X:LSR A:�A &82:CPX #0:BEQ mf_outline_loop_resume:�A &71,X �n.mf_outline_loop_resume:�A &71+2,X:� &71+1,X:STA &71+2,X:DEX:CPX #&FF:BNE mf_outline_loop:JMP mf_underline �..resume_loop_step_2:JMP resume_loop_step_1 �c.mf_underline:LDA &84:�A #4:CMP &84:BNE mf_rule:LDA &71+8:CMP #0:BNE mf_rule:LDA #&FF:STA &71+8 �H.mf_rule:LDA &84:�A #&10:CMP &84:BNE mf_highlight:LDA #&FF:STA &71+5 �E.mf_highlight:LDA &84:�A #8:CMP &84:BNE resume_loop_step_2:LDX #0 �m.mf_highlight_loop:LDA &71+1,X:� #&FF:STA &71+1,X:INX:CPX #8:BNE mf_highlight_loop:JMP resume_loop_step_2 �]:� �*SAVE CODE 3D00 3FFF �*ACCESS CODE L � �:�5,10)"Set up finnished." �
00000000 0d 00 0a 09 f4 20 3e 4d 46 0d 00 14 44 f4 20 4d |..... >MF...D. M| 00000010 65 67 61 46 6f 6e 74 20 63 6f 64 65 20 28 49 6e |egaFont code (In| 00000020 66 6f 38 29 20 62 79 20 43 6c 69 76 65 20 57 68 |fo8) by Clive Wh| 00000030 69 73 74 6f 6e 20 42 42 43 20 41 63 6f 72 6e 20 |iston BBC Acorn | 00000040 55 73 65 72 20 4d 41 59 20 31 39 39 32 0d 00 1e |User MAY 1992...| 00000050 0f eb 20 33 3a d3 3d 26 33 44 30 30 0d 00 28 1f |.. 3:.=&3D00..(.| 00000060 f1 22 4d 65 67 61 46 6f 6e 74 20 63 6f 64 65 3a |."MegaFont code:| 00000070 20 43 6f 6d 70 69 6c 69 6e 67 22 0d 00 32 14 e3 | Compiling"..2..| 00000080 20 70 61 73 73 3d 30 20 b8 20 33 20 88 20 33 0d | pass=0 . 3 . 3.| 00000090 00 3c 08 50 25 3d 93 0d 00 46 0d 5b 4f 50 54 20 |.<.P%=...F.[OPT | 000000a0 70 61 73 73 0d 00 50 af 2e 6d 66 3a 4c 44 41 20 |pass..P..mf:LDA | 000000b0 26 36 30 31 3a 53 54 41 20 26 37 41 3a 4c 44 41 |&601:STA &7A:LDA| 000000c0 20 26 36 30 32 3a 53 54 41 20 26 37 41 2b 31 3a | &602:STA &7A+1:| 000000d0 4c 44 59 20 23 33 3a 4c 44 41 20 28 26 37 41 29 |LDY #3:LDA (&7A)| 000000e0 2c 59 3a 53 54 41 20 26 38 30 3a 4c 44 59 20 23 |,Y:STA &80:LDY #| 000000f0 30 3a 4c 44 41 20 28 26 37 41 29 2c 59 3a 53 54 |0:LDA (&7A),Y:ST| 00000100 41 20 26 37 41 2b 32 3a 49 4e 59 3a 4c 44 41 20 |A &7A+2:INY:LDA | 00000110 28 26 37 41 29 2c 59 3a 53 54 41 20 26 37 41 2b |(&7A),Y:STA &7A+| 00000120 33 3a 4c 44 41 20 23 26 46 46 3a 53 54 41 20 26 |3:LDA #&FF:STA &| 00000130 38 31 3a 4a 53 52 20 72 65 73 65 74 5f 6d 66 5f |81:JSR reset_mf_| 00000140 73 74 79 6c 65 5f 66 6c 61 67 73 5f 63 6f 6d 6d |style_flags_comm| 00000150 61 6e 64 0d 00 5a 9e 2e 6d 66 5f 6c 6f 6f 70 3a |and..Z..mf_loop:| 00000160 4c 44 59 20 26 38 31 3a 43 50 59 20 26 38 30 3a |LDY &81:CPY &80:| 00000170 42 45 51 20 6d 66 5f 6c 6f 6f 70 5f 65 78 69 74 |BEQ mf_loop_exit| 00000180 3a 43 4d 50 20 6d 66 5f 63 6f 6e 74 72 6f 6c 5f |:CMP mf_control_| 00000190 63 6f 64 65 5f 73 79 6d 62 6f 6c 3a 42 45 51 20 |code_symbol:BEQ | 000001a0 6d 66 63 6f 64 65 5f 69 6e 74 65 72 70 72 65 74 |mfcode_interpret| 000001b0 65 72 3a 4c 44 41 20 26 38 34 3a 43 4d 50 20 23 |er:LDA &84:CMP #| 000001c0 30 3a 42 4e 45 20 6d 66 5f 66 6f 72 6d 61 74 5f |0:BNE mf_format_| 000001d0 66 6c 61 67 73 3a 4c 44 41 20 26 38 35 3a 43 4d |flags:LDA &85:CM| 000001e0 50 20 23 30 3a 42 45 51 20 6e 6f 5f 66 6c 61 67 |P #0:BEQ no_flag| 000001f0 73 0d 00 64 7e 2e 6d 66 5f 66 6f 72 6d 61 74 5f |s..d~.mf_format_| 00000200 66 6c 61 67 73 3a 4c 44 41 20 26 38 32 3a 43 4d |flags:LDA &82:CM| 00000210 50 20 26 37 31 3a 42 45 51 20 6f 75 74 70 75 74 |P &71:BEQ output| 00000220 5f 6d 66 5f 63 68 61 72 61 63 74 65 72 5f 73 74 |_mf_character_st| 00000230 65 70 3a 4a 4d 50 20 6d 66 5f 73 6d 61 6c 6c 5f |ep:JMP mf_small_| 00000240 63 61 70 73 3a 2e 6d 66 5f 6c 6f 6f 70 5f 65 78 |caps:.mf_loop_ex| 00000250 69 74 3a 4a 53 52 20 72 65 73 65 74 5f 6d 66 5f |it:JSR reset_mf_| 00000260 73 74 79 6c 65 5f 66 6c 61 67 73 3a 52 54 53 0d |style_flags:RTS.| 00000270 00 6e 34 2e 6e 6f 5f 66 6c 61 67 73 3a 4c 44 41 |.n4.no_flags:LDA| 00000280 20 26 37 31 3a 4a 53 52 20 26 46 46 45 45 3a 4a | &71:JSR &FFEE:J| 00000290 4d 50 20 6d 66 5f 6c 6f 6f 70 5f 63 6f 6e 74 69 |MP mf_loop_conti| 000002a0 6e 75 65 0d 00 78 57 2e 69 6e 63 72 65 61 73 65 |nue..xW.increase| 000002b0 5f 6d 66 5f 6c 6f 6f 70 5f 63 6f 75 6e 74 65 72 |_mf_loop_counter| 000002c0 3a 4c 44 41 20 26 37 31 3a 53 54 41 20 26 38 32 |:LDA &71:STA &82| 000002d0 3a 49 4e 43 20 26 38 31 3a 4c 44 59 20 26 38 31 |:INC &81:LDY &81| 000002e0 3a 4c 44 41 20 28 26 37 41 2b 32 29 2c 59 3a 53 |:LDA (&7A+2),Y:S| 000002f0 54 41 20 26 37 31 3a 52 54 53 0d 00 82 35 2e 6f |TA &71:RTS...5.o| 00000300 75 74 70 75 74 5f 6d 66 5f 63 68 61 72 61 63 74 |utput_mf_charact| 00000310 65 72 5f 73 74 65 70 3a 4a 4d 50 20 6f 75 74 70 |er_step:JMP outp| 00000320 75 74 5f 6d 66 5f 63 68 61 72 61 63 74 65 72 0d |ut_mf_character.| 00000330 00 8c 3b 2e 6d 66 63 6f 64 65 5f 69 6e 74 65 72 |..;.mfcode_inter| 00000340 70 72 65 74 65 72 3a 4a 53 52 20 69 6e 63 72 65 |preter:JSR incre| 00000350 61 73 65 5f 6d 66 5f 6c 6f 6f 70 5f 63 6f 75 6e |ase_mf_loop_coun| 00000360 74 65 72 3a 4c 44 59 20 23 30 0d 00 96 b1 2e 6d |ter:LDY #0.....m| 00000370 66 63 6f 64 65 5f 69 6e 74 65 72 70 72 65 74 65 |fcode_interprete| 00000380 72 5f 6c 6f 6f 70 3a 43 4d 50 20 6d 66 63 6f 64 |r_loop:CMP mfcod| 00000390 65 5f 64 61 74 61 5f 62 6c 6f 63 6b 5f 73 74 61 |e_data_block_sta| 000003a0 72 74 2c 59 3a 42 45 51 20 6d 66 63 6f 64 65 5f |rt,Y:BEQ mfcode_| 000003b0 69 6e 74 65 72 70 72 65 74 65 72 5f 66 6f 6e 74 |interpreter_font| 000003c0 5f 74 6f 67 67 6c 65 3a 49 4e 59 3a 43 50 59 20 |_toggle:INY:CPY | 000003d0 6d 66 63 6f 64 65 5f 64 61 74 61 5f 62 6c 6f 63 |mfcode_data_bloc| 000003e0 6b 5f 65 6e 64 2d 6d 66 63 6f 64 65 5f 64 61 74 |k_end-mfcode_dat| 000003f0 61 5f 62 6c 6f 63 6b 5f 73 74 61 72 74 2b 31 3a |a_block_start+1:| 00000400 42 4e 45 20 6d 66 63 6f 64 65 5f 69 6e 74 65 72 |BNE mfcode_inter| 00000410 70 72 65 74 65 72 5f 6c 6f 6f 70 0d 00 a0 4c 2e |preter_loop...L.| 00000420 75 6e 64 65 66 69 6e 65 64 5f 6d 66 63 6f 64 65 |undefined_mfcode| 00000430 5f 65 72 72 6f 72 3a 42 52 4b 3a 45 51 55 42 20 |_error:BRK:EQUB | 00000440 26 46 46 3a 45 51 55 53 20 22 55 6e 2d 64 65 66 |&FF:EQUS "Un-def| 00000450 69 6e 65 64 20 4d 65 67 61 46 6f 6e 74 20 63 6f |ined MegaFont co| 00000460 64 65 22 3a 42 52 4b 0d 00 aa e9 2e 6d 66 63 6f |de":BRK.....mfco| 00000470 64 65 5f 69 6e 74 65 72 70 72 65 74 65 72 5f 66 |de_interpreter_f| 00000480 6f 6e 74 5f 74 6f 67 67 6c 65 3a 4c 44 58 20 23 |ont_toggle:LDX #| 00000490 32 30 37 3a 53 54 58 20 26 38 32 2b 31 3a 54 59 |207:STX &82+1:TY| 000004a0 41 3a 53 42 43 20 23 38 3a 42 4d 49 20 74 6f 67 |A:SBC #8:BMI tog| 000004b0 67 6c 65 5f 6d 66 73 3a 43 4d 50 20 23 35 3a 42 |gle_mfs:CMP #5:B| 000004c0 45 51 20 72 65 73 65 74 5f 6d 66 5f 73 74 79 6c |EQ reset_mf_styl| 000004d0 65 5f 66 6c 61 67 73 5f 63 6f 6d 6d 61 6e 64 3a |e_flags_command:| 000004e0 43 4d 50 20 23 36 3a 42 45 51 20 6f 75 74 70 75 |CMP #6:BEQ outpu| 000004f0 74 5f 6c 69 6e 65 5f 66 65 65 64 3a 43 4d 50 20 |t_line_feed:CMP | 00000500 23 37 3a 42 45 51 20 63 68 61 6e 67 65 5f 6d 66 |#7:BEQ change_mf| 00000510 5f 66 6f 72 65 67 72 6f 75 6e 64 5f 63 6f 6c 6f |_foreground_colo| 00000520 75 72 3a 43 4d 50 20 23 38 3a 42 45 51 20 63 68 |ur:CMP #8:BEQ ch| 00000530 61 6e 67 65 5f 6d 66 5f 62 61 63 6b 67 72 6f 75 |ange_mf_backgrou| 00000540 6e 64 5f 63 6f 6c 6f 75 72 3a 43 4d 50 20 23 39 |nd_colour:CMP #9| 00000550 0d 00 b4 25 42 45 51 20 6f 75 74 70 75 74 5f 6d |...%BEQ output_m| 00000560 66 5f 63 6f 6e 74 72 6f 6c 5f 63 6f 64 65 5f 73 |f_control_code_s| 00000570 79 6d 62 6f 6c 0d 00 be 6a 2e 74 6f 67 67 6c 65 |ymbol...j.toggle| 00000580 5f 6d 66 5f 70 6f 73 69 74 69 6f 6e 5f 66 6c 61 |_mf_position_fla| 00000590 67 3a 41 44 43 20 23 31 3a 43 4d 50 20 26 38 35 |g:ADC #1:CMP &85| 000005a0 3a 42 45 51 20 63 6c 65 61 72 5f 6d 66 5f 70 6f |:BEQ clear_mf_po| 000005b0 73 69 74 69 6f 6e 5f 66 6c 61 67 3a 53 54 41 20 |sition_flag:STA | 000005c0 26 38 35 3a 4a 4d 50 20 6d 66 63 6f 64 65 5f 69 |&85:JMP mfcode_i| 000005d0 6e 74 65 72 70 72 65 74 65 72 5f 65 78 69 74 0d |nterpreter_exit.| 000005e0 00 c8 46 2e 63 6c 65 61 72 5f 6d 66 5f 70 6f 73 |..F.clear_mf_pos| 000005f0 69 74 69 6f 6e 5f 66 6c 61 67 3a 4c 44 41 20 23 |ition_flag:LDA #| 00000600 30 3a 53 54 41 20 26 38 35 3a 4a 4d 50 20 6d 66 |0:STA &85:JMP mf| 00000610 63 6f 64 65 5f 69 6e 74 65 72 70 72 65 74 65 72 |code_interpreter| 00000620 5f 65 78 69 74 0d 00 d2 4e 2e 74 6f 67 67 6c 65 |_exit...N.toggle| 00000630 5f 6d 66 73 3a 4c 44 41 20 23 31 3a 53 54 41 20 |_mfs:LDA #1:STA | 00000640 26 38 32 3a 43 50 59 20 23 30 3a 42 45 51 20 74 |&82:CPY #0:BEQ t| 00000650 6f 67 67 6c 65 5f 6d 66 73 5f 65 78 69 74 3a 53 |oggle_mfs_exit:S| 00000660 54 59 20 26 38 32 2b 31 3a 4c 44 58 20 23 30 3a |TY &82+1:LDX #0:| 00000670 43 4c 43 0d 00 dc 46 2e 74 6f 67 67 6c 65 5f 6d |CLC...F.toggle_m| 00000680 66 73 5f 6c 6f 6f 70 3a 41 44 43 20 26 38 32 3a |fs_loop:ADC &82:| 00000690 53 54 41 20 26 38 32 3a 49 4e 58 3a 43 50 58 20 |STA &82:INX:CPX | 000006a0 26 38 32 2b 31 3a 42 4e 45 20 74 6f 67 67 6c 65 |&82+1:BNE toggle| 000006b0 5f 6d 66 73 5f 6c 6f 6f 70 0d 00 e6 46 2e 74 6f |_mfs_loop...F.to| 000006c0 67 67 6c 65 5f 6d 66 73 5f 65 78 69 74 3a 4c 44 |ggle_mfs_exit:LD| 000006d0 41 20 26 38 34 3a 82 20 26 38 32 3a 53 54 41 20 |A &84:. &82:STA | 000006e0 26 38 34 3a 4a 4d 50 20 6d 66 63 6f 64 65 5f 69 |&84:JMP mfcode_i| 000006f0 6e 74 65 72 70 72 65 74 65 72 5f 65 78 69 74 0d |nterpreter_exit.| 00000700 00 f0 5d 2e 6f 75 74 70 75 74 5f 6d 66 5f 63 6f |..].output_mf_co| 00000710 6e 74 72 6f 6c 5f 63 6f 64 65 5f 73 79 6d 62 6f |ntrol_code_symbo| 00000720 6c 3a 4c 44 41 20 6d 66 5f 63 6f 6e 74 72 6f 6c |l:LDA mf_control| 00000730 5f 63 6f 64 65 5f 73 79 6d 62 6f 6c 3a 53 54 41 |_code_symbol:STA| 00000740 20 26 37 31 3a 4a 4d 50 20 6d 66 5f 64 65 66 69 | &71:JMP mf_defi| 00000750 6e 65 5f 63 68 61 72 61 63 74 65 72 0d 00 fa 28 |ne_character...(| 00000760 2e 63 68 61 6e 67 65 5f 6d 66 5f 62 61 63 6b 67 |.change_mf_backg| 00000770 72 6f 75 6e 64 5f 63 6f 6c 6f 75 72 3a 4c 44 58 |round_colour:LDX| 00000780 20 23 37 39 0d 01 04 83 2e 63 68 61 6e 67 65 5f | #79.....change_| 00000790 6d 66 5f 66 6f 72 65 67 72 6f 75 6e 64 5f 63 6f |mf_foreground_co| 000007a0 6c 6f 75 72 3a 53 54 41 20 26 38 32 2b 31 3a 4a |lour:STA &82+1:J| 000007b0 53 52 20 69 6e 63 72 65 61 73 65 5f 6d 66 5f 6c |SR increase_mf_l| 000007c0 6f 6f 70 5f 63 6f 75 6e 74 65 72 3a 41 44 43 20 |oop_counter:ADC | 000007d0 26 38 32 2b 31 3a 54 41 59 3a 4a 53 52 20 63 68 |&82+1:TAY:JSR ch| 000007e0 61 6e 67 65 5f 63 6f 6c 6f 75 72 3a 4a 4d 50 20 |ange_colour:JMP | 000007f0 6d 66 63 6f 64 65 5f 69 6e 74 65 72 70 72 65 74 |mfcode_interpret| 00000800 65 72 5f 65 78 69 74 0d 01 0e 3b 2e 6f 75 74 70 |er_exit...;.outp| 00000810 75 74 5f 6c 69 6e 65 5f 66 65 65 64 3a 4a 53 52 |ut_line_feed:JSR| 00000820 20 26 46 46 45 37 3a 4a 4d 50 20 6d 66 63 6f 64 | &FFE7:JMP mfcod| 00000830 65 5f 69 6e 74 65 72 70 72 65 74 65 72 5f 65 78 |e_interpreter_ex| 00000840 69 74 0d 01 18 3a 2e 72 65 73 65 74 5f 6d 66 5f |it...:.reset_mf_| 00000850 73 74 79 6c 65 5f 66 6c 61 67 73 5f 63 6f 6d 6d |style_flags_comm| 00000860 61 6e 64 3a 4a 53 52 20 72 65 73 65 74 5f 6d 66 |and:JSR reset_mf| 00000870 5f 73 74 79 6c 65 5f 66 6c 61 67 73 0d 01 22 54 |_style_flags.."T| 00000880 2e 6d 66 63 6f 64 65 5f 69 6e 74 65 72 70 72 65 |.mfcode_interpre| 00000890 74 65 72 5f 65 78 69 74 3a 4a 53 52 20 69 6e 63 |ter_exit:JSR inc| 000008a0 72 65 61 73 65 5f 6d 66 5f 6c 6f 6f 70 5f 63 6f |rease_mf_loop_co| 000008b0 75 6e 74 65 72 3a 4c 44 59 20 23 30 3a 53 54 59 |unter:LDY #0:STY| 000008c0 20 26 38 32 3a 4a 4d 50 20 6d 66 5f 6c 6f 6f 70 | &82:JMP mf_loop| 000008d0 0d 01 2c 5d 2e 72 65 73 65 74 5f 6d 66 5f 73 74 |..,].reset_mf_st| 000008e0 79 6c 65 5f 66 6c 61 67 73 3a 4c 44 59 20 23 37 |yle_flags:LDY #7| 000008f0 3a 4a 53 52 20 63 68 61 6e 67 65 5f 63 6f 6c 6f |:JSR change_colo| 00000900 75 72 3a 4c 44 59 20 23 31 32 38 3a 4a 53 52 20 |ur:LDY #128:JSR | 00000910 63 68 61 6e 67 65 5f 63 6f 6c 6f 75 72 3a 4c 44 |change_colour:LD| 00000920 41 20 23 30 3a 4c 44 58 20 23 26 38 32 0d 01 36 |A #0:LDX #&82..6| 00000930 57 2e 72 65 73 65 74 5f 6d 66 5f 73 74 79 6c 65 |W.reset_mf_style| 00000940 5f 66 6c 61 67 73 5f 6c 6f 6f 70 3a 53 54 41 20 |_flags_loop:STA | 00000950 30 2c 58 3a 49 4e 58 3a 43 50 58 20 23 26 38 35 |0,X:INX:CPX #&85| 00000960 2b 31 3a 42 4e 45 20 72 65 73 65 74 5f 6d 66 5f |+1:BNE reset_mf_| 00000970 73 74 79 6c 65 5f 66 6c 61 67 73 5f 6c 6f 6f 70 |style_flags_loop| 00000980 3a 52 54 53 0d 01 40 36 2e 63 68 61 6e 67 65 5f |:RTS..@6.change_| 00000990 63 6f 6c 6f 75 72 3a 4c 44 41 20 23 31 37 3a 4a |colour:LDA #17:J| 000009a0 53 52 20 26 46 46 45 45 3a 54 59 41 3a 4a 53 52 |SR &FFEE:TYA:JSR| 000009b0 20 26 46 46 45 45 3a 52 54 53 0d 01 4a 35 2e 6d | &FFEE:RTS..J5.m| 000009c0 66 63 6f 64 65 5f 64 61 74 61 5f 62 6c 6f 63 6b |fcode_data_block| 000009d0 5f 73 74 61 72 74 3a 45 51 55 53 20 22 42 49 55 |_start:EQUS "BIU| 000009e0 48 52 46 44 53 32 2b 2d 4f 43 4e 2e 58 59 22 0d |HRFDS2+-OCN.XY".| 000009f0 01 54 24 2e 6d 66 5f 63 6f 6e 74 72 6f 6c 5f 63 |.T$.mf_control_c| 00000a00 6f 64 65 5f 73 79 6d 62 6f 6c 3a 45 51 55 42 20 |ode_symbol:EQUB | 00000a10 31 32 34 0d 01 5e 1a 2e 6d 66 63 6f 64 65 5f 64 |124..^..mfcode_d| 00000a20 61 74 61 5f 62 6c 6f 63 6b 5f 65 6e 64 0d 01 68 |ata_block_end..h| 00000a30 3d 2e 72 65 73 75 6d 65 5f 6c 6f 6f 70 3a 4c 44 |=.resume_loop:LD| 00000a40 41 20 23 26 31 37 3a 4a 53 52 20 26 46 46 45 45 |A #&17:JSR &FFEE| 00000a50 3a 4c 44 41 20 23 26 46 46 3a 4a 53 52 20 26 46 |:LDA #&FF:JSR &F| 00000a60 46 45 45 3a 4c 44 58 20 23 30 0d 01 72 4b 2e 72 |FEE:LDX #0..rK.r| 00000a70 65 73 75 6d 65 5f 6c 6f 6f 70 5f 6c 6f 6f 70 3a |esume_loop_loop:| 00000a80 4c 44 41 20 26 37 31 2b 31 2c 58 3a 4a 53 52 20 |LDA &71+1,X:JSR | 00000a90 26 46 46 45 45 3a 49 4e 58 3a 43 50 58 20 23 38 |&FFEE:INX:CPX #8| 00000aa0 3a 42 4e 45 20 72 65 73 75 6d 65 5f 6c 6f 6f 70 |:BNE resume_loop| 00000ab0 5f 6c 6f 6f 70 0d 01 7c 2b 2e 6f 75 74 70 75 74 |_loop..|+.output| 00000ac0 5f 6d 66 5f 63 68 61 72 61 63 74 65 72 3a 4c 44 |_mf_character:LD| 00000ad0 41 20 23 26 46 46 3a 4a 53 52 20 26 46 46 45 45 |A #&FF:JSR &FFEE| 00000ae0 0d 01 86 3e 2e 6d 66 5f 6c 6f 6f 70 5f 63 6f 6e |...>.mf_loop_con| 00000af0 74 69 6e 75 65 3a 4a 53 52 20 69 6e 63 72 65 61 |tinue:JSR increa| 00000b00 73 65 5f 6d 66 5f 6c 6f 6f 70 5f 63 6f 75 6e 74 |se_mf_loop_count| 00000b10 65 72 3a 4a 4d 50 20 6d 66 5f 6c 6f 6f 70 0d 01 |er:JMP mf_loop..| 00000b20 90 a0 2e 6d 66 5f 73 6d 61 6c 6c 5f 63 61 70 73 |...mf_small_caps| 00000b30 3a 4c 44 41 20 26 38 35 3a 43 4d 50 20 23 35 3a |:LDA &85:CMP #5:| 00000b40 42 4e 45 20 6d 66 5f 64 65 66 69 6e 65 5f 63 68 |BNE mf_define_ch| 00000b50 61 72 61 63 74 65 72 3a 4c 44 41 20 26 37 31 3a |aracter:LDA &71:| 00000b60 53 42 43 20 23 39 37 3a 42 4d 49 20 6d 66 5f 64 |SBC #97:BMI mf_d| 00000b70 65 66 69 6e 65 5f 63 68 61 72 61 63 74 65 72 3a |efine_character:| 00000b80 53 42 43 20 23 32 36 3a 42 50 4c 20 6d 66 5f 64 |SBC #26:BPL mf_d| 00000b90 65 66 69 6e 65 5f 63 68 61 72 61 63 74 65 72 3a |efine_character:| 00000ba0 41 44 43 20 23 39 31 3a 53 54 41 20 26 37 31 3a |ADC #91:STA &71:| 00000bb0 4c 44 41 20 23 36 3a 53 54 41 20 26 38 35 0d 01 |LDA #6:STA &85..| 00000bc0 9a 3a 2e 6d 66 5f 64 65 66 69 6e 65 5f 63 68 61 |.:.mf_define_cha| 00000bd0 72 61 63 74 65 72 3a 4c 44 41 20 23 26 41 3a 4c |racter:LDA #&A:L| 00000be0 44 58 20 23 26 37 31 3a 4c 44 59 20 23 30 3a 4a |DX #&71:LDY #0:J| 00000bf0 53 52 20 26 46 46 46 31 0d 01 a4 36 2e 6d 66 5f |SR &FFF1...6.mf_| 00000c00 62 6f 6c 64 3a 4c 44 41 20 26 38 34 3a 84 41 20 |bold:LDA &84:.A | 00000c10 23 31 3a 43 4d 50 20 26 38 34 3a 42 4e 45 20 6d |#1:CMP &84:BNE m| 00000c20 66 5f 66 61 69 6e 74 3a 4c 44 58 20 23 30 0d 01 |f_faint:LDX #0..| 00000c30 ae 56 2e 6d 66 5f 62 6f 6c 64 5f 6c 6f 6f 70 3a |.V.mf_bold_loop:| 00000c40 4c 44 41 20 26 37 31 2b 31 2c 58 3a 41 53 4c 20 |LDA &71+1,X:ASL | 00000c50 41 3a 84 41 20 26 37 31 2b 31 2c 58 3a 53 54 41 |A:.A &71+1,X:STA| 00000c60 20 26 37 31 2b 31 2c 58 3a 49 4e 58 3a 43 50 58 | &71+1,X:INX:CPX| 00000c70 20 23 38 3a 42 4e 45 20 6d 66 5f 62 6f 6c 64 5f | #8:BNE mf_bold_| 00000c80 6c 6f 6f 70 0d 01 b8 3b 2e 6d 66 5f 66 61 69 6e |loop...;.mf_fain| 00000c90 74 3a 4c 44 41 20 26 38 34 3a 84 41 20 23 26 32 |t:LDA &84:.A #&2| 00000ca0 30 3a 43 4d 50 20 26 38 34 3a 42 4e 45 20 6d 66 |0:CMP &84:BNE mf| 00000cb0 5f 64 69 67 69 74 61 6c 3a 4c 44 58 20 23 30 0d |_digital:LDX #0.| 00000cc0 01 c2 57 2e 6d 66 5f 66 61 69 6e 74 5f 6c 6f 6f |..W.mf_faint_loo| 00000cd0 70 3a 4c 44 41 20 26 37 31 2b 31 2c 58 3a 41 53 |p:LDA &71+1,X:AS| 00000ce0 4c 20 41 3a 80 20 26 37 31 2b 31 2c 58 3a 53 54 |L A:. &71+1,X:ST| 00000cf0 41 20 26 37 31 2b 31 2c 58 3a 49 4e 58 3a 43 50 |A &71+1,X:INX:CP| 00000d00 58 20 23 38 3a 42 4e 45 20 6d 66 5f 66 61 69 6e |X #8:BNE mf_fain| 00000d10 74 5f 6c 6f 6f 70 0d 01 cc 99 2e 6d 66 5f 64 69 |t_loop.....mf_di| 00000d20 67 69 74 61 6c 3a 4c 44 41 20 26 38 34 3a 84 41 |gital:LDA &84:.A| 00000d30 20 23 26 34 30 3a 43 4d 50 20 26 38 34 3a 42 4e | #&40:CMP &84:BN| 00000d40 45 20 6d 66 5f 73 68 61 64 6f 77 3a 4c 44 59 23 |E mf_shadow:LDY#| 00000d50 33 3a 53 54 59 20 26 38 32 3a 4c 44 41 20 26 37 |3:STY &82:LDA &7| 00000d60 31 3a 4c 44 58 20 23 30 3a 53 42 43 20 23 39 36 |1:LDX #0:SBC #96| 00000d70 3a 42 4d 49 20 6d 66 5f 64 69 67 69 74 61 6c 5f |:BMI mf_digital_| 00000d80 6c 6f 6f 70 3a 53 42 43 20 23 32 37 3a 42 50 4c |loop:SBC #27:BPL| 00000d90 20 6d 66 5f 64 69 67 69 74 61 6c 5f 6c 6f 6f 70 | mf_digital_loop| 00000da0 3a 4c 44 59 20 23 34 3a 53 54 59 20 26 38 32 0d |:LDY #4:STY &82.| 00000db0 01 d6 5c 2e 6d 66 5f 64 69 67 69 74 61 6c 5f 6c |..\.mf_digital_l| 00000dc0 6f 6f 70 3a 4c 44 41 20 26 37 31 2b 31 2c 58 3a |oop:LDA &71+1,X:| 00000dd0 41 53 4c 20 41 3a 80 20 26 37 31 2b 31 2c 58 3a |ASL A:. &71+1,X:| 00000de0 53 54 41 20 26 37 31 2b 31 2c 58 3a 49 4e 58 3a |STA &71+1,X:INX:| 00000df0 43 50 58 20 26 38 32 3a 42 4e 45 20 6d 66 5f 64 |CPX &82:BNE mf_d| 00000e00 69 67 69 74 61 6c 5f 6c 6f 6f 70 0d 01 e0 3b 2e |igital_loop...;.| 00000e10 6d 66 5f 73 68 61 64 6f 77 3a 4c 44 41 20 26 38 |mf_shadow:LDA &8| 00000e20 34 3a 84 41 20 23 26 38 30 3a 43 4d 50 20 26 38 |4:.A #&80:CMP &8| 00000e30 34 3a 42 4e 45 20 6d 66 5f 69 74 61 6c 69 63 3a |4:BNE mf_italic:| 00000e40 4c 44 58 20 23 30 0d 01 ea 63 2e 6d 66 5f 73 68 |LDX #0...c.mf_sh| 00000e50 61 64 6f 77 5f 6c 6f 6f 70 3a 4c 44 41 20 26 37 |adow_loop:LDA &7| 00000e60 31 2b 31 2c 58 3a 41 53 4c 20 41 3a 80 20 26 37 |1+1,X:ASL A:. &7| 00000e70 31 2b 31 2c 58 3a 82 20 26 37 31 2b 31 2c 58 3a |1+1,X:. &71+1,X:| 00000e80 53 54 41 20 26 37 31 2b 31 2c 58 3a 49 4e 58 3a |STA &71+1,X:INX:| 00000e90 43 50 58 20 23 38 3a 42 4e 45 20 6d 66 5f 73 68 |CPX #8:BNE mf_sh| 00000ea0 61 64 6f 77 5f 6c 6f 6f 70 0d 01 f4 43 2e 6d 66 |adow_loop...C.mf| 00000eb0 5f 69 74 61 6c 69 63 3a 4c 44 41 20 26 38 34 3a |_italic:LDA &84:| 00000ec0 84 41 20 23 32 3a 43 4d 50 20 26 38 34 3a 42 4e |.A #2:CMP &84:BN| 00000ed0 45 20 6d 66 5f 64 6f 75 62 6c 65 5f 75 6e 64 65 |E mf_double_unde| 00000ee0 72 6c 69 6e 65 3a 4c 44 58 20 23 30 0d 01 fe 9f |rline:LDX #0....| 00000ef0 2e 6d 66 5f 69 74 61 6c 69 63 5f 6c 6f 6f 70 3a |.mf_italic_loop:| 00000f00 4c 44 41 20 26 37 31 2b 31 2c 58 3a 4c 53 52 20 |LDA &71+1,X:LSR | 00000f10 41 3a 53 54 41 20 26 37 31 2b 31 2c 58 3a 4c 44 |A:STA &71+1,X:LD| 00000f20 41 20 26 37 31 2b 36 2c 58 3a 41 53 4c 20 41 3a |A &71+6,X:ASL A:| 00000f30 53 54 41 20 26 37 31 2b 36 2c 58 3a 49 4e 58 3a |STA &71+6,X:INX:| 00000f40 43 50 58 20 23 32 3a 42 4e 45 20 6d 66 5f 69 74 |CPX #2:BNE mf_it| 00000f50 61 6c 69 63 5f 6c 6f 6f 70 3a 4c 44 41 20 26 37 |alic_loop:LDA &7| 00000f60 31 2b 38 3a 41 53 4c 20 41 3a 53 54 41 20 26 37 |1+8:ASL A:STA &7| 00000f70 31 2b 38 3a 4a 4d 50 20 6d 66 5f 64 6f 75 62 6c |1+8:JMP mf_doubl| 00000f80 65 5f 75 6e 64 65 72 6c 69 6e 65 0d 02 08 27 2e |e_underline...'.| 00000f90 72 65 73 75 6d 65 5f 6c 6f 6f 70 5f 73 74 65 70 |resume_loop_step| 00000fa0 5f 31 3a 4a 4d 50 20 72 65 73 75 6d 65 5f 6c 6f |_1:JMP resume_lo| 00000fb0 6f 70 0d 02 12 8a 2e 63 6f 6d 70 72 65 73 73 3a |op.....compress:| 00000fc0 4c 44 41 20 26 37 31 2b 33 3a 53 54 41 20 26 37 |LDA &71+3:STA &7| 00000fd0 31 2b 32 3a 4c 44 41 20 26 37 31 2b 34 3a 53 54 |1+2:LDA &71+4:ST| 00000fe0 41 20 26 37 31 2b 33 3a 4c 44 41 20 26 37 31 2b |A &71+3:LDA &71+| 00000ff0 36 3a 53 54 41 20 26 37 31 2b 34 3a 4c 44 41 20 |6:STA &71+4:LDA | 00001000 26 37 31 2b 38 3a 53 54 41 20 26 37 31 2b 36 3a |&71+8:STA &71+6:| 00001010 4c 44 58 20 26 37 31 2b 35 3a 4c 44 41 20 26 37 |LDX &71+5:LDA &7| 00001020 31 2b 36 3a 43 4d 50 20 23 30 3a 42 4e 45 20 63 |1+6:CMP #0:BNE c| 00001030 6f 6d 70 72 65 73 73 5f 65 78 69 74 0d 02 1c ab |ompress_exit....| 00001040 4c 44 41 20 26 37 31 3a 43 4d 50 20 23 97 22 65 |LDA &71:CMP #."e| 00001050 22 3a 42 45 51 20 6e 6f 74 61 69 6c 32 3a 43 4d |":BEQ notail2:CM| 00001060 50 20 23 97 22 73 22 3a 42 45 51 20 6e 6f 74 61 |P #."s":BEQ nota| 00001070 69 6c 32 3a 43 4d 50 20 23 97 22 3f 22 3a 42 45 |il2:CMP #."?":BE| 00001080 51 20 6e 6f 74 61 69 6c 32 3a 43 4d 50 20 23 97 |Q notail2:CMP #.| 00001090 22 21 22 3a 42 45 51 20 6e 6f 74 61 69 6c 32 3a |"!":BEQ notail2:| 000010a0 43 4d 50 20 23 97 22 35 22 3a 42 45 51 20 6e 6f |CMP #."5":BEQ no| 000010b0 74 61 69 6c 32 3a 43 4d 50 20 23 97 22 78 22 3a |tail2:CMP #."x":| 000010c0 42 45 51 20 6e 6f 74 61 69 6c 32 3a 53 54 58 20 |BEQ notail2:STX | 000010d0 26 37 31 2b 34 3a 4a 4d 50 20 63 6f 6d 70 72 65 |&71+4:JMP compre| 000010e0 73 73 5f 65 78 69 74 0d 02 26 58 2e 6e 6f 74 61 |ss_exit..&X.nota| 000010f0 69 6c 32 3a 53 54 58 20 26 37 31 2b 33 3a 2e 63 |il2:STX &71+3:.c| 00001100 6f 6d 70 72 65 73 73 5f 65 78 69 74 3a 4c 44 41 |ompress_exit:LDA| 00001110 20 26 37 31 2b 37 3a 53 54 41 20 26 37 31 2b 35 | &71+7:STA &71+5| 00001120 3a 4c 44 41 20 23 30 3a 53 54 41 20 26 37 31 2b |:LDA #0:STA &71+| 00001130 37 3a 53 54 41 20 26 37 31 2b 38 3a 52 54 53 0d |7:STA &71+8:RTS.| 00001140 02 30 97 2e 6d 66 5f 64 6f 75 62 6c 65 5f 75 6e |.0..mf_double_un| 00001150 64 65 72 6c 69 6e 65 3a 4c 44 41 20 26 38 35 3a |derline:LDA &85:| 00001160 43 4d 50 20 23 31 3a 42 4e 45 20 6d 66 5f 73 75 |CMP #1:BNE mf_su| 00001170 70 65 72 73 63 72 69 70 74 3a 4a 53 52 20 63 6f |perscript:JSR co| 00001180 6d 70 72 65 73 73 3a 4c 44 41 20 23 26 46 46 3a |mpress:LDA #&FF:| 00001190 53 54 41 20 26 37 31 2b 38 3a 4c 44 58 20 26 37 |STA &71+8:LDX &7| 000011a0 31 2b 36 3a 43 50 58 20 23 30 3a 42 4e 45 20 6d |1+6:CPX #0:BNE m| 000011b0 66 5f 72 75 6c 65 5f 6a 75 6d 70 3a 53 54 41 20 |f_rule_jump:STA | 000011c0 26 37 31 2b 36 3a 4a 4d 50 20 6d 66 5f 72 75 6c |&71+6:JMP mf_rul| 000011d0 65 5f 6a 75 6d 70 0d 02 3a 51 2e 6d 66 5f 73 75 |e_jump..:Q.mf_su| 000011e0 70 65 72 73 63 72 69 70 74 3a 4c 44 41 20 26 38 |perscript:LDA &8| 000011f0 35 3a 43 4d 50 20 23 32 3a 42 4e 45 20 6d 66 5f |5:CMP #2:BNE mf_| 00001200 73 75 62 73 63 72 69 70 74 3a 4a 53 52 20 63 6f |subscript:JSR co| 00001210 6d 70 72 65 73 73 3a 4a 4d 50 20 6d 66 5f 75 6e |mpress:JMP mf_un| 00001220 64 65 72 6c 69 6e 65 0d 02 44 4e 2e 6d 66 5f 73 |derline..DN.mf_s| 00001230 75 62 73 63 72 69 70 74 3a 4c 44 41 20 26 38 35 |ubscript:LDA &85| 00001240 3a 43 4d 50 20 23 36 3a 42 45 51 20 6d 66 5f 73 |:CMP #6:BEQ mf_s| 00001250 75 62 73 63 72 69 70 74 5f 72 65 73 75 6d 65 3a |ubscript_resume:| 00001260 43 4d 50 20 23 33 3a 42 4e 45 20 6d 66 5f 6f 75 |CMP #3:BNE mf_ou| 00001270 74 6c 69 6e 65 0d 02 4e 2c 2e 6d 66 5f 73 75 62 |tline..N,.mf_sub| 00001280 73 63 72 69 70 74 5f 72 65 73 75 6d 65 3a 4a 53 |script_resume:JS| 00001290 52 20 63 6f 6d 70 72 65 73 73 3a 4c 44 58 20 23 |R compress:LDX #| 000012a0 35 0d 02 58 a5 2e 6d 66 5f 73 75 62 73 63 72 69 |5..X..mf_subscri| 000012b0 70 74 5f 6c 6f 6f 70 3a 4c 44 41 20 26 37 31 2b |pt_loop:LDA &71+| 000012c0 31 2c 58 3a 53 54 41 20 26 37 31 2b 33 2c 58 3a |1,X:STA &71+3,X:| 000012d0 44 45 58 3a 43 50 58 20 23 26 46 46 3a 42 4e 45 |DEX:CPX #&FF:BNE| 000012e0 20 6d 66 5f 73 75 62 73 63 72 69 70 74 5f 6c 6f | mf_subscript_lo| 000012f0 6f 70 3a 4c 44 41 20 23 30 3a 53 54 41 20 26 37 |op:LDA #0:STA &7| 00001300 31 2b 31 3a 53 54 41 20 26 37 31 2b 32 3a 4c 44 |1+1:STA &71+2:LD| 00001310 41 20 23 36 3a 43 4d 50 20 26 38 35 3a 42 4e 45 |A #6:CMP &85:BNE| 00001320 20 6d 66 5f 75 6e 64 65 72 6c 69 6e 65 3a 44 45 | mf_underline:DE| 00001330 43 20 26 38 35 3a 4a 4d 50 20 6d 66 5f 75 6e 64 |C &85:JMP mf_und| 00001340 65 72 6c 69 6e 65 0d 02 62 1d 2e 6d 66 5f 72 75 |erline..b..mf_ru| 00001350 6c 65 5f 6a 75 6d 70 3a 4a 4d 50 20 6d 66 5f 72 |le_jump:JMP mf_r| 00001360 75 6c 65 0d 02 6c 57 2e 6d 66 5f 6f 75 74 6c 69 |ule..lW.mf_outli| 00001370 6e 65 3a 4c 44 41 20 26 38 35 3a 43 4d 50 20 23 |ne:LDA &85:CMP #| 00001380 34 3a 42 4e 45 20 6d 66 5f 75 6e 64 65 72 6c 69 |4:BNE mf_underli| 00001390 6e 65 3a 4a 53 52 20 63 6f 6d 70 72 65 73 73 3a |ne:JSR compress:| 000013a0 4c 44 41 20 26 37 31 2b 36 3a 53 54 41 20 26 37 |LDA &71+6:STA &7| 000013b0 31 2b 38 3a 4c 44 58 20 23 35 0d 02 76 72 2e 6d |1+8:LDX #5..vr.m| 000013c0 66 5f 6f 75 74 6c 69 6e 65 5f 6c 6f 6f 70 3a 4c |f_outline_loop:L| 000013d0 44 41 20 26 37 31 2b 31 2c 58 3a 41 53 4c 20 41 |DA &71+1,X:ASL A| 000013e0 3a 53 54 41 20 26 38 32 3a 4c 44 41 20 26 37 31 |:STA &82:LDA &71| 000013f0 2b 31 2c 58 3a 4c 53 52 20 41 3a 84 41 20 26 38 |+1,X:LSR A:.A &8| 00001400 32 3a 43 50 58 20 23 30 3a 42 45 51 20 6d 66 5f |2:CPX #0:BEQ mf_| 00001410 6f 75 74 6c 69 6e 65 5f 6c 6f 6f 70 5f 72 65 73 |outline_loop_res| 00001420 75 6d 65 3a 84 41 20 26 37 31 2c 58 0d 02 80 6e |ume:.A &71,X...n| 00001430 2e 6d 66 5f 6f 75 74 6c 69 6e 65 5f 6c 6f 6f 70 |.mf_outline_loop| 00001440 5f 72 65 73 75 6d 65 3a 84 41 20 26 37 31 2b 32 |_resume:.A &71+2| 00001450 2c 58 3a 82 20 26 37 31 2b 31 2c 58 3a 53 54 41 |,X:. &71+1,X:STA| 00001460 20 26 37 31 2b 32 2c 58 3a 44 45 58 3a 43 50 58 | &71+2,X:DEX:CPX| 00001470 20 23 26 46 46 3a 42 4e 45 20 6d 66 5f 6f 75 74 | #&FF:BNE mf_out| 00001480 6c 69 6e 65 5f 6c 6f 6f 70 3a 4a 4d 50 20 6d 66 |line_loop:JMP mf| 00001490 5f 75 6e 64 65 72 6c 69 6e 65 0d 02 8a 2e 2e 72 |_underline.....r| 000014a0 65 73 75 6d 65 5f 6c 6f 6f 70 5f 73 74 65 70 5f |esume_loop_step_| 000014b0 32 3a 4a 4d 50 20 72 65 73 75 6d 65 5f 6c 6f 6f |2:JMP resume_loo| 000014c0 70 5f 73 74 65 70 5f 31 0d 02 94 63 2e 6d 66 5f |p_step_1...c.mf_| 000014d0 75 6e 64 65 72 6c 69 6e 65 3a 4c 44 41 20 26 38 |underline:LDA &8| 000014e0 34 3a 84 41 20 23 34 3a 43 4d 50 20 26 38 34 3a |4:.A #4:CMP &84:| 000014f0 42 4e 45 20 6d 66 5f 72 75 6c 65 3a 4c 44 41 20 |BNE mf_rule:LDA | 00001500 26 37 31 2b 38 3a 43 4d 50 20 23 30 3a 42 4e 45 |&71+8:CMP #0:BNE| 00001510 20 6d 66 5f 72 75 6c 65 3a 4c 44 41 20 23 26 46 | mf_rule:LDA #&F| 00001520 46 3a 53 54 41 20 26 37 31 2b 38 0d 02 9e 48 2e |F:STA &71+8...H.| 00001530 6d 66 5f 72 75 6c 65 3a 4c 44 41 20 26 38 34 3a |mf_rule:LDA &84:| 00001540 84 41 20 23 26 31 30 3a 43 4d 50 20 26 38 34 3a |.A #&10:CMP &84:| 00001550 42 4e 45 20 6d 66 5f 68 69 67 68 6c 69 67 68 74 |BNE mf_highlight| 00001560 3a 4c 44 41 20 23 26 46 46 3a 53 54 41 20 26 37 |:LDA #&FF:STA &7| 00001570 31 2b 35 0d 02 a8 45 2e 6d 66 5f 68 69 67 68 6c |1+5...E.mf_highl| 00001580 69 67 68 74 3a 4c 44 41 20 26 38 34 3a 84 41 20 |ight:LDA &84:.A | 00001590 23 38 3a 43 4d 50 20 26 38 34 3a 42 4e 45 20 72 |#8:CMP &84:BNE r| 000015a0 65 73 75 6d 65 5f 6c 6f 6f 70 5f 73 74 65 70 5f |esume_loop_step_| 000015b0 32 3a 4c 44 58 20 23 30 0d 02 b2 6d 2e 6d 66 5f |2:LDX #0...m.mf_| 000015c0 68 69 67 68 6c 69 67 68 74 5f 6c 6f 6f 70 3a 4c |highlight_loop:L| 000015d0 44 41 20 26 37 31 2b 31 2c 58 3a 82 20 23 26 46 |DA &71+1,X:. #&F| 000015e0 46 3a 53 54 41 20 26 37 31 2b 31 2c 58 3a 49 4e |F:STA &71+1,X:IN| 000015f0 58 3a 43 50 58 20 23 38 3a 42 4e 45 20 6d 66 5f |X:CPX #8:BNE mf_| 00001600 68 69 67 68 6c 69 67 68 74 5f 6c 6f 6f 70 3a 4a |highlight_loop:J| 00001610 4d 50 20 72 65 73 75 6d 65 5f 6c 6f 6f 70 5f 73 |MP resume_loop_s| 00001620 74 65 70 5f 32 0d 02 bc 07 5d 3a ed 0d 02 c6 18 |tep_2....]:.....| 00001630 2a 53 41 56 45 20 43 4f 44 45 20 33 44 30 30 20 |*SAVE CODE 3D00 | 00001640 33 46 46 46 0d 02 d0 12 2a 41 43 43 45 53 53 20 |3FFF....*ACCESS | 00001650 43 4f 44 45 20 4c 0d 02 da 20 db 3a f1 8a 35 2c |CODE L... .:..5,| 00001660 31 30 29 22 53 65 74 20 75 70 20 66 69 6e 6e 69 |10)"Set up finni| 00001670 73 68 65 64 2e 22 0d ff |shed."..| 00001678