xMLOAD COM&SCCP DOC 7SCCP20 HEXSCCP20 Z80 ISCCP30 HEXSCCP30 Z80 Overlay file SCCP20.HEX This assembly routine is meant to be merged with a Turbo Pascal (V 2.0 only) program. It should allow the program to exit back to the CCP rather than warm booting. 1. Compile Turbo code to start at 2000h, or change the symbol TStart to whatever you choose. 2. Compile Turbo code to end below the CCP base address on your machine. 3. Use version 2.3 or higher of MLOAD and say: MLOAD MYPROG.COM,SCCP20 4. Run your program. Note that you do not need to declare any external procedures in your turbo code since this overlay makes the necessary patches to the Turbo Library. Also, you may use your Turbo program without adding this patch and it will still work OK, only it will do its usual warm boot on exiting. Overlay file SCCP30.HEX This assembly routine is meant to be merged with a Turbo Pascal (V 3.0 only) program. It should allow the program to exit back to the CCP rather than warm booting. 1. Compile Turbo code to start at 2100h, or change the symbol TStart to whatever you choose. 2. Compile Turbo code to end below the CCP base address on your machine. 3. Use version 2.3 or higher of MLOAD and say: MLOAD MYPROG.COM,SCCP30 4. Run your program. Note that you do not need to declare any external procedures in your turbo code since this overlay makes the necessary patches to the Turbo Library. Also, you may use your Turbo program without adding this patch and it will still work OK, only it will do its usual warm boot on exiting. :03010000C3C91F51 :02201600D01FD9 :0E1FC900ED73D51FC30020ED7BD51FC90000AE :0000000000  Programa"!>C!OM .(!\:D; SCCP20.Z80 (Z80 mnemonics) ; This assembly routine is meant to be merged with a Turbo ; Pascal (V 2.0 only) program. It should allow the program to exit back ; to the CCP rather than warm booting. ; 1. Compile Turbo code to start at 2000h, or change the symbol TStart ; to whatever you choose. ; 2. Compile Turbo code to end below the CCP base address on your machine. ; 3. Use version 2.3 or higher of MLOAD and say: ; MLOAD MYPROG.COM,SCCP ; 4. Run your program. ; ; Note that you do not need to declare any external procedures in ; your turbo code since this overlay makes the necessary patches ; to the Turbo Library. Also, you may use your Turbo program without ; adding this patch and it will still work OK, only it will do ; its usual warm boot on exiting. TStart equ 2000h ; Where you start your code patch equ 1FC9h ; Where this patch will lie TurWB equ TStart+16h ; Where Turbo Library saves warm boot address org 100h jp patch org TurWB defw exit org patch ;New Default Turbo starting point ld (spsave),sp jp TStart exit: ld sp,(spsave) ret spsave: defw 0 end :03010000C3E22037 :0220DC00E920F9 :0E20E200ED73EE20C30021ED7BEE20C900005F :0000000000  Programa"!>C!OM .(!\:D; SCCP30.Z80 (Z80 mnemonics) ; This assembly routine is meant to be merged with a Turbo ; Pascal (V 3.0 only) program. It should allow the program to exit back ; to the CCP rather than warm booting. ; 1. Compile Turbo code to start at 2100h, or change the symbol TStart ; to whatever you choose. ; 2. Compile Turbo code to end below the CCP base address on your machine. ; 3. Use version 2.3 or higher of MLOAD and say: ; MLOAD MYPROG.COM,SCCP ; 4. Run your program. ; ; Note that you do not need to declare any external procedures in ; your turbo code since this overlay makes the necessary patches ; to the Turbo Library. Also, you may use your Turbo program without ; adding this patch and it will still work OK, only it will do ; its usual warm boot on exiting. TStart equ 2100h ; Where you start your code patch equ 20E2h ; Where this patch will lie TurWB equ 20DCh ; Where Turbo Library does warm boot org 100h jp patch org TurWB defw exit org patch ;New Default Turbo starting point ld (spsave),sp jp TStart exit: ld sp,(spsave) ret spsave: defw 0 end COM!9" 1I ͇MLOAD ver. 2.3 Copyright (C) 1983, 1984, 1985 by NightOwl Software, Inc. ͏ s͋zdͿͽ : ! * !  &<* !~#ʏG<6#" *}O| G6# x¿* +Fʏ#~ FUi~#Ui" ))))_* \ =A: i: i<2 –#![  < ,K6L#" x–2 ] 7ͽ <!e~ ½6H#6E#6X`^ ! ~4! ~d* 1:˜2 W _° g o: ̖ +: : " *  " :9 * " *   w# ØG! ~wx1N1N: R_!~! 4\ͽ 2 <4!͖ * * !:9ͽ \ͽ ѷ£*  " v+" * * " ͽ \ !  <~ !<ͽ ͽ <* * {OzGxr\!ͽ ͽ * #" yրOxGz͇Loaded * ͇ bytes (͇H)͇ to file %: ʚ͇ Over a * ͇ byte binary file͇ Start address: * ͇H Ending address: * ͇H Bias: * ͇H ͇Saved image size: * )͇ bytes (͇H, - ͇ records) * }G|͇ ++ Warning: program origin NOT at 100H ++ \ͽ <(͍~#%ʜ/Í:\©͋ <@/:[} o&>:/!]>./Í~ #/#  |{0/> /> /|}'Ɛ'@'_ͽ ~#=#~ FUX0:fAG?͇ Command line syntax error Ï͉ Ambiguous file name: % not allowed.͉ File % not found.͉ Disk full.͉ Directory full.͉ Premature end-of-file in %͉ Checksum error in %͉ Can't close %͉ Memory full while loading %͉ Format error in file %͉ Writing %, nothing loaded͉ MLOAD syntax: MLOAD [=] [,...] [] (brackets denote optional items) is the optional output filename are input file(s) is a hex load offset within the output file may be an optional non-HEX file to be patched by subsequently named HEX files (specifying The filetype enables this function). Note that ZCPR2-style drive/user notation may be used in all file specifications (e.g., "B3:MYFILE.COM, "A14:MDM7.HEX"). ͍v>2 " " * }o|g"   !]<: ! } w#͋ 2  % x _ } 6# 6 # 6# ͨ # ͨ #( :~U AC @#~#:+xG~0G#~:K #{ ~.#yu  k { ͨ #*ʗ ?‹ U  { à >? ™ ͨ #à ~/., :=ȷ/  " 2 = go : *  y "    go\ ] y!"#$a{ e!z #v i HEX ͽ ͽ I I