├── .gitattributes ├── LICENSE ├── QuadSer-notes ├── QuadSer-10Kohm-pullups.jpg ├── README.md └── oxan5-Software-Examples-for-the-OX16C95x.pdf ├── README.md ├── original ├── bitbangrtc.zip ├── bitbangrtc1st.zip ├── cbios3.zip ├── cpm22all_asm.zip ├── cpm22all_hex_loadfile.zip ├── cpm22dri.zip ├── cpm3dstr.zip ├── cpmldr_hex.zip ├── ldrbios.zip ├── loadngo.zip └── zzmon_099.zip ├── system ├── bios280 │ ├── BANKBIG.DAT │ ├── BANKBIOS.SUB │ ├── BANKED.DAT │ ├── BANKED1.DAT │ ├── BANKED8.DAT │ ├── BANKINT8.DAT │ ├── BDOS3.SPD │ ├── BDOS3.SPR │ ├── BIGBIOS.SUB │ ├── BIOSDBG.MAC │ ├── BIOSKRNL.MAC │ ├── BNK1BIOS.SUB │ ├── BNK8BIOS.SUB │ ├── BNKBDOS3.SPD │ ├── BNKBDOS3.SPZ │ ├── BOOTSYS.BIN │ ├── BOOTSYS.Z80 │ ├── BUILDALL.SUB │ ├── CHARIO.MAC │ ├── CLOCK.MAC │ ├── CONFBANK.LIB │ ├── CONFBIG.LIB │ ├── CONFBNK1.LIB │ ├── CONFBNK8.LIB │ ├── CONFINT8.LIB │ ├── CONFLBIG.LIB │ ├── CONFLDR.LIB │ ├── CONFNBNK.LIB │ ├── CPM3ADD2.COM │ ├── CPM3ADD2.MAC │ ├── CPM3BANK.COM │ ├── CPM3BANK.SYS │ ├── CPM3BIG.SYS │ ├── CPM3BNK1.COM │ ├── CPM3BNK1.SYS │ ├── CPM3BNK8.COM │ ├── CPM3BNK8.SYS │ ├── CPM3INT8.COM │ ├── CPM3INT8.SYS │ ├── CPM3M80.LIB │ ├── CPM3NBNK.COM │ ├── CPM3NBNK.SYS │ ├── CPMLBIG.HEX │ ├── CPMLDR3.COM │ ├── CPMLDR3.HEX │ ├── CPMLDR3.MAC │ ├── DRI-CPM3.SUB │ ├── IDEHD.MAC │ ├── INT8BIOS.SUB │ ├── LDRBIOS.SUB │ ├── LOADNGO.MAC │ ├── MODEBAUD.LIB │ ├── NBNKBIOS.SUB │ ├── NONBANK.DAT │ ├── OUTJMPE.COM │ ├── OUTJMPE.PAS │ ├── RAMDISK.MAC │ ├── RESBDOS3.SPD │ ├── RESBDOS3.SPZ │ ├── SCB.MAC │ ├── SCTEST.COM │ ├── SCTEST.MAC │ ├── SEQIO.LIB │ ├── SYSCOM.SUB │ ├── TEST.COM │ ├── UNLOAD.COM │ ├── UNLOAD.HEX │ ├── UNLOAD23.LBR │ ├── USE-ZPM3.SUB │ ├── Z280DBG.COM │ ├── Z280DBG.MAC │ ├── Z280RCIO.LIB │ └── bios280.zip ├── cpm22 │ ├── CPM22ALL.HEX │ ├── CPM22ALL.MAC │ ├── CPM22BIG.HEX │ ├── CPM22BIG.MAC │ └── CPM22DRI.HEX ├── cpm3-nonbanked │ ├── CBIOS3C.MAC │ ├── GENCPM.DAT │ └── SYSBUILD.SUB ├── cpm3bin-with-y2k-fixes.zip ├── disk-image │ └── z280rc-bigcpm-swab.img.gz ├── uzi280-bintar │ ├── UZIBNTAR.LBR │ ├── XFRBNTAR.SUB │ ├── bin_00.tar │ ├── bin_01.tar │ ├── bin_02.tar │ ├── bin_03.tar │ ├── bin_04.tar │ └── bin_05.tar ├── uzi280-kernel │ ├── ASAR.AS │ ├── ASAR.OBJ │ ├── ASDIV.AS │ ├── ASDIV.OBJ │ ├── BCOPY.C │ ├── BCOPY.OBJ │ ├── BOOTUZI.COM │ ├── BOOTUZI.MAC │ ├── BZERO.C │ ├── BZERO.OBJ │ ├── C280.COM │ ├── CACHASM.C │ ├── CACHASM.OBJ │ ├── CACHE.C │ ├── CACHE.H │ ├── CACHE.OBJ │ ├── CONFIG.H │ ├── CONFIG.INC │ ├── CRT.C │ ├── CSV.AS │ ├── CSV.OBJ │ ├── DATA.C │ ├── DATA.OBJ │ ├── DEVFLOP.C │ ├── DEVFLOP.OBJ │ ├── DEVIO.C │ ├── DEVIO.OBJ │ ├── DEVMISC.C │ ├── DEVMISC.OBJ │ ├── DEVMT.C │ ├── DEVTTY.C │ ├── DEVTTY.OBJ │ ├── DEVTTYAS.C │ ├── DEVTTYAS.OBJ │ ├── DEVWD.C │ ├── DEVWD.OBJ │ ├── ENVIRON │ ├── EXTERN.H │ ├── FILESYS.C │ ├── FILESYS.OBJ │ ├── IDE.AS │ ├── IDE.H │ ├── IDECF.AS │ ├── IDECF.OBJ │ ├── IDECFINT.AS │ ├── IDECFTST.COM │ ├── IDECFTST.MAC │ ├── IDECONF.C │ ├── IDECONF.OBJ │ ├── IDEINT.AS │ ├── IDIV.AS │ ├── IDIV.OBJ │ ├── IMUL.AS │ ├── IMUL.OBJ │ ├── ITOB.C │ ├── ITOB.OBJ │ ├── KPRINTF.C │ ├── KPRINTF.OBJ │ ├── LIB280C.LIB │ ├── LIB280F.LIB │ ├── LINKUZI.SUB │ ├── LINQ.COM │ ├── LK2M80.SUB │ ├── LKUZI.SUB │ ├── MACHASM.C │ ├── MACHASM.OBJ │ ├── MACHDEP.C │ ├── MACHDEP.OBJ │ ├── MACRO.LIB │ ├── MACS.LIB │ ├── MAKE.COM │ ├── MAKEFILE │ ├── MKLIB.SUB │ ├── NEWUPUT.C │ ├── NEWUPUT.OBJ │ ├── OPTIMH.C │ ├── OPTIMH.COM │ ├── OUTIN.C │ ├── OUTIN.OBJ │ ├── PROCASM.C │ ├── PROCASM.OBJ │ ├── PROCESS.C │ ├── PROCESS.OBJ │ ├── RUNTIME.LIB │ ├── SCALL1.C │ ├── SCALL1.OBJ │ ├── SCALL1B.C │ ├── SCALL2.C │ ├── SCALL2.OBJ │ ├── SCALL3.C │ ├── SCALL3.OBJ │ ├── SCALL4.C │ ├── SCALL4.OBJ │ ├── SHAR.AS │ ├── SHAR.OBJ │ ├── SHLL.AS │ ├── SHLL.OBJ │ ├── SHLR.AS │ ├── SHLR.OBJ │ ├── START.C │ ├── START.OBJ │ ├── UNIX.CIM │ ├── UNIX.COM │ ├── UNIX.H │ ├── UNIX.SYM │ ├── UZI280.OBJ │ ├── UZIBUILD.LOG │ ├── UZIKERNL.LBR │ ├── WRELOP.AS │ ├── WRELOP.OBJ │ └── Z280RC.INC ├── uzi280-usrtar │ ├── UZICTAR.LBR │ ├── UZISYTAR.LBR │ ├── UZIUSTAR.LBR │ ├── uzi112c.tar │ ├── uzi112s.tar │ ├── uzi112u.tar │ ├── xfrctar.sub │ ├── xfrsytar.sub │ └── xfrustar.sub ├── uzi280-xutils │ ├── 00README.TXT │ ├── ARCE.COM │ ├── BCOPY.C │ ├── BCOPY.OBJ │ ├── BD.C │ ├── BDZERO.C │ ├── BIOS.C │ ├── BIOS.OBJ │ ├── BZERO.C │ ├── BZERO.OBJ │ ├── CAT │ ├── CLAM │ ├── CONFIG.H │ ├── CONFIG.INC │ ├── COPYALL.SUB │ ├── CP │ ├── DATA.C │ ├── DATA.OBJ │ ├── DATE │ ├── DEVIO.C │ ├── DEVIO.OBJ │ ├── DF │ ├── ENVIRON │ ├── EXTERN.H │ ├── FSCK │ ├── FSCK.C │ ├── FSCK2.C │ ├── GROUP │ ├── IDE.AS │ ├── IDE.H │ ├── IDECF.AS │ ├── IDECF.OBJ │ ├── IDECF.PRN │ ├── IDECONF.C │ ├── IDECONF.OBJ │ ├── INIT │ ├── ITOB.C │ ├── ITOB.OBJ │ ├── KILL │ ├── LKXUTIL.SUB │ ├── LN │ ├── LOGIN │ ├── LS │ ├── MACRO.LIB │ ├── MAKE.COM │ ├── MAKEFILE │ ├── MKBOOT.SUB │ ├── MKDIR │ ├── MKFS.C │ ├── MKFS.COM │ ├── MKFS.OBJ │ ├── MKXLIB.SUB │ ├── MOUNT │ ├── MV │ ├── PASSWD │ ├── PS │ ├── PWD │ ├── RC │ ├── RM │ ├── RMDIR │ ├── SETUART │ ├── SH │ ├── SHUTDOWN │ ├── SPL.C │ ├── SPL.OBJ │ ├── SYNC │ ├── TAR │ ├── TERMCAP │ ├── TOUCH │ ├── TTYTAB │ ├── UCP.COM │ ├── UCP.OBJ │ ├── UMOUNT │ ├── UNCOMPRE │ ├── UNIX.H │ ├── UPUT.C │ ├── UPUT.OBJ │ ├── UTMP │ ├── UZIXUTIL.LBR │ ├── XDEVFLO.C │ ├── XDEVFLO.OBJ │ ├── XDEVMISC.C │ ├── XDEVMISC.OBJ │ ├── XDEVMT.C │ ├── XDEVTTY.C │ ├── XDEVTTY.OBJ │ ├── XDEVWD.C │ ├── XDEVWD.OBJ │ ├── XFRBNTAR.SUB │ ├── XFRCTAR.SUB │ ├── XFRUSTAR.SUB │ ├── XFS.C │ ├── XFS1.C │ ├── XFS1.OBJ │ ├── XFS2.C │ ├── XFS2.OBJ │ ├── XLIB.LIB │ ├── XMACHDEP.C │ ├── XMACHDEP.OBJ │ ├── XUTILS.SUB │ └── Z280RC.INC ├── zpm3 │ ├── ZPM3.TXT │ └── ZPM3S.ARC └── zzmon │ ├── LOADNGO.BIN │ ├── LOADNGO.RUN │ ├── ZZMON.HEX │ └── ZZMON.MAC └── utilities ├── DEVICE.COM ├── DEVICE.PLM ├── DU-V88.LBR ├── DU.COM ├── HELP.DAT ├── HELP.HLP ├── KERMIT.COM ├── NULU.COM ├── OUTJMPE.PAS ├── RELHEX11.DOC ├── RELHEX12.COM ├── RELHEX12.MAC ├── RESET.COM ├── RESET.MAC ├── TIME.COM ├── TIME.LBR ├── TIME.MAC ├── XM27Z280.HEX ├── XM27Z280.MAC ├── XM29Z280.COM ├── XM29Z280.HEX ├── XM29Z280.MAC ├── XMBLD.SUB ├── XMZ280.COM ├── XMZ280RC.CFG ├── diskdefs-z280rc-swab ├── diskdefs-z280rc-swab-BIG ├── relhex11.lbr ├── xm27z280.zip └── xm29z280.zip /.gitattributes: -------------------------------------------------------------------------------- 1 | # Default is to keep crlf line endings 2 | text=auto 3 | 4 | README.md text eol=crlf 5 | *.DOC text eof=crlf 6 | *.ARC binary 7 | *.AS text eol=crlf linguist-language=Assembly 8 | *.BIN binary 9 | *.C text eol=crlf linguist-language=C 10 | *.COM binary 11 | *.H text eol=crlf linguist-language=C 12 | *.MAC text eol=crlf linguist-language=Assembly 13 | *.SUB text eol=crlf 14 | *.HEX text eol=crlf 15 | *.lbr binary 16 | *.LIB text eol=crlf 17 | *.LBR binary 18 | *.OBJ binary 19 | *.RUN binary 20 | *.tar binary 21 | *.TAR binary 22 | *.zip binary 23 | *.ZIP binary 24 | *.SYS binary 25 | *.jpg binary 26 | *.pdf binary 27 | *.HLP binary 28 | *.gz binary 29 | *.PLM text eol=crlf 30 | *.TXT text eol=crlf 31 | *.DAT text eol=crlf 32 | diskdef* text eol=crlf 33 | -------------------------------------------------------------------------------- /QuadSer-notes/QuadSer-10Kohm-pullups.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/QuadSer-notes/QuadSer-10Kohm-pullups.jpg -------------------------------------------------------------------------------- /QuadSer-notes/README.md: -------------------------------------------------------------------------------- 1 | Notes regarding QuadSer modification 2 | ------------------------------------ 3 | 4 | Bill Shen's QuadSer 4-port UART module is subject to spurious 5 | interrupts due to floating inputs on unused input pins. 6 | 7 | Hector Peraza discovered this while porting his terminal driver 8 | for RSX280 to support this board. 9 | 10 | The "work-around"/fix is to add some small resistors across the 11 | receiver inputs on each channel to ground. This lowers the input 12 | impedance and shunts induced noise to ground, and does not interfere 13 | with normal operation. 14 | 15 | Both Hector and I used 10Kohm 0.1W radial lead resistors - you'll need 16 | four of these, and they're soldered directly to the rear of the QuadSer 17 | Rev1 module that has already been modified for the Z280RC. 18 | 19 | Hector provided this 20 | [Photo of the QuadSer modification](https://github.com/agn453/Z280RC/blob/master/QuadSer-notes/QuadSer-10Kohm-pullups.jpg) 21 | with the resistors in place (highlighted). 22 | -------------------------------------------------------------------------------- /QuadSer-notes/oxan5-Software-Examples-for-the-OX16C95x.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/QuadSer-notes/oxan5-Software-Examples-for-the-OX16C95x.pdf -------------------------------------------------------------------------------- /original/bitbangrtc.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/bitbangrtc.zip -------------------------------------------------------------------------------- /original/bitbangrtc1st.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/bitbangrtc1st.zip -------------------------------------------------------------------------------- /original/cbios3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/cbios3.zip -------------------------------------------------------------------------------- /original/cpm22all_asm.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/cpm22all_asm.zip -------------------------------------------------------------------------------- /original/cpm22all_hex_loadfile.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/cpm22all_hex_loadfile.zip -------------------------------------------------------------------------------- /original/cpm22dri.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/cpm22dri.zip -------------------------------------------------------------------------------- /original/cpm3dstr.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/cpm3dstr.zip -------------------------------------------------------------------------------- /original/cpmldr_hex.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/cpmldr_hex.zip -------------------------------------------------------------------------------- /original/ldrbios.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/ldrbios.zip -------------------------------------------------------------------------------- /original/loadngo.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/loadngo.zip -------------------------------------------------------------------------------- /original/zzmon_099.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/original/zzmon_099.zip -------------------------------------------------------------------------------- /system/bios280/BANKBIG.DAT: -------------------------------------------------------------------------------- 1 | PRTMSG = Y 2 | PAGWID = 4F 3 | PAGLEN = 17 4 | BACKSPC = N 5 | RUBOUT = N 6 | BOOTDRV = C 7 | MEMTOP = FF 8 | BNKSWT = Y 9 | COMBAS = E0 10 | LERROR = Y 11 | NUMSEGS = 03 12 | MEMSEG00 = 14,8A,00 13 | MEMSEG01 = 00,E0,02 14 | MEMSEG02 = 00,E0,03 15 | MEMSEG03 = 00,C0,04 16 | MEMSEG04 = 00,C0,05 17 | MEMSEG05 = 00,C0,06 18 | MEMSEG06 = 00,C0,07 19 | MEMSEG07 = 00,C0,08 20 | MEMSEG08 = 00,C0,09 21 | MEMSEG09 = 00,C0,0A 22 | MEMSEG0A = 00,C0,0B 23 | MEMSEG0B = 00,C0,0C 24 | MEMSEG0C = 00,C0,0D 25 | MEMSEG0D = 00,C0,0E 26 | MEMSEG0E = 00,C0,0F 27 | MEMSEG0F = 00,C0,10 28 | HASHDRVA = N 29 | HASHDRVB = N 30 | HASHDRVC = N 31 | HASHDRVD = N 32 | HASHDRVE = Y 33 | HASHDRVF = Y 34 | HASHDRVG = Y 35 | HASHDRVH = Y 36 | HASHDRVI = Y 37 | HASHDRVJ = Y 38 | HASHDRVK = Y 39 | HASHDRVL = Y 40 | HASHDRVM = N 41 | HASHDRVN = Y 42 | HASHDRVO = Y 43 | HASHDRVP = Y 44 | ALTBNKSA = Y 45 | ALTBNKSB = Y 46 | ALTBNKSC = Y 47 | ALTBNKSD = Y 48 | ALTBNKSE = N 49 | ALTBNKSF = N 50 | ALTBNKSG = N 51 | ALTBNKSH = N 52 | ALTBNKSI = N 53 | ALTBNKSJ = N 54 | ALTBNKSK = N 55 | ALTBNKSL = N 56 | ALTBNKSM = Y 57 | ALTBNKSN = N 58 | ALTBNKSO = N 59 | ALTBNKSP = N 60 | NDIRRECA = 10 61 | NDIRRECB = 0C 62 | NDIRRECC = 10 63 | NDIRRECD = 10 64 | NDIRRECE = 00 65 | NDIRRECF = 00 66 | NDIRRECG = 01 67 | NDIRRECH = 01 68 | NDIRRECI = 01 69 | NDIRRECJ = 01 70 | NDIRRECK = 01 71 | NDIRRECL = 01 72 | NDIRRECM = 01 73 | NDIRRECN = 01 74 | NDIRRECO = 01 75 | NDIRRECP = 01 76 | NDTARECA = 20 77 | NDTARECB = 20 78 | NDTARECC = 20 79 | NDTARECD = 20 80 | NDTARECE = 00 81 | NDTARECF = 00 82 | NDTARECG = 01 83 | NDTARECH = 01 84 | NDTARECI = 01 85 | NDTARECJ = 01 86 | NDTARECK = 01 87 | NDTARECL = 01 88 | NDTARECM = 01 89 | NDTARECN = 01 90 | NDTARECO = 01 91 | NDTARECP = 01 92 | ODIRDRVA = A 93 | ODIRDRVB = A 94 | ODIRDRVC = B 95 | ODIRDRVD = A 96 | ODIRDRVE = A 97 | ODIRDRVF = A 98 | ODIRDRVG = A 99 | ODIRDRVH = A 100 | ODIRDRVI = A 101 | ODIRDRVJ = A 102 | ODIRDRVK = A 103 | ODIRDRVL = A 104 | ODIRDRVM = A 105 | ODIRDRVN = A 106 | ODIRDRVO = A 107 | ODIRDRVP = A 108 | ODTADRVA = A 109 | ODTADRVB = A 110 | ODTADRVC = B 111 | ODTADRVD = A 112 | ODTADRVE = A 113 | ODTADRVF = A 114 | ODTADRVG = A 115 | ODTADRVH = A 116 | ODTADRVI = A 117 | ODTADRVJ = A 118 | ODTADRVK = A 119 | ODTADRVL = A 120 | ODTADRVM = A 121 | ODTADRVN = A 122 | ODTADRVO = A 123 | ODTADRVP = A 124 | OVLYDIRA = N 125 | OVLYDIRB = Y 126 | OVLYDIRC = N 127 | OVLYDIRD = Y 128 | OVLYDIRE = Y 129 | OVLYDIRF = Y 130 | OVLYDIRG = Y 131 | OVLYDIRH = Y 132 | OVLYDIRI = Y 133 | OVLYDIRJ = Y 134 | OVLYDIRK = Y 135 | OVLYDIRL = Y 136 | OVLYDIRM = Y 137 | OVLYDIRN = Y 138 | OVLYDIRO = Y 139 | OVLYDIRP = Y 140 | OVLYDTAA = N 141 | OVLYDTAB = Y 142 | OVLYDTAC = Y 143 | OVLYDTAD = Y 144 | OVLYDTAE = Y 145 | OVLYDTAF = Y 146 | OVLYDTAG = Y 147 | OVLYDTAH = Y 148 | OVLYDTAI = Y 149 | OVLYDTAJ = Y 150 | OVLYDTAK = Y 151 | OVLYDTAL = Y 152 | OVLYDTAM = Y 153 | OVLYDTAN = Y 154 | OVLYDTAO = Y 155 | OVLYDTAP = Y 156 | CRDATAF = N 157 | DBLALV = N 158 | -------------------------------------------------------------------------------- /system/bios280/BANKBIOS.SUB: -------------------------------------------------------------------------------- 1 | ERA BANKBIOS.LOG 2 | PUT CONSOLE OUTPUT TO FILE BANKBIOS.LOG [SYSTEM] 3 | ; Build Banked CP/M-Plus from Z280RC BIOS source modules 4 | ; Listing files saved as M:*.PRB 5 | DATE 6 | PIP CONFIG.LIB=CONFBANK.LIB 7 | ZSM4 SCB,M:SCB.PRB=SCB 8 | ZSM4 BIOSKRNL,M:BIOSKRNL.PRB=BIOSKRNL 9 | ZSM4 IDEHD,M:IDEHD.PRB=IDEHD 10 | ZSM4 RAMDISK,M:RAMDISK.PRB=RAMDISK 11 | ZSM4 CLOCK,M:CLOCK.PRB=CLOCK 12 | ZSM4 CHARIO,M:CHARIO.PRB=CHARIO 13 | ZSM4 BIOSDBG,M:BIOSDBG.PRB=BIOSDBG 14 | LINK BNKBIOS3[B]=BIOSKRNL,BIOSDBG,CHARIO,CLOCK,SCB,RAMDISK,IDEHD 15 | PIP GENCPM.DAT[V]=BANKED.DAT 16 | ; Remember Bank 0 pages 00-13 are reserved for CCP.COM and system use 17 | GENCPM AUTO DISPLAY 18 | PIP BANKED.DAT[V]=GENCPM.DAT 19 | PIP CPM3BANK.SYS[V]=CPM3.SYS 20 | ; Copy to A0:TEST.SYS for testing using 21 | ; PIP A:TEST.SYS[G0V]=CPM3BANK.SYS 22 | ERA CPM3.SYS 23 | LINK TEMP.TMP[NR NL]=BIOSKRNL,BIOSDBG,CHARIO,CLOCK,SCB,RAMDISK,IDEHD 24 | ; Look for OUTJMP code sequences 25 | OUTJMPE TEMP.TMP 26 | ERA TEMP.TMP 27 | ERA M:*.PZB 28 | use dma0 45 | ld B,H 46 | ld C,L ; count -> bc 47 | LDHLSX 4 48 | ex de,hl ; dest -> de 49 | LDHLSX 2 ; src -> hl 50 | LDIR 51 | ret 52 | 53 | #endasm 54 | 55 | /*AGN - DMA_bcopy is not defined and disabled (see commented CPW above) */ 56 | 57 | #ifdef DMA_bcopy 58 | #asm 59 | 60 | cond z280rc 61 | sysmhi defl 001h 62 | else 63 | sysmhi defl 081h 64 | endc 65 | 66 | global dodma 67 | dma: 68 | ld (length),hl ; save length 69 | LDHLSX 2 70 | ld (source),hl 71 | ld l,h ; get bit 15-12 into l 72 | ld h,sysmhi ; system memory high bits (23-16) 73 | ld (source+2),hl 74 | LDHLSX 4 75 | ld (dest),hl 76 | ld l,h ; get bit 15-12 into l 77 | ld h,sysmhi ; system memory high bits (23-16) 78 | ld (dest+2),hl 79 | ld A,0h ;use DMA0 80 | LD HL,dest 81 | call dodma 82 | ret 83 | nop 84 | psect data 85 | 86 | dest: DEFW 0000 87 | DEFW 0000 88 | source: DEFW 0000 89 | DEFW 0000 90 | length: DEFW 0000 ;length in 8-bit bytes 91 | desc: DEFW 08100H ;continous, memory++ -> memory++, 8-bit 92 | 93 | psect text 94 | #endasm 95 | #endif 96 | -------------------------------------------------------------------------------- /system/uzi280-kernel/BCOPY.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/BCOPY.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/BOOTUZI.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/BOOTUZI.COM -------------------------------------------------------------------------------- /system/uzi280-kernel/BZERO.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | 29 | #asm 30 | 31 | *Include macro.lib 32 | 33 | global _bzero 34 | 35 | psect text 36 | _bzero: 37 | LDHLSX 4 ; count 38 | ; ;cpw 127 39 | ; defb 0fdh,0edh,0f7h 40 | ; defw 127 41 | ; jr nc,dma ; more than 127 bytes -> use dma0 42 | dec hl 43 | ld b,h 44 | ld c,l 45 | LDHLSX 2 46 | ld d,h 47 | ld e,l ; ptr hl -> de 48 | inc de 49 | ld (hl),0 50 | ldir 51 | ret 52 | #endasm 53 | 54 | /*AGN - DMA_bcopy is not defined and disabled (see commented CPW above) */ 55 | 56 | #ifdef DMA_bzero 57 | #asm 58 | 59 | cond z280rc 60 | sysmhi defl 001h 61 | else 62 | sysmhi defl 081h 63 | endc 64 | 65 | global dodma 66 | dma: 67 | ld (length),hl ; save length 68 | LDHLSX 2 69 | ld (dest),hl 70 | ld l,h ; get bit 15-12 into l 71 | ld h,sysmhi ; system memory high bits (23-16) 72 | ld (dest+2),hl 73 | ld hl,zero 74 | ld (source),hl 75 | ld l,h 76 | ld h,sysmhi 77 | ld (source+2),hl 78 | ld A,0h ;use DMA0 79 | LD HL,dest 80 | call dodma 81 | ret 82 | 83 | psect data 84 | 85 | dest: DEFW 0000 86 | DEFW 0000 87 | source: DEFW 0000 88 | DEFW 0000 89 | length: DEFW 0000 ;length in 8-bit bytes 90 | desc: DEFW 0A100H ;continous, memory -> memory++, 8-bit 91 | zero: defb 0 92 | 93 | psect text 94 | #endasm 95 | #endif 96 | -------------------------------------------------------------------------------- /system/uzi280-kernel/BZERO.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/BZERO.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/C280.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/C280.COM -------------------------------------------------------------------------------- /system/uzi280-kernel/CACHASM.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | #include "config.h" 29 | 30 | #asm 31 | 32 | *Include z280rc.inc 33 | 34 | psect text 35 | 36 | global _dma_write, _dma_read 37 | global _lowadr,_highadr,_dptrlo,_dptrhi 38 | global _iopgff,_iopg00,_rw_flag 39 | 40 | psect data 41 | _highadr: defw 0 42 | _lowadr: defw 0 43 | psect text 44 | 45 | _dma_write: 46 | push bc 47 | ld hl,(_lowadr) 48 | ld (hddest),hl 49 | ld hl,(_highadr) 50 | ld (hddest+2),hl ; Destination Adr 51 | ld hl,(_dptrlo) 52 | ld (hdsource),hl 53 | ld hl,(_dptrhi) 54 | ld (hdsource+2),hl ; Source Adr 55 | 56 | 01: ld a,(_rw_flag) 57 | or a 58 | jr nz,01b ; wait for last hard disc write ready 59 | jp dma0 ; Start DMA Transfer 60 | 61 | _dma_read: 62 | push bc 63 | ld hl,(_dptrlo) 64 | ld (hddest),hl 65 | ld hl,(_dptrhi) 66 | ld (hddest+2),hl ; Destination Adr 67 | ld hl,(_lowadr) 68 | ld (hdsource),hl 69 | ld hl,(_highadr) 70 | ld (hdsource+2),hl ; Source Adr 71 | 72 | ; jp dma0 ; Start DMA Transfer 73 | 74 | ;---------------------------------- 75 | ; Setup DMA0 for mem copy 76 | ;---------------------------------- 77 | dma0: 78 | ;DMA0 init --> transfer 79 | call _iopgff 80 | ld c,dal0 ; Adresse DMA-Register (DMA0) 81 | ld hl,hddest 82 | ld b,6 83 | ;outiw 84 | 1: defb 0edh,83h 85 | inc c 86 | inc b 87 | dec b 88 | jr nz,1b 89 | call _iopg00 90 | pop bc 91 | ret 92 | 93 | ;------------------------------ 94 | ; Variablen Feld f}r die DMA0 95 | ;------------------------------ 96 | psect data 97 | 98 | hddest: defw 0 99 | defw 0 100 | hdsource: defw 0 101 | defw 0 102 | dmacnt: defw 512 ; length: 512 Byte 103 | hddescr: defw 8100h ;continuous, memory++, 8 bit 104 | ;defw 8000h ;single, memory++, 8 bit 105 | psect text 106 | #endasm 107 | -------------------------------------------------------------------------------- /system/uzi280-kernel/CACHASM.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/CACHASM.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/CACHE.H: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | 29 | /* CACHE.H */ 30 | 31 | 32 | typedef struct ca_buf 33 | { 34 | char dirty; /* must be written to disk */ 35 | char dev; /* device number */ 36 | unsigned blkno; /* device block number */ 37 | /* struct ca_buf *ca_next; /* pointer to next buffer in list */ 38 | /* unsigned buf_no; /* number of buffer 0..max_cache */ 39 | } ca_buf; 40 | 41 | #define HASH 100 42 | #define M_DEV 2 43 | /* 44 | struct ca_buf *free; 45 | struct ca_buf *read [HASH][M_DEV]; 46 | struct ca_buf *dirty[HASH][M_DEV]; 47 | static n_free,n_read,n_dirty; 48 | */ 49 | 50 | #define CACHE 51 | 52 | #include "config.h" /* config.h defines cach_buf[max_cache] */ 53 | 54 | 55 | /* use the next shorter prime number for max_cache */ 56 | /*#define max_cache 1013 /* old value 1016 calculated in config.h */ 57 | -------------------------------------------------------------------------------- /system/uzi280-kernel/CACHE.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/CACHE.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/CONFIG.INC: -------------------------------------------------------------------------------- 1 | ; 2 | ; HiTech ZAS include file for assembly language modules 3 | ; 4 | Z280RC equ 0FFFFh ; Enable Z280RC specific code 5 | ; If zero, use the original REH280 code 6 | 7 | XUTIL equ 0 ; TRUE when building XUTILs 8 | ; FALSE (0) for UZI use 9 | -------------------------------------------------------------------------------- /system/uzi280-kernel/CRT.C: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | #asm 26 | ; startup file for UZI280 27 | 28 | *Include z280rc.inc 29 | 30 | psect text,global,pure 31 | psect data,global 32 | psect bss,global 33 | 34 | psect text 35 | defs 100h ;Base of UZI280 program and data space 36 | 37 | global start,_main,_exit,__brk,__Hbss,__Lbss,_environ 38 | 39 | ; on return from the uzi kernel the stack looks like the following: 40 | ; 41 | ; stack+4 -> start of environ 42 | ; stack+2 -> argc 43 | ;sp-> stack -> pointer to argv 44 | ; 45 | start: jp 1f ; jp to indicate uzi binary type 1 46 | 47 | 1: ld hl,__Hbss 48 | push hl 49 | call __brk ; do system call to precisely set break 50 | pop hl 51 | ; zero out bss segment 52 | or a 53 | ld de,__Lbss 54 | sbc hl,de ; calc length 55 | ld b,h 56 | ld c,l 57 | dec bc 58 | ld hl,__Lbss 59 | ld (hl),0 ; zero out __Lbss 60 | inc de 61 | ldir ; do it 62 | 63 | ld hl,4 64 | add hl,sp ; pointer to first element of enviroment 65 | ld (_environ),hl ; save the pointer 66 | pop hl 67 | pop de 68 | push hl 69 | push de ; shuffle argv pointer and argc 70 | call _main ; main(argc,argv) 71 | push hl 72 | 02: call _exit ; give return val of main to exit 73 | ; should never be reached 74 | jr 02b 75 | 76 | #endasm 77 | -------------------------------------------------------------------------------- /system/uzi280-kernel/CSV.AS: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | 26 | ; ATTENTION: this module will ONLY work with a Z280 processor ! 27 | 28 | global csv,cret,indir,ncsv 29 | psect text 30 | 31 | *Include macs.lib 32 | 33 | csv: pop hl ;return address 34 | push iy 35 | push ix 36 | ; lda ix,(sp+0) ;new frame pointer 37 | defb 0ddh,0edh,02h,0,0 38 | jp (hl) 39 | 40 | nop 41 | cret: ld sp,ix 42 | pop ix 43 | pop iy 44 | ret 45 | nop 46 | 47 | ;on z280 should be: macro indir call (hl) endmacro 48 | indir: jp (hl) 49 | nop 50 | 51 | ; New csv: allocates space for stack based on word following 52 | ; call ncsv 53 | 54 | ncsv: 55 | pop hl 56 | push iy 57 | push ix 58 | ; lda ix,(sp+0) 59 | defb 0ddh,0edh,02h,0,0 60 | 61 | lddehl ;ld de,(hl) 62 | inc hl 63 | inc hl 64 | ex de,hl 65 | add hl,sp 66 | ld sp,hl 67 | ex de,hl 68 | jp (hl) 69 | nop 70 | -------------------------------------------------------------------------------- /system/uzi280-kernel/CSV.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/CSV.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/DATA.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/DATA.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVFLOP.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/DEVFLOP.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVIO.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/DEVIO.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVMISC.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | 29 | #include "unix.h" 30 | #include "extern.h" 31 | 32 | kmem_read(minor, rawflag) 33 | int minor; 34 | int rawflag; 35 | { 36 | unsigned addr; 37 | 38 | addr = 512*udata.u_offset.o_blkno+udata.u_offset.o_offset; 39 | 40 | /* This test should be based on a check of the page tables */ 41 | if (addr < 0x006C) 42 | return (1); 43 | 44 | if (udata.u_sysio) 45 | bcopy((char *)addr, udata.u_base, udata.u_count); 46 | else 47 | uput((char *)addr, udata.u_base, udata.u_count); 48 | 49 | return(udata.u_count); 50 | } 51 | 52 | kmem_write(minor, rawflag) 53 | int minor; 54 | int rawflag; 55 | { 56 | unsigned addr; 57 | 58 | addr = 512*udata.u_offset.o_blkno+udata.u_offset.o_offset; 59 | 60 | if (addr < 0x006C) 61 | return (1); 62 | 63 | if (udata.u_sysio) 64 | bcopy(udata.u_base, (char *)addr, udata.u_count); 65 | else 66 | uget(udata.u_base, (char *)addr, udata.u_count); 67 | 68 | return(udata.u_count); 69 | } 70 | 71 | 72 | 73 | null_write(minor, rawflag) 74 | int minor; 75 | int rawflag; 76 | { 77 | return(udata.u_count); 78 | } 79 | 80 | 81 | 82 | static char lop = 0; 83 | 84 | lpr_open() 85 | { 86 | lop = 1; 87 | return(0); 88 | } 89 | 90 | lpr_close() 91 | { 92 | if (lop) 93 | { 94 | lop = 0; 95 | lpout('\f'); 96 | lpout('\f'); 97 | } 98 | return(0); 99 | } 100 | 101 | 102 | 103 | lpr_write(minor, rawflag) 104 | int minor; 105 | int rawflag; 106 | { 107 | unsigned n; 108 | 109 | n = udata.u_count; 110 | while (n--) 111 | lpout(*udata.u_base++); 112 | return(udata.u_count); 113 | } 114 | 115 | 116 | lpout(c) 117 | char c; 118 | { 119 | /* 120 | unsigned in(); 121 | 122 | while( (in(0x85)&0x80) == 0x80) /* wait for device ready 123 | ; 124 | out(c,0x85); 125 | */ 126 | } 127 | 128 | 129 | #include "devmt.c" 130 | 131 | -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVMISC.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/DEVMISC.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVMT.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | 29 | 30 | mt_read(minor, rawflag) 31 | int minor; 32 | int rawflag; 33 | { 34 | return(-1); 35 | } 36 | 37 | 38 | mt_write(minor, rawflag) 39 | int minor; 40 | int rawflag; 41 | { 42 | return(-1); 43 | } 44 | 45 | 46 | 47 | mt_open() 48 | { 49 | return(-1); 50 | } 51 | 52 | 53 | 54 | mt_close() 55 | { 56 | return(0); 57 | } 58 | 59 | 60 | -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVTTY.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/DEVTTY.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVTTYAS.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/DEVTTYAS.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/DEVWD.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/DEVWD.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/ENVIRON: -------------------------------------------------------------------------------- 1 | TMP=M: 2 | HITECH=0:A: 3 | -------------------------------------------------------------------------------- /system/uzi280-kernel/EXTERN.H: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | /* These are the global data structures */ 29 | 30 | #ifdef MAIN 31 | #define extern 32 | #endif 33 | 34 | 35 | /* This is accessed by the macro udata which is really ub.u_d */ 36 | 37 | 38 | extern struct u_block ub; 39 | 40 | #define udata ub.u_d 41 | 42 | extern struct p_tab ptab[PTABSIZE]; 43 | 44 | extern inoptr root; /* Address of root dir in inode table */ 45 | extern int16 ROOTDEV; /* Device number of root filesystem. */ 46 | 47 | extern struct cinode i_tab[ITABSIZE]; /* In-core inode table */ 48 | extern struct oft of_tab[OFTSIZE]; /* Open File Table */ 49 | 50 | extern struct filesys fs_tab[NDEVS]; /* Table entry for each 51 | device with a filesystem. */ 52 | extern struct blkbuf bufpool[NBUFS]; 53 | 54 | extern ptptr initproc; /* The process table address of the first process. */ 55 | extern int16 inint; /* flag is set whenever interrupts are being serviced */ 56 | 57 | extern int16 sec; /* Tick counter for counting off one second */ 58 | extern int16 runticks; /* Number of ticks current process has been 59 | swapped in */ 60 | 61 | extern time_t tod; /* Time of day */ 62 | extern time_t ticks; /* Cumulative tick counter, in minutes and ticks */ 63 | 64 | extern char *swapbase; /* Used by device driver for swapping */ 65 | extern unsigned swapcnt; 66 | extern blkno_t swapblk; 67 | 68 | extern uint16 waitno; /* Serial number of processes entering wait state */ 69 | 70 | #ifdef MAIN 71 | #undef extern 72 | #endif 73 | 74 | -------------------------------------------------------------------------------- /system/uzi280-kernel/FILESYS.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/FILESYS.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/IDE.H: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | /* UZI280 IDE.H 29 | 30 | Partitions und Plattendaten externals (ideconf.c) 31 | */ 32 | 33 | 34 | extern unsigned WD_Heads; 35 | extern unsigned WD_Sector; 36 | extern unsigned SecHead; 37 | 38 | /* Partitions Daten */ 39 | extern unsigned TrackOffset; /* 80 MB CPM-Partition, Offset der ersten 40 | UZI280 Partition */ 41 | extern unsigned WD1_Offset; /* WD0 32 MB */ 42 | extern unsigned WD2_Offset; /* WD1 32 MB */ 43 | -------------------------------------------------------------------------------- /system/uzi280-kernel/IDECF.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/IDECF.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/IDECFTST.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/IDECFTST.COM -------------------------------------------------------------------------------- /system/uzi280-kernel/IDECONF.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | /* UZI280 IDECONF.C 29 | 30 | Partition and hard disc data 31 | */ 32 | 33 | #include "config.h" 34 | 35 | #ifdef Z280RC 36 | 37 | /* drive specific data (128MB CompactFlash) */ 38 | unsigned WD_Cyls = 1024; 39 | unsigned WD_Heads = 1; /* 256 sectors per track */ 40 | unsigned WD_Sector = 256; 41 | 42 | /* Partition Data */ 43 | unsigned TrackOffset = 512; /* 8x 8MB CP/M partitions. Track offset to 44 | first UZI280 Partition */ 45 | /* Following UZI partitions track offsets */ 46 | unsigned WD1_Offset = 256; /* WD0 32 MB */ 47 | unsigned WD2_Offset = (2*256); /* WD1 32 MB, WD2 32 MB */ 48 | 49 | #else 50 | 51 | /* drive specific data (ST-3243A) */ 52 | unsigned WD_Cyls = 1024; 53 | unsigned WD_Heads = 12; 54 | unsigned WD_Sector = 34; 55 | 56 | /* Partition Data */ 57 | unsigned TrackOffset = 400; /* 80 MB CPM partition. Track offset to 58 | first UZI280 Partition */ 59 | /* Following UZI partitions track offsets */ 60 | unsigned WD1_Offset = 161; /* WD0 32 MB */ 61 | unsigned WD2_Offset = (2*161); /* WD1 32 MB, WD2 32 MB */ 62 | 63 | #endif 64 | 65 | -------------------------------------------------------------------------------- /system/uzi280-kernel/IDECONF.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/IDECONF.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/IDIV.AS: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | ; 16 bit divide and modulus routines 26 | ; 27 | ; called with dividend in hl and divisor in de 28 | ; 29 | ; returns with result in hl. 30 | ; 31 | ; adiv (amod) is signed divide (modulus), ldiv (lmod) is unsigned 32 | ; 33 | ; ATTENTION: this module will ONLY work with a Z280 processor ! 34 | 35 | global adiv,ldiv,amod,lmod 36 | psect text 37 | *include macs.lib 38 | 39 | amod: 40 | ; call adiv 41 | ld b,d 42 | ld c,e 43 | ;exts hl 44 | defb 0edh,06ch 45 | ;divw dehl,bc 46 | defb 0edh,0cah 47 | ex de,hl ;put modulus in hl 48 | ret 49 | 50 | lmod: 51 | ; call ldiv 52 | ld b,d 53 | ld c,e 54 | ld de,0 55 | divuwdehlbc ;DIVUW DEHL,BC 56 | ex de,hl 57 | ret 58 | nop 59 | 60 | ldiv: 61 | ld a,d 62 | or e 63 | ret z 64 | ld b,d 65 | ld c,e 66 | ld de,0 67 | divuwdehlbc ;DIVUW DEHL,BC 68 | ret 69 | nop 70 | 71 | adiv: 72 | ld a,d 73 | or e 74 | ret z 75 | ld b,d 76 | ld c,e 77 | ;exts hl 78 | defb 0edh,06ch 79 | ;divw dehl,bc 80 | defb 0edh,0cah 81 | ret 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /system/uzi280-kernel/IDIV.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/IDIV.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/IMUL.AS: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | ; 16 bit integer multiply 26 | ; 27 | ; on entry, left operand is in hl, right operand in de 28 | ; 29 | ; ATTENTION: this module will ONLY work with a Z280 processor ! 30 | 31 | psect text 32 | global amul,lmul 33 | *include macs.lib 34 | 35 | amul: 36 | ;multw hl,de 37 | defb 0edh,0d2h 38 | ret 39 | nop 40 | lmul: 41 | multuwhlde ;MULTUW HL,DE 42 | ret 43 | nop 44 | -------------------------------------------------------------------------------- /system/uzi280-kernel/IMUL.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/IMUL.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/ITOB.C: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | /* itob.c */ 29 | 30 | #define TRUE 1 31 | #define FALSE 0 32 | 33 | /* convert an integer to a string in any base (2-36) */ 34 | char *itob(n, s, base) 35 | char *s; 36 | { 37 | register unsigned int u; 38 | register char *p, *q; 39 | register negative, c; 40 | 41 | if (n < 0 && base == -10) { 42 | negative = TRUE; 43 | u = -n; 44 | } 45 | else { 46 | negative = FALSE; 47 | u = n; 48 | } 49 | if (base == -10) /* signals signed conversion */ 50 | base = 10; 51 | p = q = s; 52 | do { /* generate digits in reverse order */ 53 | if ((*p = u % base + '0') > '9') 54 | *p += ('A' - ('9' + 1)); 55 | ++p; 56 | } while ((u /= base) > 0); 57 | if (negative) 58 | *p++ = '-'; 59 | *p = '\0'; /* terminate the string */ 60 | while (q < --p) { /* reverse the digits */ 61 | c = *q; 62 | *q++ = *p; 63 | *p = c; 64 | } 65 | return s; 66 | } 67 | 68 | -------------------------------------------------------------------------------- /system/uzi280-kernel/ITOB.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/ITOB.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/KPRINTF.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | 29 | 30 | /* Short version of printf to save space */ 31 | 32 | static char *x; 33 | 34 | kprintf(nargs, n) 35 | char *nargs; 36 | int n; 37 | { 38 | doprnt(nargs, &n); 39 | } 40 | 41 | doprnt(nargs, a) 42 | char *nargs; 43 | int *a; 44 | { 45 | register char *fmt; 46 | register c, base; 47 | char s[7], *itob(); 48 | 49 | fmt = nargs; 50 | while (c = *fmt++) { 51 | if (c != '%') { 52 | kputchar(c); 53 | continue; 54 | } 55 | switch (c = *fmt++) { 56 | case 'c': 57 | kputchar(*a++); 58 | continue; 59 | case 'd': 60 | base = -10; 61 | goto prt; 62 | case 'o': 63 | base = 8; 64 | goto prt; 65 | case 'u': 66 | base = 10; 67 | goto prt; 68 | case 'x': 69 | base = 16; 70 | prt: 71 | puts(itob(*(int *)a, s, base)); 72 | a += sizeof(char *)/ sizeof a; 73 | continue; 74 | case 's': 75 | x = *(char **)a; 76 | puts(x); 77 | a += sizeof(char *)/ sizeof a; 78 | continue; 79 | default: 80 | kputchar(c); 81 | continue; 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /system/uzi280-kernel/KPRINTF.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/KPRINTF.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/LIB280C.LIB: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/LIB280C.LIB -------------------------------------------------------------------------------- /system/uzi280-kernel/LIB280F.LIB: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/LIB280F.LIB -------------------------------------------------------------------------------- /system/uzi280-kernel/LINKUZI.SUB: -------------------------------------------------------------------------------- 1 | ; Link core image of UZI into UNIX.CIM 2 | a:linq 3 | <-munix.sym -n -pdata=0,text,bss -ounix.cim -c000 \ 4 | hl 24 | MACRO EXTS 25 | DEFB 0EDH, 064H 26 | ENDM 27 | ;exts hl -> de 28 | MACRO EXTSHL 29 | DEFB 0EDH, 06CH 30 | ENDM 31 | ;sub hl,de 32 | MACRO SUBDE 33 | DEFB 0EDH, 0DEH 34 | ENDM 35 | 36 | MACRO LDCTL 37 | DEFB 0edh 38 | DEFB 06eh 39 | ENDM 40 | 41 | MACRO RDCTL 42 | DEFB 0edh 43 | DEFB 066h 44 | ENDM 45 | 46 | MACRO OUTW 47 | DEFB 0edh 48 | DEFB 0bfh 49 | ENDM 50 | 51 | MACRO INW 52 | DEFB 0edh 53 | DEFB 0b7h 54 | ENDM 55 | 56 | MACRO OUTIW 57 | DEFB 0edh 58 | DEFB 083h 59 | ENDM 60 | 61 | MACRO OTIRW 62 | DEFB 0edh 63 | DEFB 093h 64 | ENDM 65 | 66 | MACRO INIRW 67 | DEFB 0edh 68 | DEFB 092h 69 | ENDM 70 | 71 | MACRO PCACHE 72 | DEFB 0edh 73 | DEFB 065h 74 | ENDM 75 | 76 | MACRO IM3 77 | DEFB 0EDH 78 | DEFB 04EH 79 | ENDM 80 | 81 | MACRO RETIL 82 | DEFB 0EDH 83 | DEFB 055H 84 | ENDM 85 | 86 | MACRO SC,NN 87 | DEFB 0EDH 88 | DEFB 071H 89 | DEFW NN 90 | ENDM 91 | 92 | MACRO OUTIR 93 | DEFB 0EDH 94 | DEFB 0B3H 95 | ENDM 96 | 97 | ;MACRO OUTI 98 | ; DEFB 0EDH 99 | ; DEFB 0A3H 100 | ;ENDM 101 | 102 | MACRO LDUSP 103 | DEFB 0EDH 104 | DEFB 08FH 105 | ENDM 106 | 107 | MACRO RDUSP 108 | DEFB 0EDH 109 | DEFB 087H 110 | ENDM 111 | 112 | MACRO LDUD 113 | DEFB 0EDH 114 | DEFB 086H 115 | ENDM 116 | 117 | MACRO STUD 118 | DEFB 0EDH 119 | DEFB 08EH 120 | ENDM 121 | 122 | MACRO STUP 123 | DEFB 0EDH 124 | DEFB 09EH 125 | ENDM 126 | ;ld hl,(sp+nn) 127 | MACRO LDHLSX,NN 128 | DEFB 0EDH 129 | DEFB 004H 130 | DEFW NN 131 | ENDM 132 | ;ld (sp+nn),hl 133 | MACRO STHLSX,NN 134 | DEFB 0EDH 135 | DEFB 005H 136 | DEFW NN 137 | ENDM 138 | 139 | -------------------------------------------------------------------------------- /system/uzi280-kernel/MACS.LIB: -------------------------------------------------------------------------------- 1 | 2 | macro ldbciy ofs ;ld bc,(iy+ofs) 3 | defb 0FDh,0EDh,06h,ofs 4 | endm 5 | 6 | macro lddeiy ofs ;ld de,(iy+ofs) 7 | defb 0FDh,0EDh,16h,ofs 8 | endm 9 | 10 | macro ldhliy ofs ;ld hl,(iy+ofs) 11 | defb 0FDh,0EDh,26h,ofs 12 | endm 13 | 14 | macro ldasp ofs ;ld a,(sp+ofs) 15 | defb 0DDh,78h 16 | defw ofs 17 | endm 18 | 19 | macro ldhlsp ofs ;ld hl,(sp+ofs) 20 | defb 0EDh,04h 21 | defw ofs 22 | endm 23 | 24 | macro ldbcix ofs ;ld bc,(ix+ofs) 25 | defb 0DDh,0EDh,06h,ofs 26 | endm 27 | 28 | macro lddeix ofs ;ld de,(ix+ofs) 29 | defb 0DDh,0EDh,16h,ofs 30 | endm 31 | 32 | macro ldhlix ofs ;ld hl,(ix+ofs) 33 | defb 0DDh,0EDh,26h,ofs 34 | endm 35 | 36 | macro ldixhl ofs ;ld (ix+ofs),hl 37 | defb 0DDh,0EDh,2Eh,ofs 38 | endm 39 | 40 | macro ldiybc ofs ;ld (iy+ofs),bc 41 | defb 0FDh,0EDh,0Eh,ofs 42 | endm 43 | 44 | macro ldiyde ofs ;ld (iy+ofs),de 45 | defb 0FDh,0EDh,1Eh,ofs 46 | endm 47 | 48 | macro ldiyhl ofs ;ld (iy+ofs),hl 49 | defb 0FDh,0EDh,2Eh,ofs 50 | endm 51 | 52 | macro ldbchl ;ld bc,(hl) 53 | defb 0EDh,06h 54 | endm 55 | 56 | macro lddehl ;ld de,(hl) 57 | defb 0EDh,16h 58 | endm 59 | 60 | macro ldhlhl ;ld hl,(hl) 61 | defb 0EDh,26h 62 | endm 63 | 64 | macro ldhlbc ;ld (hl),bc 65 | defb 0EDh,0Eh 66 | endm 67 | 68 | macro ldhlde ;ld (hl),de 69 | defb 0EDh,1Eh 70 | endm 71 | 72 | macro ldahlhl ofs ;lda hl,(hl+ofs) hl:=hl+ofs 73 | defb 0EDh,03Ah 74 | defw ofs 75 | endm 76 | 77 | macro ldahlsp ofs ;lda hl,(sp+ofs) hl:=sp+ofs 78 | defb 0EDh,02h 79 | defw ofs 80 | endm 81 | 82 | macro ldaixsp ofs ;lda ix,(sp+ofs) ix:=sp+ofs 83 | defb 0DDh,0EDh,02h 84 | defw ofs 85 | endm 86 | 87 | macro incwix ofs ;incw (ix-45) 88 | defb 0FDh,03h 89 | defw ofs 90 | endm 91 | 92 | macro exahl ;ex a,(hl) 93 | defb 0EDh,37h 94 | endm 95 | 96 | macro multuwhlde ;multuw hl,de 97 | defb 0EDH,0D3h 98 | endm 99 | 100 | macro divuwdehlbc ;divuw dehl,bc 101 | defb 0EDh,0CBh 102 | endm 103 | 104 | -------------------------------------------------------------------------------- /system/uzi280-kernel/MAKE.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/MAKE.COM -------------------------------------------------------------------------------- /system/uzi280-kernel/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # makefile for uzi280 kernel 3 | # 4 | OBJS = data.obj \ 5 | machdep.obj machasm.obj newuput.obj \ 6 | process.obj procasm.obj \ 7 | filesys.obj \ 8 | scall1.obj scall2.obj scall3.obj scall4.obj \ 9 | cache.obj cachasm.obj \ 10 | devflop.obj devio.obj \ 11 | devmisc.obj devtty.obj devttyas.obj \ 12 | devwd.obj idecf.obj ideconf.obj 13 | # idecfint.obj 14 | 15 | OBJS2 = bcopy.obj bzero.obj outin.obj asar.obj asdiv.obj wrelop.obj \ 16 | idiv.obj imul.obj shar.obj shll.obj shlr.obj csv.obj \ 17 | kprintf.obj itob.obj 18 | 19 | SRCS = data.c cache.c cachasm.c devflop.c devio.c \ 20 | devmisc.c devtty.c devttyas.c \ 21 | devwd.c idecf.as ideconf.c \ 22 | filesys.c newuput.c \ 23 | machdep.c machasm.c process.c procasm.c \ 24 | scall1.c scall1b.c scall2.c scall3.c scall4.c 25 | # idecfint.as 26 | 27 | SRCS2 = bcopy.c bzero.c outin.c asar.as asdiv.as wrelop.as \ 28 | idiv.as imul.as shar.as shll.as shlr.as csv.as \ 29 | kprintf.c itob.c brelop.as 30 | 31 | INCL = config.h unix.h extern.h ide.h 32 | 33 | uzi280.obj: $(OBJS) start.obj runtime.lib 34 | lkuzi.sub 35 | lk2m80.sub 36 | 37 | $(OBJS): $(INCL) 38 | 39 | 40 | data.obj: data.c 41 | c280 -v -c data.c 42 | 43 | cache.obj: cache.c cache.h ide.h 44 | c280 -v -c -o2 cache.c 45 | 46 | cachasm.obj: cachasm.c 47 | c280 -v -c cachasm.c 48 | 49 | scall1.obj: scall1.c scall1b.c 50 | c280 -v -c -o2 scall1.c 51 | 52 | scall2.obj: scall2.c 53 | c280 -v -c -o2 scall2.c 54 | 55 | scall3.obj: scall3.c 56 | c280 -v -c -o2 scall3.c 57 | 58 | scall4.obj: scall4.c 59 | c280 -v -c scall4.c 60 | #AGN# not enough memory to optimize 61 | # c280 -v -c -o2 scall4.c 62 | 63 | machdep.obj: machdep.c 64 | c280 -v -c -o2 machdep.c 65 | 66 | process.obj: process.c 67 | c280 -v -c -o2 process.c 68 | 69 | devio.obj: devio.c 70 | c280 -v -c -o2 devio.c 71 | 72 | devwd.obj: devwd.c ide.h 73 | c280 -v -c -o2 devwd.c 74 | 75 | devflop.obj: devflop.c 76 | c280 -v -c -o2 devflop.c 77 | 78 | devmisc.obj: devmisc.c 79 | c280 -v -c -o2 devmisc.c 80 | 81 | devtty.obj: devtty.c 82 | c280 -v -c -o2 devtty.c 83 | 84 | filesys.obj: filesys.c 85 | c280 -v -c -o2 filesys.c 86 | 87 | devttyas.obj: devttyas.c 88 | c280 -v -c devttyas.c 89 | 90 | machasm.obj: machasm.c 91 | c280 -v -c machasm.c 92 | 93 | procasm.obj: procasm.c 94 | c280 -v -c procasm.c 95 | 96 | newuput.obj: newuput.c 97 | c280 -v -c newuput.c 98 | 99 | start.obj: start.c 100 | c280 -v -c start.c 101 | 102 | idecf.obj: idecf.as ide.h 103 | c280 -v -c idecf.as 104 | 105 | #idecfint.obj: idecfint.as ide.h 106 | # c280 -v -c idecfint.as 107 | 108 | runtime.lib: $(OBJS2) 109 | mklib.sub 110 | 111 | bcopy.obj: bcopy.c 112 | c280 -v -c bcopy.c 113 | 114 | bzero.obj: bzero.c 115 | c280 -v -c bzero.c 116 | 117 | outin.obj: outin.c 118 | c280 -v -c outin.c 119 | 120 | asar.obj: asar.as 121 | c280 -v -c asar.as 122 | 123 | asdiv.obj: asdiv.as 124 | c280 -v -c asdiv.as 125 | 126 | wrelop.obj: wrelop.as 127 | c280 -v -c wrelop.as 128 | 129 | idiv.obj: idiv.as 130 | c280 -v -c idiv.as 131 | 132 | imul.obj: imul.as 133 | c280 -v -c imul.as 134 | 135 | shar.obj: shar.as 136 | c280 -v -c shar.as 137 | 138 | shll.obj: shll.as 139 | c280 -v -c shll.as 140 | 141 | shlr.obj: shlr.as 142 | c280 -v -c shlr.as 143 | 144 | csv.obj: csv.as 145 | c280 -v -c csv.as 146 | 147 | kprintf.obj: kprintf.c 148 | c280 -v -c -o2 kprintf.c 149 | 150 | itob.obj: itob.c 151 | c280 -v -c -o2 itob.c 152 | 153 | #AGN - added here to make sure the object is up-to-date for UNIX.CIM link 154 | ideconf.obj: ideconf.c 155 | c280 -v -c -o2 ideconf.c 156 | 157 | -------------------------------------------------------------------------------- /system/uzi280-kernel/MKLIB.SUB: -------------------------------------------------------------------------------- 1 | era runtime.lib 2 | libr r runtime.lib bcopy.obj bzero.obj outin.obj 3 | libr r runtime.lib kprintf.obj itob.obj asar.obj asdiv.obj wrelop.obj 4 | libr r runtime.lib idiv.obj imul.obj shar.obj shll.obj shlr.obj csv.obj 5 | -------------------------------------------------------------------------------- /system/uzi280-kernel/NEWUPUT.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/NEWUPUT.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/OPTIMH.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/OPTIMH.COM -------------------------------------------------------------------------------- /system/uzi280-kernel/OUTIN.C: -------------------------------------------------------------------------------- 1 | /* outin.c */ 2 | /* 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | #asm 29 | 30 | *Include z280rc.inc 31 | 32 | *Include macro.lib 33 | 34 | psect text 35 | global _out, _in 36 | 37 | ; out(val,port) 38 | ; int port,val; 39 | _out: 40 | push bc 41 | LDHLSX 6 ; get port into hl port 42 | ld c,l 43 | LDHLSX 4 ; get val into hl 44 | ld a,l 45 | out (c),a 46 | nop ; z280 bug !! 47 | nop 48 | nop 49 | nop 50 | nop 51 | pop bc 52 | ret 53 | 54 | ; int in(port) 55 | ; int port; 56 | _in: 57 | push bc 58 | LDHLSX 4 ; get port into hl 59 | ld c,l 60 | in a,(c) 61 | ld l,a 62 | xor a 63 | ld h,a 64 | ld a,h 65 | or l 66 | pop bc 67 | ret 68 | nop 69 | #endasm 70 | -------------------------------------------------------------------------------- /system/uzi280-kernel/OUTIN.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/OUTIN.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/PROCASM.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/PROCASM.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/PROCESS.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/PROCESS.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/RUNTIME.LIB: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/RUNTIME.LIB -------------------------------------------------------------------------------- /system/uzi280-kernel/SCALL1.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/SCALL1.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/SCALL2.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/SCALL2.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/SCALL3.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/SCALL3.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/SCALL4.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/SCALL4.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/SHAR.AS: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | ; Shift operations - the count is always in B, 26 | ; the quantity to be shifted is in HL, except for the assignment 27 | ; type operations, when it is in the memory location pointed to by 28 | ; HL 29 | 30 | global shar ;shift arithmetic right 31 | psect text 32 | 33 | 34 | shar: 35 | ld a,b ;check for zero shift 36 | or a 37 | ret z 38 | cp 16 ;16 bits is maximum shift 39 | jr c,1f ;is ok 40 | ld b,16 41 | 1: 42 | sra h 43 | rr l 44 | djnz 1b 45 | ret 46 | -------------------------------------------------------------------------------- /system/uzi280-kernel/SHAR.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/SHAR.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/SHLL.AS: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | ; Shift operations - the count is always in B, 26 | ; the quantity to be shifted is in HL, except for the assignment 27 | ; type operations, when it is in the memory location pointed to by 28 | ; HL 29 | 30 | global shll,shal ;shift left, arithmetic or logical 31 | psect text 32 | 33 | 34 | shll: 35 | shal: 36 | ld a,b ;check for zero shift 37 | or a 38 | ret z 39 | cp 16 ;16 bits is maximum shift 40 | jr c,1f ;is ok 41 | ld b,16 42 | 1: 43 | add hl,hl ;shift left 44 | djnz 1b 45 | ret 46 | nop 47 | -------------------------------------------------------------------------------- /system/uzi280-kernel/SHLL.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/SHLL.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/SHLR.AS: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | ; Shift operations - the count is always in B, 26 | ; the quantity to be shifted is in HL, except for the assignment 27 | ; type operations, when it is in the memory location pointed to by 28 | ; HL 29 | 30 | global shlr ;shift logical right 31 | psect text 32 | 33 | 34 | shlr: 35 | ld a,b ;check for zero shift 36 | or a 37 | ret z 38 | cp 16 ;16 bits is maximum shift 39 | jr c,1f ;is ok 40 | ld b,16 41 | 1: 42 | srl h 43 | rr l 44 | djnz 1b 45 | ret 46 | -------------------------------------------------------------------------------- /system/uzi280-kernel/SHLR.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/SHLR.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/START.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | ; * All UZI280 source code is 4 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 5 | ; * 6 | ; * Permission is hereby granted, free of charge, to any person 7 | ; * obtaining a copy of this software and associated documentation 8 | ; * files (the "Software"), to deal in the Software without 9 | ; * restriction, including without limitation the rights to use, 10 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 11 | ; * sell copies of the Software, and to permit persons to whom 12 | ; * the Software is furnished to do so, subject to the following 13 | ; * conditions: 14 | ; * 15 | ; * The above copyright notice and this permission notice shall be 16 | ; * included in all copies or substantial portions of the Software. 17 | ; * 18 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | ; * DEALINGS IN THE SOFTWARE. 26 | ; */ 27 | 28 | 29 | #asm 30 | psect text 31 | global _fs_init 32 | org 0000 33 | 34 | jp _fs_init ; This code overlays the 35 | nop ; first 4 bytes of the Interrupt 36 | ; and Trap Vector table 37 | #endasm 38 | -------------------------------------------------------------------------------- /system/uzi280-kernel/START.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/START.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/UNIX.CIM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/UNIX.CIM -------------------------------------------------------------------------------- /system/uzi280-kernel/UNIX.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/UNIX.COM -------------------------------------------------------------------------------- /system/uzi280-kernel/UZI280.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/UZI280.OBJ -------------------------------------------------------------------------------- /system/uzi280-kernel/UZIKERNL.LBR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/UZIKERNL.LBR -------------------------------------------------------------------------------- /system/uzi280-kernel/WRELOP.AS: -------------------------------------------------------------------------------- 1 | ; * All UZI280 source code is 2 | ; * Copyright (c) (1990-95) by Stefan Nitschke and Doug Braun 3 | ; * 4 | ; * Permission is hereby granted, free of charge, to any person 5 | ; * obtaining a copy of this software and associated documentation 6 | ; * files (the "Software"), to deal in the Software without 7 | ; * restriction, including without limitation the rights to use, 8 | ; * copy, modify, merge, publish, distribute, sublicense, and/or 9 | ; * sell copies of the Software, and to permit persons to whom 10 | ; * the Software is furnished to do so, subject to the following 11 | ; * conditions: 12 | ; * 13 | ; * The above copyright notice and this permission notice shall be 14 | ; * included in all copies or substantial portions of the Software. 15 | ; * 16 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | ; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | ; * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | ; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | ; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | ; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | ; * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | ; * DEALINGS IN THE SOFTWARE. 24 | 25 | ; word relational operation - returns flags correctly for 26 | ; comparision of words in hl and de 27 | 28 | psect text 29 | global wrelop 30 | 31 | wrelop: 32 | ld a,h 33 | xor d ;compare signs 34 | jp m,1f ;if different, return sign of lhs 35 | sbc hl,de ;just set flags as normal 36 | ret 37 | 1: 38 | ld a,h ;get sign of lhs 39 | and 80h ;mask out sign flag 40 | sbc hl,de ;set carry flag if appropriate 41 | inc a ;set sign flag as appropriate and reset Z flag 42 | ret 43 | 44 | nop 45 | -------------------------------------------------------------------------------- /system/uzi280-kernel/WRELOP.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-kernel/WRELOP.OBJ -------------------------------------------------------------------------------- /system/uzi280-usrtar/UZICTAR.LBR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-usrtar/UZICTAR.LBR -------------------------------------------------------------------------------- /system/uzi280-usrtar/UZISYTAR.LBR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-usrtar/UZISYTAR.LBR -------------------------------------------------------------------------------- /system/uzi280-usrtar/UZIUSTAR.LBR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-usrtar/UZIUSTAR.LBR -------------------------------------------------------------------------------- /system/uzi280-usrtar/uzi112c.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-usrtar/uzi112c.tar -------------------------------------------------------------------------------- /system/uzi280-usrtar/uzi112s.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-usrtar/uzi112s.tar -------------------------------------------------------------------------------- /system/uzi280-usrtar/uzi112u.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-usrtar/uzi112u.tar -------------------------------------------------------------------------------- /system/uzi280-usrtar/xfrctar.sub: -------------------------------------------------------------------------------- 1 | ; Transfer the UZI280 HiTech C binary files from the current directory 2 | ; into the UZI filesystem partition in the /Tapes directory. 3 | ucp 0$1 4 | 2 | #include "unix.h" 3 | #include "extern.h" 4 | 5 | /* Block dump: to examine hard disk. 6 | 7 | Usage: bd dev blkno 8 | 9 | ************************************************** */ 10 | 11 | char buf[512]; 12 | 13 | main(argc,argv) 14 | int argc; 15 | char *argv[]; 16 | { 17 | int i,j; 18 | unsigned blkno; 19 | int dev; 20 | 21 | if (argc != 3 || !isdigit(argv[1][0])) 22 | { 23 | fprintf(stderr,"Usage: bd device blkno\n"); 24 | exit(1); 25 | } 26 | 27 | bufinit(); 28 | dev = atoi(argv[1]); 29 | blkno = atoi(argv[2]); 30 | d_open(dev); 31 | 32 | dread(dev,blkno,buf); 33 | 34 | for (i=0; i < 512/24; ++i) 35 | { 36 | printf("%4x ",24*i); 37 | for (j=0; j < 24; ++j) 38 | { 39 | if (( buf[24*i+j]&0x00ff) < 16) 40 | printf("0%1x ",buf[24*i + j] & 0x00ff); 41 | else 42 | printf("%2x ",buf[24*i + j] & 0x00ff); 43 | } 44 | printf("\n"); 45 | } 46 | 47 | exit(0); 48 | } 49 | 50 | 51 | 52 | dread(dev, blk, addr) 53 | int dev; 54 | uint16 blk; 55 | char *addr; 56 | { 57 | char *buf; 58 | char *bread(); 59 | 60 | buf = bread(dev, blk, 0); 61 | bcopy(buf, addr, 512); 62 | bfree(buf, 0); 63 | } 64 | -------------------------------------------------------------------------------- /system/uzi280-xutils/BDZERO.C: -------------------------------------------------------------------------------- 1 | #include 2 | #include "unix.h" 3 | #include "extern.h" 4 | 5 | /* zero out hard disk block. 6 | 7 | Usage: bd dev blkno 8 | 9 | ************************************************** */ 10 | 11 | 12 | main(argc,argv) 13 | int argc; 14 | char *argv[]; 15 | { 16 | unsigned blkno; 17 | int dev,i,isdigit(); 18 | char *buf,*bread(); 19 | 20 | if (argc != 3 || !isdigit(argv[1][0])) 21 | { 22 | fprintf(stderr,"Usage: bd device blkno\n"); 23 | exit(1); 24 | } 25 | 26 | bufinit(); 27 | dev = atoi(argv[1]); 28 | blkno = atoi(argv[2]); 29 | d_open(dev); 30 | 31 | buf = bread(dev,blkno,1); 32 | for (i=0;i<512;i++) 33 | buf[i]=0; 34 | bfree(buf, 2); 35 | exit(0); 36 | } 37 | 38 | -------------------------------------------------------------------------------- /system/uzi280-xutils/BIOS.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | * All UZI280 source code is 4 | * (c) Copyright (1990-95) by Stefan Nitschke and Doug Braun. 5 | * 6 | * Redistribution and use in source and binary forms are permitted 7 | * provided that: (1) source distributions retain this entire copyright 8 | * notice and comment, (2) it is not used for military purpose in 9 | * any form, (3) it is not used for any commercial purpose, and (4) 10 | * distributions including binaries display the following acknowledgement: 11 | * ``This product includes software developed by Stefan Nitschke 12 | * and his contributors'' 13 | * in the documentation or other materials provided with the distribution 14 | * and in all advertising materials mentioning features or use of this 15 | * software. Neither the name of the author nor the names of its 16 | * contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 | */ 22 | 23 | 24 | /* Bios Calls fuer CP/M 3 Stefan Nitschke */ 25 | 26 | #include 27 | 28 | #define TPA 1 29 | 30 | 31 | struct biosblk { 32 | char Funk; 33 | char Akku; 34 | unsigned BC_Reg; 35 | unsigned DE_Reg; 36 | unsigned HL_Reg; 37 | }; 38 | 39 | struct biosblk biospara; 40 | 41 | BIOS(Nummer,BC_Register) 42 | char Nummer; 43 | unsigned BC_Register; 44 | { 45 | biospara.Akku = 0; 46 | biospara.Funk = Nummer; 47 | biospara.BC_Reg = BC_Register; 48 | 49 | bdos(50,&biospara,0); 50 | } 51 | 52 | -------------------------------------------------------------------------------- /system/uzi280-xutils/BIOS.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/BIOS.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/BZERO.C: -------------------------------------------------------------------------------- 1 | 2 | bzero(ptr,count) 3 | char *ptr; 4 | unsigned count; 5 | { 6 | /** 7 | memset(ptr,0,count); 8 | **/ 9 | *ptr = 0; 10 | bcopy(ptr,ptr+1,count-1); 11 | } 12 | 13 | -------------------------------------------------------------------------------- /system/uzi280-xutils/BZERO.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/BZERO.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/CAT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/CAT -------------------------------------------------------------------------------- /system/uzi280-xutils/CLAM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/CLAM -------------------------------------------------------------------------------- /system/uzi280-xutils/CONFIG.INC: -------------------------------------------------------------------------------- 1 | ; 2 | ; HiTech ZAS include file for assembly language modules 3 | ; 4 | Z280RC equ 0FFFFh ; Enable Z280RC specific code 5 | ; If zero, use the original REH280 code 6 | 7 | XUTIL equ 0FFFFh ; TRUE when building XUTILs 8 | 9 | -------------------------------------------------------------------------------- /system/uzi280-xutils/COPYALL.SUB: -------------------------------------------------------------------------------- 1 | ucp 0$1 2 | 2 | 3 | #define FALSE 0 4 | #define TRUE 1 5 | 6 | /* convert integer to string in base (2-36) */ 7 | char *itob(n, s, base) 8 | char *s; 9 | { 10 | register unsigned int u; 11 | register char *p, *q; 12 | register negative, c; 13 | 14 | if (n < 0 && base == -10) { 15 | negative = TRUE; 16 | u = -n; 17 | } 18 | else { 19 | negative = FALSE; 20 | u = n; 21 | } 22 | if (base == -10) /* set signed */ 23 | base = 10; 24 | p = q = s; 25 | do { /* generate digits in reverse order */ 26 | if ((*p = u % base + '0') > '9') 27 | *p += ('A' - ('9' + 1)); 28 | ++p; 29 | } while ((u /= base) > 0); 30 | if (negative) 31 | *p++ = '-'; 32 | *p = '\0'; /* terminate string */ 33 | while (q < --p) { /* reverse the digits */ 34 | c = *q; 35 | *q++ = *p; 36 | *p = c; 37 | } 38 | return s; 39 | } 40 | -------------------------------------------------------------------------------- /system/uzi280-xutils/ITOB.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/ITOB.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/KILL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/KILL -------------------------------------------------------------------------------- /system/uzi280-xutils/LKXUTIL.SUB: -------------------------------------------------------------------------------- 1 | a:linq 2 | <-c100h -o$1.com 0:a:crtcpm.obj $1.obj ideconf.obj \ 3 | hl 24 | MACRO EXTS 25 | DEFB 0EDH, 064H 26 | ENDM 27 | ;exts hl -> de 28 | MACRO EXTSHL 29 | DEFB 0EDH, 06CH 30 | ENDM 31 | ;sub hl,de 32 | MACRO SUBDE 33 | DEFB 0EDH, 0DEH 34 | ENDM 35 | 36 | MACRO LDCTL 37 | DEFB 0edh 38 | DEFB 06eh 39 | ENDM 40 | 41 | MACRO RDCTL 42 | DEFB 0edh 43 | DEFB 066h 44 | ENDM 45 | 46 | MACRO OUTW 47 | DEFB 0edh 48 | DEFB 0bfh 49 | ENDM 50 | 51 | MACRO INW 52 | DEFB 0edh 53 | DEFB 0b7h 54 | ENDM 55 | 56 | MACRO OUTIW 57 | DEFB 0edh 58 | DEFB 083h 59 | ENDM 60 | 61 | MACRO OTIRW 62 | DEFB 0edh 63 | DEFB 093h 64 | ENDM 65 | 66 | MACRO INIRW 67 | DEFB 0edh 68 | DEFB 092h 69 | ENDM 70 | 71 | MACRO PCACHE 72 | DEFB 0edh 73 | DEFB 065h 74 | ENDM 75 | 76 | MACRO IM3 77 | DEFB 0EDH 78 | DEFB 04EH 79 | ENDM 80 | 81 | MACRO RETIL 82 | DEFB 0EDH 83 | DEFB 055H 84 | ENDM 85 | 86 | MACRO SC,NN 87 | DEFB 0EDH 88 | DEFB 071H 89 | DEFW NN 90 | ENDM 91 | 92 | MACRO OUTIR 93 | DEFB 0EDH 94 | DEFB 0B3H 95 | ENDM 96 | 97 | ;MACRO OUTI 98 | ; DEFB 0EDH 99 | ; DEFB 0A3H 100 | ;ENDM 101 | 102 | MACRO LDUSP 103 | DEFB 0EDH 104 | DEFB 08FH 105 | ENDM 106 | 107 | MACRO RDUSP 108 | DEFB 0EDH 109 | DEFB 087H 110 | ENDM 111 | 112 | MACRO LDUD 113 | DEFB 0EDH 114 | DEFB 086H 115 | ENDM 116 | 117 | MACRO STUD 118 | DEFB 0EDH 119 | DEFB 08EH 120 | ENDM 121 | 122 | MACRO STUP 123 | DEFB 0EDH 124 | DEFB 09EH 125 | ENDM 126 | ;ld hl,(sp+nn) 127 | MACRO LDHLSX,NN 128 | DEFB 0EDH 129 | DEFB 004H 130 | DEFW NN 131 | ENDM 132 | ;ld (sp+nn),hl 133 | MACRO STHLSX,NN 134 | DEFB 0EDH 135 | DEFB 005H 136 | DEFW NN 137 | ENDM 138 | 139 | -------------------------------------------------------------------------------- /system/uzi280-xutils/MAKE.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/MAKE.COM -------------------------------------------------------------------------------- /system/uzi280-xutils/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # makefile for uzi280 xutils running under CP/M 3 | # 4 | 5 | OBJS = devio.obj xdevtty.obj xdevwd.obj xdevflo.obj xdevmisc.obj \ 6 | xmachdep.obj data.obj xfs1.obj xfs2.obj bcopy.obj bzero.obj spl.obj \ 7 | itob.obj uput.obj idecf.obj bios.obj 8 | 9 | SRCS = devio.c xdevtty.c xdevwd.c xdevflo.c xdevmisc.c \ 10 | xmachdep.c data.c xfs1.c xfs2.c bcopy.c bzero.c spl.c \ 11 | itob.c uput.c idecf.as bios.c 12 | 13 | HDR = unix.h config.h extern.h 14 | 15 | xlib.lib: $(OBJS) 16 | mkxlib.sub 17 | 18 | devio.obj: devio.c 19 | c280 -c -of2 devio.c 20 | 21 | xdevtty.obj: xdevtty.c 22 | c280 -c -of2 xdevtty.c 23 | 24 | xdevwd.obj: xdevwd.c 25 | c280 -c -of2 xdevwd.c 26 | 27 | xdevflo.obj: xdevflo.c 28 | c280 -c -of2 xdevflo.c 29 | 30 | xdevmisc.obj: xdevmisc.c 31 | c280 -c -of2 xdevmisc.c 32 | 33 | xmachdep.obj: xmachdep.c 34 | c280 -c -of2 xmachdep.c 35 | 36 | data.obj: data.c 37 | c280 -c -of2 data.c 38 | 39 | xfs1.obj: xfs1.c 40 | c280 -c -of2 xfs1.c 41 | 42 | xfs2.obj: xfs2.c 43 | c280 -c -of2 xfs2.c 44 | 45 | bcopy.obj: bcopy.c 46 | c280 -c -of2 bcopy.c 47 | 48 | bzero.obj: bzero.c 49 | c280 -c -of2 bzero.c 50 | 51 | spl.obj: spl.c 52 | c280 -c -of2 spl.c 53 | 54 | itob.obj: itob.c 55 | c280 -c -of2 itob.c 56 | 57 | uput.obj: uput.c 58 | c280 -c -of2 uput.c 59 | 60 | idecf.obj: idecf.as 61 | c280 -c idecf.as 62 | 63 | bios.obj: bios.c 64 | c280 -c -of2 bios.c 65 | -------------------------------------------------------------------------------- /system/uzi280-xutils/MKBOOT.SUB: -------------------------------------------------------------------------------- 1 | ; devices are 2 | ; 0 /dev/wd0 3 | ; 2 /dev/wd1 4 | ; 3 /dev/wd2 5 | ; 6 | mkfs 0$1 600 65000 7 | ucp 0$1 8 | 2 | #include "unix.h" 3 | #define MAINpro 4 | #include "extern.h" 5 | #undef MAINpro 6 | 7 | /* This makes a filesystem */ 8 | 9 | #ifndef CPM 10 | #define CPM 11 | #endif 12 | 13 | int dev; 14 | 15 | 16 | static char _zerobuf[512]; 17 | 18 | 19 | struct direct dirbuf[32] = { ROOTINODE,".",ROOTINODE,".." }; 20 | static struct dinode inode[8]; 21 | static struct filesys filsys; 22 | 23 | 24 | 25 | main(argc,argv) 26 | int argc; 27 | char *argv[]; 28 | { 29 | uint16 fsize, isize; 30 | 31 | if (argc != 4) 32 | { 33 | printf("Usage: mkfs device isize fsize\n"); 34 | exit(-1); 35 | } 36 | 37 | dev = atoi(argv[1]); 38 | isize = (uint16)atoi(argv[2]); 39 | fsize = (uint16)atoi(argv[3]); 40 | 41 | if (dev == 0 && argv[1][0] != '0') 42 | { 43 | printf("Invalid device\n"); 44 | exit(-1); 45 | } 46 | if (dev < 0 || dev >= NDEVS || (dev == 1)) /*AGN Disallow floppy dev 1 */ 47 | { 48 | printf("Invalid device\n"); 49 | exit(-1); 50 | } 51 | 52 | if (fsize < 3 || isize < 2 || isize >= fsize) 53 | { 54 | printf("Bad parameter values\n"); 55 | exit(-1); 56 | } 57 | 58 | 59 | printf("Making filesystem on device %d with isize %u fsize %u. Confirm? ", 60 | dev,isize,fsize); 61 | if (!yes()) 62 | exit(-1); 63 | 64 | bufinit(); 65 | if (d_open(dev)) 66 | { 67 | printf("Can't open device"); 68 | exit(-1); 69 | } 70 | 71 | mkfs(fsize,isize); 72 | bufsync(); 73 | exit(0); 74 | } 75 | 76 | 77 | 78 | 79 | mkfs(fsize, isize) 80 | uint16 fsize, isize; 81 | { 82 | uint16 j; 83 | 84 | /* Zero out the blocks */ 85 | 86 | #ifdef _FULL_ 87 | for (j=0; j < fsize; ++j) 88 | dwrite(j,(char *)_zerobuf); 89 | #endif 90 | 91 | for (j=0; j < isize; ++j) /*Don't waste time in CPM*/ 92 | dwrite(j,(char *)_zerobuf); 93 | 94 | /* Initialize the super-block */ 95 | filsys.s_mounted = SMOUNTED; /* Magic number */ 96 | filsys.s_isize = isize; 97 | filsys.s_fsize = fsize; 98 | filsys.s_nfree = 1; 99 | filsys.s_free[0] = 0; 100 | filsys.s_tfree = 0; 101 | filsys.s_ninode = 0; 102 | filsys.s_tinode = (8 * (isize-2)) - 2; 103 | 104 | /* Free each block, building the free list */ 105 | 106 | for (j= fsize-1; j > isize; j--) 107 | { 108 | 109 | if (filsys.s_nfree == 50) 110 | { 111 | dwrite(j, (char *)&filsys.s_nfree); 112 | filsys.s_nfree = 0; 113 | } 114 | ++filsys.s_tfree; 115 | filsys.s_free[(filsys.s_nfree)++] = j; 116 | } 117 | 118 | 119 | /* The inodes are already zeroed out */ 120 | /* create the root dir */ 121 | 122 | inode[ROOTINODE].i_mode = F_DIR | (0777 & MODE_MASK); 123 | inode[ROOTINODE].i_nlink = 3; 124 | inode[ROOTINODE].i_size.o_blkno = 0; 125 | inode[ROOTINODE].i_size.o_offset = 32; 126 | inode[ROOTINODE].i_addr[0] = isize; 127 | 128 | /* Reserve reserved inode */ 129 | inode[0].i_nlink = 1; 130 | inode[0].i_mode = ~0; 131 | 132 | dwrite(2,(char *)inode); 133 | 134 | dwrite(isize,(char *)dirbuf); 135 | 136 | /* Write out super block */ 137 | dwrite(1,(char *)&filsys); 138 | 139 | bufsync(); 140 | } 141 | 142 | 143 | 144 | dwrite(blk, addr) 145 | uint16 blk; 146 | char *addr; 147 | { 148 | char *buf; 149 | char *bread(); 150 | 151 | buf = bread(dev, blk, 1); 152 | bcopy(addr, buf, 512); 153 | bfree(buf, 1); 154 | } 155 | 156 | 157 | int yes() 158 | { 159 | char line[20]; 160 | 161 | if (!fgets(line,sizeof(line),stdin) || (*line != 'y' && *line != 'Y')) 162 | return(0); 163 | 164 | return(1); 165 | } 166 | 167 | -------------------------------------------------------------------------------- /system/uzi280-xutils/MKFS.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/MKFS.COM -------------------------------------------------------------------------------- /system/uzi280-xutils/MKFS.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/MKFS.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/MKXLIB.SUB: -------------------------------------------------------------------------------- 1 | era xlib.lib 2 | libr 3 | < r xlib.lib xfs1.obj xfs2.obj devio.obj xdevtty.obj xdevwd.obj xdevflo.obj \ 4 | < xdevmisc.obj xmachdep.obj data.obj \ 5 | < itob.obj uput.obj idecf.obj \ 6 | < bzero.obj bcopy.obj spl.obj bios.obj -------------------------------------------------------------------------------- /system/uzi280-xutils/MOUNT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/MOUNT -------------------------------------------------------------------------------- /system/uzi280-xutils/MV: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/MV -------------------------------------------------------------------------------- /system/uzi280-xutils/PASSWD: -------------------------------------------------------------------------------- 1 | root::0:0:unix expert:/usr/root:/bin/clam 2 |  -------------------------------------------------------------------------------- /system/uzi280-xutils/PS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/PS -------------------------------------------------------------------------------- /system/uzi280-xutils/PWD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/PWD -------------------------------------------------------------------------------- /system/uzi280-xutils/RC: -------------------------------------------------------------------------------- 1 | # 2 | # startup shell script executed by init. 3 | # 4 | # set the uart line into fast interrupt handling mode for 5 | # modem/kermit usage. 6 | # /bin/setuart fast 7 |  -------------------------------------------------------------------------------- /system/uzi280-xutils/RM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/RM -------------------------------------------------------------------------------- /system/uzi280-xutils/RMDIR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/RMDIR -------------------------------------------------------------------------------- /system/uzi280-xutils/SETUART: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/SETUART -------------------------------------------------------------------------------- /system/uzi280-xutils/SH: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/SH -------------------------------------------------------------------------------- /system/uzi280-xutils/SHUTDOWN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/SHUTDOWN -------------------------------------------------------------------------------- /system/uzi280-xutils/SPL.C: -------------------------------------------------------------------------------- 1 | 2 | int spl(word) 3 | int word; 4 | { 5 | return(word); 6 | } 7 | -------------------------------------------------------------------------------- /system/uzi280-xutils/SPL.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/SPL.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/SYNC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/SYNC -------------------------------------------------------------------------------- /system/uzi280-xutils/TAR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/TAR -------------------------------------------------------------------------------- /system/uzi280-xutils/TERMCAP: -------------------------------------------------------------------------------- 1 | # 2 | # UZI280 termcap file 3 | # 4 | # 5 | # TVI950 6 | # 7 | tvi950|club80| \\ 8 | ::ho=\036:cm=\E=%+ %+ :cl=\E*:up=\E1:do=\E3:nd=\014:bl=\007:bc=\b: \\ 9 | :ce=\ET:vi=\E.0:ve=\E.3:vs=\E.2:as=\E$:ae=\E%:dl=\ER: \\ 10 | :cs=\E=:bo=\EG5:be=\EG0:cd=\EY:so=\EG4:se=\EG0:sr=\E3:bs=\010: \\ 11 | :ti=\E*:te=\E):md=\EG5:me=\EG0:us=\EG1:ue=\EG0:al=\EE:ku=\005: \\ 12 | :kd=\030:kl=\023:kr=\002:k1=\022:k2=\003:co#80:li#25:am#00:xn#00: 13 | # 14 | # the same but small 64 x 20 Layout 15 | # 16 | tvi-small| \\ 17 | :pc=" ":ho=\036:cm=\E=%+ %+ :cl=\E*:up=\Ej:nd=\014:bl=\007:bc=\b: \\ 18 | :ce=\ET: \\ 19 | :cs=\E=:bo=\EG7:be=\EG2:cd=\EY:so=\EG4:se=\EG2:sr=\E3:bs=\010: \\ 20 | :ti=\E*:te=\E):md=\EG5:me=\EG2:us=\EG1:ue=\EG2:al=\EE:ku=\005: \\ 21 | :kd=\030:kl=\023:kr=\002:k1=\022:k2=\003:co#64:li#20:am#00:xn#00: 22 | # 23 | # 24 | # Add your terminal here 25 | # 26 | # Syntax: String sequence :name=string: 27 | # numerical value :name#val: 28 | # Terminal name name|next_name|..| 29 | # 30 | # ANSI Terminal with 72 lines (facit) 31 | # 32 | ansi| \\ 33 | :pc:ho=\E[H:cm=\E[%i%d;%dH:cl=\E[X: \\ 34 | :up=\E[A:bl=\007:ue=\E[m:us=\E[4m: \\ 35 | :bc=\E[D:ce=\E[K:bo=\E[1m:be=\E[m:cd=\E[J:so=\E[1m:se=\E[m: \\ 36 | :sr=\EM:bs=\010:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:k1=\E[V:k2=\E[U: \\ 37 | :md=\E[1m:me=\E[m:mr=\E\7m:al=\E[1L: \\ 38 | :co#80:li#72:am#00:nd=\E[C:ho=\E[H: \\ 39 | :vi=\E[?35h:ve=\E[?35l\E[?33h:vs=\E[?35l\E\?33l:sr=\E[:do=\E[B: \\ 40 | :id=ansi:dl=\E[M: 41 | # 42 | # ANSI Terminal with 24 lines 43 | # 44 | ansi-small| \\ 45 | :pc:ho=\E[H:cm=\E[%i%d;%dH:cl=\E[H\E[0J: \\ 46 | :up=\E[A:bl=\007:ue=\E[m:us=\E[4m: \\ 47 | :bc=\E[D:ce=\E[K:bo=\E[1m:be=\E[m:cd=\E[J:so=\E[1m:se=\E[m: \\ 48 | :sr=\EM:bs=\010:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:k1=\E[V:k2=\E[U: \\ 49 | :md=\E[1m:me=\E[m:mr=\E\7m:al=\E[1L: \\ 50 | :co#80:li#24:am#00:nd=\E[C:ho=\E[H: \\ 51 | :vi=\E[?35h:ve=\E[?35l\E[?33h:vs=\E[?35l\E\?33l:sr=\E[:do=\E[B:up=\E[A: \\ 52 | :id=ansi:dl=\E[M: 53 | -------------------------------------------------------------------------------- /system/uzi280-xutils/TOUCH: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/TOUCH -------------------------------------------------------------------------------- /system/uzi280-xutils/TTYTAB: -------------------------------------------------------------------------------- 1 | # 2 | # UZI280 ttytab 3 | # 4 | # 5 | # 6 | # Syntax: name termtype "login-program [args]" "term-init .." 7 | # 8 | # term-init is currently not used. 9 | # 10 | # CAUTION: Modify with care. Used only by init. 11 | # 12 | # 13 | # settings for Club80 terminal on tty1-tty4 and serial ansi terminal on tty5 14 | # 15 | /dev/tty1 tvi950 login 16 | /dev/tty2 tvi950 login 17 | /dev/tty3 tvi950 login 18 | /dev/tty4 tvi950 login 19 | /dev/tty5 ansi login 20 | # 21 | # this starts kermit conneted to dev/tty5 (serial line) 22 | # in server mode at boot time. 23 | # 24 | #/dev/tty5 kermit "kermit -l /dev/tty5 -b 9600 -x" 25 |  -------------------------------------------------------------------------------- /system/uzi280-xutils/UCP.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/UCP.COM -------------------------------------------------------------------------------- /system/uzi280-xutils/UCP.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/UCP.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/UMOUNT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/UMOUNT -------------------------------------------------------------------------------- /system/uzi280-xutils/UNCOMPRE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/UNCOMPRE -------------------------------------------------------------------------------- /system/uzi280-xutils/UPUT.C: -------------------------------------------------------------------------------- 1 | 2 | uput(x,y,z) 3 | unsigned x,y,z; 4 | { 5 | bcopy(x,y,z); 6 | } 7 | 8 | uget(x,y,z) 9 | unsigned x,y,z; 10 | { 11 | bcopy(x,y,z); 12 | } 13 | -------------------------------------------------------------------------------- /system/uzi280-xutils/UPUT.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/UPUT.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/UTMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/UTMP -------------------------------------------------------------------------------- /system/uzi280-xutils/UZIXUTIL.LBR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/UZIXUTIL.LBR -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVFLO.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | * All UZI280 source code is 4 | * (c) Copyright (1990-95) by Stefan Nitschke and Doug Braun. 5 | * 6 | * Redistribution and use in source and binary forms are permitted 7 | * provided that: (1) source distributions retain this entire copyright 8 | * notice and comment, (2) it is not used for military purpose in 9 | * any form, (3) it is not used for any commercial purpose, and (4) 10 | * distributions including binaries display the following acknowledgement: 11 | * ``This product includes software developed by Stefan Nitschke 12 | * and his contributors'' 13 | * in the documentation or other materials provided with the distribution 14 | * and in all advertising materials mentioning features or use of this 15 | * software. Neither the name of the author nor the names of its 16 | * contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 | */ 22 | 23 | 24 | #include "unix.h" 25 | #include "extern.h" 26 | 27 | 28 | extern BIOS(char, unsigned); 29 | 30 | 31 | #define NUMTRKS 80 /* 0..79 */ 32 | #define NUMSECS 15 /* 1..15 */ 33 | 34 | static uint16 ftrack, fsector, ferror; 35 | static char *fbuf; 36 | 37 | 38 | 39 | fd_read(minor, rawflag) 40 | int16 minor; 41 | int rawflag; 42 | { 43 | return (fd(1, minor, rawflag)); 44 | } 45 | 46 | fd_write(minor, rawflag) 47 | int minor; 48 | int rawflag; 49 | { 50 | return (fd(0, minor, rawflag)); 51 | } 52 | 53 | 54 | 55 | fd(rwfl, minor, rawflag) 56 | int rwfl; 57 | int minor; 58 | int rawflag; 59 | { 60 | register uint16 nblocks; 61 | register uint16 firstblk; 62 | 63 | if (rawflag) 64 | { 65 | panic("Raw floppy access"); 66 | 67 | if (rawflag == 2) 68 | { 69 | nblocks = swapcnt >> 9; /*7;*/ 70 | fbuf = swapbase; 71 | firstblk = swapblk; 72 | } 73 | else 74 | { 75 | nblocks = udata.u_count >> 9; 76 | fbuf = udata.u_base; 77 | firstblk = udata.u_offset.o_blkno; 78 | } 79 | } 80 | else 81 | { 82 | nblocks = 1; 83 | fbuf = udata.u_buf->bf_data; 84 | firstblk = udata.u_buf->bf_blk; 85 | } 86 | 87 | ftrack = (firstblk / NUMSECS) + 2; /* Track 0-1 reserviert */ 88 | fsector = (firstblk % NUMSECS) + 1; 89 | ferror = 0; 90 | 91 | for (;;) 92 | { 93 | if (rwfl) 94 | _1read(); 95 | else 96 | _1write(); 97 | 98 | ifnot (--nblocks) 99 | break; 100 | 101 | if (++fsector == NUMSECS + 1 ) 102 | { 103 | fsector = 1; 104 | ++ftrack; 105 | } 106 | fbuf += 512; 107 | } 108 | if (ferror) 109 | { 110 | printf("fd_%s: error %d track %d sector %d\n", 111 | rwfl?"read":"write", ferror, ftrack, fsector); 112 | panic(""); 113 | } 114 | 115 | return(nblocks); 116 | } 117 | 118 | 119 | fd_open(minor) 120 | int minor; 121 | { 122 | return(0); 123 | } 124 | 125 | 126 | fd_close(minor) 127 | int minor; 128 | { 129 | return(0); 130 | } 131 | 132 | 133 | fd_ioctl(minor) 134 | int minor; 135 | { 136 | return(-1); 137 | } 138 | 139 | 140 | _1read() 141 | { 142 | char temp; 143 | temp = (char)bdos(25); 144 | bdos(14,0); 145 | BIOS(12,(unsigned)fbuf); /* set DMA addr */ 146 | BIOS(10,ftrack); /* set Track */ 147 | BIOS(11,fsector); /* set sector */ 148 | BIOS(13,0); /* read */ 149 | bdos(14,temp); 150 | } 151 | 152 | 153 | _1write() 154 | { 155 | char temp; 156 | temp = (char)bdos(25); 157 | bdos(14,0); 158 | BIOS(12,(unsigned)fbuf); /* set DMA addr */ 159 | BIOS(10,ftrack); /* set Track */ 160 | BIOS(11,fsector); /* set sector */ 161 | BIOS(14,0); /* write */ 162 | bdos(14,temp); 163 | } 164 | 165 | -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVFLO.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/XDEVFLO.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVMISC.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | * All UZI280 source code is 4 | * (c) Copyright (1990-95) by Stefan Nitschke and Doug Braun. 5 | * 6 | * Redistribution and use in source and binary forms are permitted 7 | * provided that: (1) source distributions retain this entire copyright 8 | * notice and comment, (2) it is not used for military purpose in 9 | * any form, (3) it is not used for any commercial purpose, and (4) 10 | * distributions including binaries display the following acknowledgement: 11 | * ``This product includes software developed by Stefan Nitschke 12 | * and his contributors'' 13 | * in the documentation or other materials provided with the distribution 14 | * and in all advertising materials mentioning features or use of this 15 | * software. Neither the name of the author nor the names of its 16 | * contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 | */ 22 | 23 | 24 | #include "unix.h" 25 | #include "extern.h" 26 | 27 | kmem_read(minor, rawflag) 28 | int minor; 29 | int rawflag; 30 | { 31 | uint16 addr; 32 | 33 | addr = 512*udata.u_offset.o_blkno+udata.u_offset.o_offset; 34 | 35 | /* This test should be based on a check of the page tables */ 36 | if (addr < 0x1000) 37 | return (1); 38 | 39 | if (udata.u_sysio) 40 | bcopy((char *)addr, udata.u_base, udata.u_count); 41 | else 42 | uput((char *)addr, udata.u_base, udata.u_count); 43 | 44 | return(udata.u_count); 45 | } 46 | 47 | kmem_write(minor, rawflag) 48 | int minor; 49 | int rawflag; 50 | { 51 | uint16 addr; 52 | 53 | addr = 512*udata.u_offset.o_blkno+udata.u_offset.o_offset; 54 | 55 | if (addr < 0x1000) 56 | return (1); 57 | 58 | if (udata.u_sysio) 59 | bcopy(udata.u_base, (char *)addr, udata.u_count); 60 | else 61 | uget(udata.u_base, (char *)addr, udata.u_count); 62 | 63 | return(udata.u_count); 64 | } 65 | 66 | 67 | 68 | null_write(minor, rawflag) 69 | int minor; 70 | int rawflag; 71 | { 72 | return(udata.u_count); 73 | } 74 | 75 | 76 | 77 | static char lop = 0; 78 | 79 | lpr_open() 80 | { 81 | lop = 1; 82 | return(0); 83 | } 84 | 85 | lpr_close() 86 | { 87 | if (lop) 88 | { 89 | lop = 0; 90 | lpout('\f'); 91 | lpout('\f'); 92 | } 93 | return(0); 94 | } 95 | 96 | 97 | 98 | lpr_write(minor, rawflag) 99 | int minor; 100 | int rawflag; 101 | { 102 | uint16 n; 103 | 104 | n = udata.u_count; 105 | while (n--) 106 | lpout(*udata.u_base++); 107 | return(udata.u_count); 108 | } 109 | 110 | 111 | lpout(c) 112 | char c; 113 | { 114 | /* 115 | while(in(0x84)&02) 116 | ; 117 | 118 | out(c,0x85); 119 | out(0xfe,0x86); 120 | out(0xff,0x86); 121 | out(0xff,0x85); 122 | */ 123 | } 124 | 125 | 126 | #include "xdevmt.c" 127 | -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVMISC.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/XDEVMISC.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVMT.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | * All UZI280 source code is 4 | * (c) Copyright (1990-95) by Stefan Nitschke and Doug Braun. 5 | * 6 | * Redistribution and use in source and binary forms are permitted 7 | * provided that: (1) source distributions retain this entire copyright 8 | * notice and comment, (2) it is not used for military purpose in 9 | * any form, (3) it is not used for any commercial purpose, and (4) 10 | * distributions including binaries display the following acknowledgement: 11 | * ``This product includes software developed by Stefan Nitschke 12 | * and his contributors'' 13 | * in the documentation or other materials provided with the distribution 14 | * and in all advertising materials mentioning features or use of this 15 | * software. Neither the name of the author nor the names of its 16 | * contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 | */ 22 | 23 | 24 | #define MTLUN 0 25 | #define MTBUSID 2 26 | 27 | /* 28 | static char cmdblk[6] = { 0, (MTLUN<<5)|01, 0, 0, 0, 0 }; 29 | 30 | extern char *dptrlo; 31 | extern pageaddr dptrhi; 32 | extern int dlen; 33 | extern char *cptr; 34 | extern int busid; 35 | extern scsiop(); 36 | */ 37 | 38 | mt_read(minor, rawflag) 39 | int minor; 40 | int rawflag; 41 | { 42 | return(0); 43 | } 44 | 45 | 46 | mt_write(minor, rawflag) 47 | int minor; 48 | int rawflag; 49 | { 50 | return(0); 51 | } 52 | 53 | 54 | mt_open() 55 | { 56 | return(0); 57 | } 58 | 59 | 60 | 61 | mt_close() 62 | { 63 | return(0); 64 | } 65 | 66 | -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVTTY.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | * All UZI280 source code is 4 | * (c) Copyright (1990-95) by Stefan Nitschke and Doug Braun. 5 | * 6 | * Redistribution and use in source and binary forms are permitted 7 | * provided that: (1) source distributions retain this entire copyright 8 | * notice and comment, (2) it is not used for military purpose in 9 | * any form, (3) it is not used for any commercial purpose, and (4) 10 | * distributions including binaries display the following acknowledgement: 11 | * ``This product includes software developed by Stefan Nitschke 12 | * and his contributors'' 13 | * in the documentation or other materials provided with the distribution 14 | * and in all advertising materials mentioning features or use of this 15 | * software. Neither the name of the author nor the names of its 16 | * contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 | */ 22 | 23 | 24 | #include "unix.h" 25 | #include "extern.h" 26 | 27 | #define LINESIZ 128 28 | 29 | static char line[LINESIZ]; 30 | 31 | tty_read(minor, rawflag) 32 | int16 minor; 33 | int rawflag; 34 | { 35 | int nread; 36 | 37 | line[0] = udata.u_count; 38 | line[1] = 0; 39 | bdos(10,line); /* Read console buffer */ 40 | bdos(2,'\n'); 41 | nread = line[1]; 42 | line[nread+2] = '\n'; 43 | bcopy(line+2,udata.u_base,nread+1); 44 | return(nread+1); 45 | } 46 | 47 | 48 | tty_write(minor, rawflag) 49 | int16 minor; 50 | int rawflag; 51 | { 52 | while (udata.u_count-- != 0) 53 | { 54 | if (*udata.u_base=='\n') 55 | bdos(2,'\r'); 56 | bdos(2,*udata.u_base); 57 | ++udata.u_base; 58 | } 59 | } 60 | 61 | 62 | _putc(c) 63 | int c; 64 | { 65 | bdos(2,c); 66 | } 67 | 68 | 69 | tty_open(minor) 70 | int minor; 71 | { 72 | return(0); 73 | } 74 | 75 | 76 | tty_close(minor) 77 | int minor; 78 | { 79 | return(0); 80 | } 81 | 82 | 83 | tty_ioctl(minor) 84 | int minor; 85 | { 86 | return(-1); 87 | } 88 | -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVTTY.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/XDEVTTY.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVWD.C: -------------------------------------------------------------------------------- 1 | 2 | /*- 3 | * All UZI280 source code is 4 | * (c) Copyright (1990-95) by Stefan Nitschke and Doug Braun. 5 | * 6 | * Redistribution and use in source and binary forms are permitted 7 | * provided that: (1) source distributions retain this entire copyright 8 | * notice and comment, (2) it is not used for military purpose in 9 | * any form, (3) it is not used for any commercial purpose, and (4) 10 | * distributions including binaries display the following acknowledgement: 11 | * ``This product includes software developed by Stefan Nitschke 12 | * and his contributors'' 13 | * in the documentation or other materials provided with the distribution 14 | * and in all advertising materials mentioning features or use of this 15 | * software. Neither the name of the author nor the names of its 16 | * contributors may be used to endorse or promote products derived 17 | * from this software without specific prior written permission. 18 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21 | */ 22 | 23 | 24 | #include "unix.h" 25 | #include "extern.h" 26 | #include "ide.h" 27 | 28 | 29 | /* Die folgenden Variablen werden im Assembler-Module verwendet */ 30 | unsigned dptrlo; 31 | unsigned wdsec,wdtrk; 32 | unsigned wd_rdwr; 33 | 34 | 35 | static unsigned nblocks; 36 | 37 | wd_read(minor, rawflag) 38 | unsigned minor; 39 | int rawflag; 40 | { 41 | wd_rdwr = 0; 42 | return(setup(minor, rawflag)); 43 | } 44 | 45 | wd_write(minor, rawflag) 46 | unsigned minor; 47 | int rawflag; 48 | { 49 | wd_rdwr = 1; 50 | return(setup(minor, rawflag)); 51 | } 52 | 53 | static blkno_t block; 54 | 55 | 56 | setup(minor, rawflag) 57 | int minor; 58 | int rawflag; 59 | { 60 | static unsigned SecHead; 61 | 62 | SecHead = WD_Sector*WD_Heads; 63 | if (rawflag) 64 | { 65 | 66 | if (rawflag == 2) 67 | { 68 | /* Paging */ 69 | nblocks = swapcnt >>9; 70 | dptrlo = swapbase; 71 | block = swapblk; 72 | } 73 | else 74 | { 75 | /* Raw I/O (broken) */ 76 | nblocks = udata.u_count >>9; 77 | dptrlo = udata.u_base; 78 | block = udata.u_offset.o_blkno; 79 | } 80 | } 81 | else 82 | { 83 | nblocks = 1; 84 | dptrlo = udata.u_buf->bf_data; 85 | block = udata.u_buf->bf_blk; 86 | } 87 | 88 | wdtrk = (block / SecHead) + TrackOffset; 89 | wdsec = block % SecHead; 90 | 91 | if (minor == 1) 92 | wdtrk += WD1_Offset; 93 | 94 | if (minor == 2) 95 | wdtrk += WD2_Offset; 96 | 97 | for (;;) 98 | { 99 | wd_io(); 100 | 101 | ifnot (--nblocks) 102 | break; 103 | 104 | if (++wdsec == SecHead) 105 | { 106 | wdsec = 0; 107 | ++wdtrk; 108 | } 109 | dptrlo += 512; 110 | } 111 | 112 | return(nblocks); 113 | } 114 | 115 | 116 | wd_open(minor) 117 | int minor; 118 | { 119 | hdinit(); 120 | return(0); 121 | } 122 | 123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /system/uzi280-xutils/XDEVWD.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/XDEVWD.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/XFRBNTAR.SUB: -------------------------------------------------------------------------------- 1 | ; Transfer the UZI280 binary tar files from the current directory 2 | ; into the UZI filesystem partition in the /Tapes directory. 3 | ucp 0$1 4 | t_time += t2->t_time; 57 | t1->t_date += t2->t_date; 58 | if (t1->t_time >= 60*TICKSPERSEC) 59 | { 60 | t1->t_time -= 60*TICKSPERSEC; 61 | ++t1->t_date; 62 | } 63 | } 64 | 65 | incrtick(t) 66 | time_t *t; 67 | { 68 | if (++t->t_time == 60*TICKSPERSEC) 69 | { 70 | t->t_time = 0; 71 | ++t->t_date; 72 | } 73 | } 74 | 75 | 76 | 77 | sttime() 78 | { 79 | panic("Calling sttime"); 80 | } 81 | 82 | 83 | rdtime(tloc) 84 | time_t *tloc; 85 | { 86 | tloc->t_time = (20>>1) | (20<<5) | (12<<11); 87 | tloc->t_date = 19 | (04<<5) | (92<<9); 88 | } 89 | 90 | 91 | /* Update global time of day */ 92 | rdtod() 93 | { 94 | tod.t_time = (20>>1) | (20<<5) | (12<<11); 95 | tod.t_date = 19 | (04<<5) | (92<<9); 96 | } 97 | 98 | 99 | 100 | /* This prints an error message and dies. */ 101 | 102 | panic(s) 103 | char *s; 104 | { 105 | inint = 1; 106 | printf("PANIC: %s\n",s); 107 | idump(); 108 | _exit(); 109 | } 110 | 111 | 112 | warning(s) 113 | char *s; 114 | { 115 | printf("WARNING: %s\n",s); 116 | } 117 | 118 | 119 | 120 | 121 | 122 | idump() 123 | { 124 | inoptr ip; 125 | ptptr pp; 126 | extern struct cinode i_tab[]; 127 | bufptr j; 128 | 129 | printf( 130 | " MAGIC DEV NUM MODE NLINK (DEV) REFS DIRTY err %d root %d\n", 131 | udata.u_error, root - i_tab); 132 | 133 | for (ip=i_tab; ip < i_tab+ITABSIZE; ++ip) 134 | { 135 | printf("%d %d %d %u 0%o %d %d %d %d\n", 136 | ip-i_tab, ip->c_magic,ip->c_dev, ip->c_num, 137 | ip->c_node.i_mode,ip->c_node.i_nlink,ip->c_node.i_addr[0], 138 | ip->c_refs,ip->c_dirty); 139 | ifnot (ip->c_magic) 140 | break; 141 | } 142 | 143 | printf("\n STAT WAIT PID PPTR ALARM PENDING IGNORED\n"); 144 | for (pp=ptab; pp < ptab+PTABSIZE; ++pp) 145 | { 146 | printf("%d %d 0x%x %d %d %d 0x%x 0x%x\n", 147 | pp-ptab, pp->p_status, pp->p_wait, pp->p_pid, 148 | pp->p_pptr-ptab, pp->p_alarm, pp->p_pending, 149 | pp->p_ignored); 150 | ifnot(pp->p_pptr) 151 | break; 152 | } 153 | 154 | printf("\ndev blk drty bsy\n"); 155 | for (j=bufpool; j < bufpool+NBUFS; ++j) 156 | printf("%d %u %d %d\n",j->bf_dev,j->bf_blk,j->bf_dirty,j->bf_busy); 157 | 158 | printf("\ninsys %d ptab %d call %d cwd %d sp 0x%x\n", 159 | udata.u_insys,udata.u_ptab-ptab, udata.u_callno, udata.u_cwd-i_tab, 160 | udata.u_ssp); 161 | } 162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /system/uzi280-xutils/XMACHDEP.OBJ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/uzi280-xutils/XMACHDEP.OBJ -------------------------------------------------------------------------------- /system/uzi280-xutils/XUTILS.SUB: -------------------------------------------------------------------------------- 1 | c280 -c -of2 ideconf.c 2 | ; 3 | c280 -c -of2 mkfs.c 4 | ; 5 | ; (fsck has a missing _da_read error) 6 | ;c280 -c -of2 fsck.c 7 | c280 -c -of2 fsck2.c 8 | ; 9 | lkxutil mkfs 10 | ;lkxutil fsck 11 | lkxutil fsck2 12 | lkxutil ucp 13 | -------------------------------------------------------------------------------- /system/zpm3/ZPM3S.ARC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/zpm3/ZPM3S.ARC -------------------------------------------------------------------------------- /system/zzmon/LOADNGO.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/zzmon/LOADNGO.BIN -------------------------------------------------------------------------------- /system/zzmon/LOADNGO.RUN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/system/zzmon/LOADNGO.RUN -------------------------------------------------------------------------------- /utilities/DEVICE.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/DEVICE.COM -------------------------------------------------------------------------------- /utilities/DU-V88.LBR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/DU-V88.LBR -------------------------------------------------------------------------------- /utilities/DU.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/DU.COM -------------------------------------------------------------------------------- /utilities/HELP.HLP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/HELP.HLP -------------------------------------------------------------------------------- /utilities/KERMIT.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/KERMIT.COM -------------------------------------------------------------------------------- /utilities/NULU.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/NULU.COM -------------------------------------------------------------------------------- /utilities/RELHEX11.DOC: -------------------------------------------------------------------------------- 1 | 2 | 3 | RELHEX 4 | 5 | 6 | AUDIENCE: 7 | 8 | People who have M80 or RMAC but who do not have MAC 9 | 10 | 11 | FUNCTION: 12 | 13 | Converts a .REL file to a .HEX file without filling in 14 | unspecified regions with 0's (as L80 does). Thus the .HEX file 15 | may be used as a patch overlay file in conjunction with DDT. 16 | 17 | 18 | ADVANTAGES OVER OTHER PUBLIC DOMAIN VERSION: 19 | 20 | There is another public domain version of RELHEX which is 21 | based upon READREL. This version has the following advantages 22 | over that one: 23 | 24 | 1. Works in conjunction with RMAC. The other version fails 25 | when RMAC declares a program (CSEG) size, even though the 26 | declared size is zero. Note that M80 does not declare a program 27 | (CSEG) size if the size is zero. 28 | 29 | 2. Much smaller than the other version. 30 | 31 | 3. Much faster than the other version. 32 | 33 | 34 | RESTRICTIONS: 35 | 36 | 1. An ASEG directive must be placed in the source file before 37 | the first ORG directive. If there is no ORG then place the ASEG 38 | before the first code-generating instruction. 39 | 40 | 2. RELHEX is not a linker. All code and data in the source file 41 | must be in ASEG and there may not be any PUBLIC or EXTERN 42 | directives. 43 | 44 | 45 | 46 | Carl Mascott 47 | December 6, 1984 48 | -------------------------------------------------------------------------------- /utilities/RELHEX12.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/RELHEX12.COM -------------------------------------------------------------------------------- /utilities/RESET.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/RESET.COM -------------------------------------------------------------------------------- /utilities/TIME.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/TIME.COM -------------------------------------------------------------------------------- /utilities/TIME.LBR: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/TIME.LBR -------------------------------------------------------------------------------- /utilities/XM29Z280.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/XM29Z280.COM -------------------------------------------------------------------------------- /utilities/XMBLD.SUB: -------------------------------------------------------------------------------- 1 | ; Build XMZ280 (XMODEM for the Z280RC) 2 | zsm4 xmz280,xmz280=xm27z280/dZ280RC 3 | link xmz280 4 | -------------------------------------------------------------------------------- /utilities/XMZ280.COM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/XMZ280.COM -------------------------------------------------------------------------------- /utilities/XMZ280RC.CFG: -------------------------------------------------------------------------------- 1 | ;Z280RC console UART default settings for XMZ280 (the special 2 | ; version of XMODEM27 built from XM27Z280.MAC). 3 | ; 4 | ; When XM27Z280.MAC is assembled with ZSM4 =XM27Z280/dZ280RC 5 | ; built-in routines to access the Z280 console UART are 6 | ; preloaded in the I/O patch area. Use /X3 to select these 7 | ; routines. 8 | ; 9 | /MUsing Z280RC console UART via direct I/O patch 10 | /C 11 | /X3 12 | /Z9 13 | /Q 14 |  -------------------------------------------------------------------------------- /utilities/diskdefs-z280rc-swab: -------------------------------------------------------------------------------- 1 | #AGN - Z280RC definitions 2 | # 3 | # Note: The bytes from the CompactFlash image 4 | # need to be swapped when transferring to/from 5 | # the physical media for the Z280RC. 6 | # 7 | # Do this using the dd command's conv=swab option. 8 | # 9 | # For example (assumes /dev/sda is the CompactFlash drive) 10 | # copying just the first 64MB (8 partitions of 8MB each) - 11 | # 12 | # sudo dd if=/dev/sda of=z280rc-cf.img bs=512 count=131072 conv=swab 13 | # 14 | # will copy the drive to an image in the file z280rc-cf.img 15 | # 16 | # To write it back to CompactFlash use - 17 | # 18 | # sudo dd if=z280rc-cf.img of=/dev/sda bs=512 count=131072 conv=swab 19 | # 20 | 21 | # Z280RC - partition A: 22 | # Reserved track contains the boot loader, ZZMON, CP/M 2 image, CPMLDR 23 | diskdef z280rc-a 24 | seclen 512 25 | tracks 63 26 | sectrk 256 27 | blocksize 4096 28 | maxdir 512 29 | skew 0 30 | boottrk 1 31 | os 3 32 | end 33 | 34 | # Z280RC - partition B: 35 | diskdef z280rc-b 36 | seclen 512 37 | tracks 63 38 | sectrk 256 39 | blocksize 4096 40 | maxdir 512 41 | skew 0 42 | boottrk 0 43 | os 2.2 44 | offset 64trk 45 | end 46 | 47 | # Z280RC - partition C: 48 | diskdef z280rc-c 49 | seclen 512 50 | tracks 63 51 | sectrk 256 52 | blocksize 4096 53 | maxdir 512 54 | skew 0 55 | boottrk 0 56 | os 3 57 | offset 128trk 58 | end 59 | 60 | # Z280RC - partition D: 61 | diskdef z280rc-d 62 | seclen 512 63 | tracks 63 64 | sectrk 256 65 | blocksize 4096 66 | maxdir 512 67 | skew 0 68 | boottrk 0 69 | os 3 70 | offset 192trk 71 | end 72 | 73 | # These are the four additional partitions for PARTN8 under CP/M Plus 74 | # with USE$BIG$DRM defined for 2048 directory entries 75 | # 76 | # Z280RC - partition E: 77 | diskdef z280rc-e 78 | seclen 512 79 | tracks 63 80 | sectrk 256 81 | blocksize 4096 82 | maxdir 2048 83 | skew 0 84 | boottrk 0 85 | os 3 86 | offset 256trk 87 | end 88 | 89 | # Z280RC - partition F: 90 | diskdef z280rc-f 91 | seclen 512 92 | tracks 63 93 | sectrk 256 94 | blocksize 4096 95 | maxdir 2048 96 | skew 0 97 | boottrk 0 98 | os 3 99 | offset 320trk 100 | end 101 | 102 | # Z280RC - partition G: 103 | diskdef z280rc-g 104 | seclen 512 105 | tracks 63 106 | sectrk 256 107 | blocksize 4096 108 | maxdir 2048 109 | skew 0 110 | boottrk 0 111 | os 3 112 | offset 384trk 113 | end 114 | 115 | # Z280RC - partition H: 116 | diskdef z280rc-h 117 | seclen 512 118 | tracks 63 119 | sectrk 256 120 | blocksize 4096 121 | maxdir 2048 122 | skew 0 123 | boottrk 0 124 | os 3 125 | offset 448trk 126 | end 127 | 128 | #end of Z280RC definitions 129 | -------------------------------------------------------------------------------- /utilities/diskdefs-z280rc-swab-BIG: -------------------------------------------------------------------------------- 1 | #AGN - Z280RC-BIG definitions (for the BIG 2048 directory entry partitions) 2 | # 3 | # Note: The bytes from the CompactFlash image 4 | # need to be swapped when transferring to/from 5 | # the physical media for the Z280RC. 6 | # 7 | # Do this using the dd command's conv=swab option. 8 | # 9 | # For example (assumes /dev/sda is the CompactFlash drive) 10 | # copying just the first 64MB (8 partitions of 8MB each) - 11 | # 12 | # sudo dd if=/dev/sda of=z280rc-cf.img bs=512 count=131072 conv=swab 13 | # 14 | # will copy the drive to an image in the file z280rc-cf.img 15 | # 16 | # To write it back to CompactFlash use - 17 | # 18 | # sudo dd if=z280rc-cf.img of=/dev/sda bs=512 count=131072 conv=swab 19 | # 20 | 21 | # Z280RC - partition A: 22 | # Reserved track contains the boot loader, ZZMON, CP/M 2 image, CPMLDR 23 | diskdef z280rc-a-BIG 24 | seclen 512 25 | tracks 64 26 | sectrk 256 27 | blocksize 4096 28 | maxdir 2048 29 | skew 0 30 | boottrk 1 31 | os 3 32 | end 33 | 34 | # Z280RC - partition B: 35 | diskdef z280rc-b-BIG 36 | seclen 512 37 | tracks 64 38 | sectrk 256 39 | blocksize 4096 40 | maxdir 2048 41 | skew 0 42 | boottrk 0 43 | os 2.2 44 | offset 64trk 45 | end 46 | 47 | # Z280RC - partition C: 48 | diskdef z280rc-c-BIG 49 | seclen 512 50 | tracks 64 51 | sectrk 256 52 | blocksize 4096 53 | maxdir 2048 54 | skew 0 55 | boottrk 0 56 | os 3 57 | offset 128trk 58 | end 59 | 60 | # Z280RC - partition D: 61 | diskdef z280rc-d-BIG 62 | seclen 512 63 | tracks 64 64 | sectrk 256 65 | blocksize 4096 66 | maxdir 2048 67 | skew 0 68 | boottrk 0 69 | os 3 70 | offset 192trk 71 | end 72 | 73 | # These are the four additional partitions for PARTN8 under CP/M Plus 74 | # with USE$BIG$DRM defined for 2048 directory entries 75 | # 76 | # Z280RC - partition E: 77 | diskdef z280rc-e-BIG 78 | seclen 512 79 | tracks 64 80 | sectrk 256 81 | blocksize 4096 82 | maxdir 2048 83 | skew 0 84 | boottrk 0 85 | os 3 86 | offset 256trk 87 | end 88 | 89 | # Z280RC - partition F: 90 | diskdef z280rc-f-BIG 91 | seclen 512 92 | tracks 64 93 | sectrk 256 94 | blocksize 4096 95 | maxdir 2048 96 | skew 0 97 | boottrk 0 98 | os 3 99 | offset 320trk 100 | end 101 | 102 | # Z280RC - partition G: 103 | diskdef z280rc-g-BIG 104 | seclen 512 105 | tracks 64 106 | sectrk 256 107 | blocksize 4096 108 | maxdir 2048 109 | skew 0 110 | boottrk 0 111 | os 3 112 | offset 384trk 113 | end 114 | 115 | # Z280RC - partition H: 116 | diskdef z280rc-h-BIG 117 | seclen 512 118 | tracks 64 119 | sectrk 256 120 | blocksize 4096 121 | maxdir 2048 122 | skew 0 123 | boottrk 0 124 | os 3 125 | offset 448trk 126 | end 127 | 128 | #end of Z280RC-BIG definitions 129 | -------------------------------------------------------------------------------- /utilities/relhex11.lbr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/relhex11.lbr -------------------------------------------------------------------------------- /utilities/xm27z280.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/xm27z280.zip -------------------------------------------------------------------------------- /utilities/xm29z280.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agn453/Z280RC/62dc854b802a588313880b6b907183367be0a520/utilities/xm29z280.zip --------------------------------------------------------------------------------