######################################################## MPF-1P_MONITOR-U2.TXT
Purpose.....: Some monitor patches
LastEdit....: 08.04.2024
##############################################################################

1) No printer init message. This just wastes paper.

   Original: 01EF: CALL PRT_MPF   Prints '*****MFP-I-PLUS*****'
             01EF: CD 90 69 

   Patched : 01EF: NOP,NOP,NOP    No print
             01EF: 00 00 00


2) Printer initially off

   Original: 01B0: LD HL,0000     Sets both printer and beeper on. H is beep, 
             01B0: 21 00 00       L is printer, where 0 means on, FF is off.

   Patched : 01B0: LD HL,00FF     This turns off the printer and beeper
             01B0: 21 FF FF       


3) BASIC hotkey (ctrl-B) redirect to ROM Menu on PRT-MPF

   Original: 0186: LD A,(2000)    ID byte of BASIC/FORTH ROM
	     0186: 3A 00 20

             0189: CP CD	  Check signature
             0189: FE CD
	
             018F: JP Z,2000      Jump to BASIC cold start
             018F: CA 00 20

	     0192: JP 2020	  Jump to BASIC warm start
             0192: C3 20 20

   Patched:  0186: LD HL,(7000)   ID byte of PRT-MPF ROM
             0186: 3A 00 70

             0189: CP CD	  Check signature
             0189: FE CD

             018F: JP Z,7000      Jump to ROM Menu
             018F: CA 00 70    		 		 

             0192: RET,NOP,NOP    BASIC warm boot not available, use ROM menu
             0192: C9 00 00


After patches, reclaculate the checksum byte at 0037. Sum of all ROM-bytes
must be equal to zero. This can be done with WinHex. First, set the
checksum byte at 0037 to zero. Then calculate the checksum using 
Tools->Calculate Hash, in Digest select 8-bit Checksum. Substract the result
from 100. Place the subtract result at 0037, recalc, result must be zero.

The monitor runs even if the checksum is incorrect.
 
################################################### EOF MPF-1P_MONITOR-U2.TXT 
