; SUPER DISK OPERATING SYSTEM ; =========================== ; ; Release H: .comment \ Program: NovaDOS Authors: Herman Ten Brugge (PDOS, P2DOS, release ??/??/85) Bemjamin Ho (SuprBDOS, release 09/02/86) Lindsay Haisley (NovaDOS, release 10/25/88) This is an evolutionary program rather than the result of collaboration between the authors. Most of the work was done by H.A.J. Ten Brugge who wrote the original code. COPYRIGHT NOTICE ---------------- * This source code is copyright (c) 1985 by Herman Ten Brugge of The * * Netherlands. It may be freely copied and used for non-commercial * * purposes. Any commercial use is prohibited unless approved in * * writing by the original author, H.A.J. Ten Brugge. * * * ALL RIGHTS RESERVED H.A.J. Ten Brugge * * Molenstraat 33 * * NL-7491 BD Delden * * The Netherlands * * Tel:..31-5407-1980 * * * * * * * * * * * * * Many Thanks to Jay Sage of Sage Microsystems East for the inspiration and ideas for the organization of this code. \ false equ 0000 true equ not false yes equ true no equ false maclib NDOSHDR.LIB if hexgen and not intadr and not z33adr .printx * HEXGEN ERROR. INTADR OR Z33ADR MUST BE TRUE IN HEADER FILE * else ; if cmnadr common /_ID_/ ; Include the ID common, if needed defb 'NovaDOS Rel: ' version defb 0dh,0ah .radix 16 if resdsk if resflag defb 'BIOS resdsk: INTRNL',0dh,0ah else resmac macro xx defb 'BIOS resdsk: &xx h',0dh,0ah endm resmac %setdsk endif ; resflag endif ; resdsk if pathoff gt 0 pathmac macro xx defb 'DOS path at: &xx h',0dh,0ah endm pathmac %pathoff else defb 'DOS path: OFF',0dh,0ah endif flagmac macro xx defb 'Init. Flags: &xx',0dh,0ah endm .radix 2 flagmac %flagbyte .radix 16 if dotime timemac macro xx defb 'Time/dte at: &xx h',0dh,0ah endm timemac %timeoff endif if exstack stakmac macro xx defb 'DOS stack: &xx h',0dh,0ah endm stakmac %exstack else defb 'DOS stack: INTRNL',0dh,0ah endif if erresc errmac macro xx defb 'Error esc: &xx h',0dh,0ah endm errmac %erresc endif if hifuncs zvermac macro xx defb 'ZRDOS vs. #: &xx',0dh,0ah endm zvermac %zrvers endif defb 'CTRL-R: ' if contron defb 'YES' else defb 'NO' endif defb 0dh,0ah defb 'Function 37: ' if runlog defb 'CP/M' else defb 'ZRDOS' endif defb 0dh,0ah defb 'High funcs: ' if hifuncs defb 'YES' else defb 'NO' endif defb 0dh,0ah if relfunc defb 'Reloc. Fnc: YES',0dh,0ah endif defb 'Function 42: ' if pathcall defb 'YES' else defb 'NO' endif defb 0dh,0ah defb 'Hi bit I/O: ' if hibiton defb 'YES' else defb 'NO' endif defb 0 .radix 10 cseg endif ; ; PRTVAL macro(s) to print text and value during assembly ; (Courtesy of Jim Lill) ; prtval2 macro m1,v1,m2 ; \ .printx + m1 v1 m2 + ; +- this is the print value macro endm ; / prtval macro r,msg1,val,msg2 ; \ .radix r ; passing the radix value prtval2 ,%val, ; requires the uses of 2 macros .radix 10 ; / endm ; if intadr bdosloc equ idosloc p2bios equ ip2bios endif if z33adr maclib Z3BASE.LIB bdosloc equ ccp+800h p2bios equ ccp+1600h endif if cmnadr name ('DOS') maclib Z34CMN.LIB p2bios equ bios endif if reladr p2bios equ p2dos+0e00h endif if hexgen org putsdos endif maclib NVDS-1.Z80 maclib NVDS-2.Z80 maclib NVDS-3.Z80 maclib NVDS-4.Z80 endif ; hexgen and not intadr and not z33adr end