|
|
|
Re: Interested in a Z280 SBC [message #5530 is a reply to message #5518] |
Thu, 15 November 2018 17:10   |
geowar1
Messages: 41 Registered: October 2018
|
Member |
|
|
I wasn't aware that DU had a CP/M Plus version... not to say you couldn't boot into CP/M 2.2 to do what you did...
OTOH I did find the source to ZAP modified to work on CP/M Plus... except that it had a bug where he didn't handle more than 127 sectors per track (and z280rz uses 256 spt).
If you're interested I can post it (w/sources).
Next I want to write a "mount" command that can change the system track offsets on any but the boot drive so I can remap any logical drive (except A:) to any (64 track) partition on the CF card.
Note: while playing with your BIOS (and rebuilding, and rebuilding, and... I decided to write a "IFNT" tool. Sets the CP/M Plus BDOS FUNCTION 108: GET/SET PROGRAM RETURN CODE appropriately based on relative file update time(stamps).
So your BANKBIOS.SUB script can do things like this:
ifnt scb.mac scb.rel
:ZSM4 SCB,SCB=SCB/s8/u
ifnt bioskrnl.mac bioskrnl.rel
:ZSM4 BIOSKRNL,BIOSKRNL=BIOSKRNL/s8/u
ifnt idehd.mac idehd.rel
:ZSM4 IDEHD,IDEHD=IDEHD/s8/u
ifnt ramdisk.mac ramdisk.rel
:ZSM4 RAMDISK,RAMDISK=RAMDISK/s8/u
ifnt clock.mac clock.rel
:ZSM4 CLOCK,CLOCK=CLOCK/s8/u
ifnt chario.mac chario.rel
:ZSM4 CHARIO,CHARIO=CHARIO/s8/u
ifnt biosdbg.mac biosdbg.rel
:ZSM4 BIOSDBG,BIOSDBG=BIOSDBG/s8/u
ifnt BIOSKRNL.rel,BIOSDBG.rel,CHARIO.rel,CLOCK.rel,SCB.rel,RAMDISK.rel,IDEHD.rel BNKBIOS3.spr
:LINK BNKBIOS3[B]=BIOSKRNL,BIOSDBG,CHARIO,CLOCK,SCB,RAMDISK,IDEHD
Works pretty well... (except that CP/M Plus time stamps only have one minute resolution... so sometimes something that's "newer" actually has the same date...]
Why didn't they use "seconds since 1977" instead of "days since 1977 plus hh:mm"? (no 32-bit divide? That would have lasted 136 years (or 116 years longer than CP/M did). As-is the file stamps are good for ≈179 years... but no seconds. 
|
|
|
|
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5537 is a reply to message #5526] |
Fri, 16 November 2018 01:25   |
hperaza
Messages: 68 Registered: March 2017
|
Member |
|
|
agn453 wrote on Thu, 15 November 2018 13:45Having thought about this again I've elected to use 2048 directory entries. Going higher would mean I'd need to use a block size of 8192 (BLS) and I'd rather stick with 4096 so the small files aren't chewing up a bigger allocation.
You're right! Just checked the P112 BIOS and I can see I settled on 2048 entries as well probably for the same reason.
Quote:Yet another aside - I noticed reference to RSX180 in your ZSM4 distribution. A DuckDuckGo search seems to only have a reference to your P112 site for a disk image (for the P112). Is this the PDP-11 RSX system migrated to a Z180? Over 40 years ago (around the time I was getting into microcomputers) I spent too much time after work hours tinkering on RSX-11M. Is the source code available? If you'd rather respond privately - use Tony dot Nicholson at computer dot org to reach me.
It is a system written from scratch, originally for the 8080. The design and look-and-feel morphed a few times before ending up like RSX-11M (my favorite OS of that era).
The few people who are testing the system also download ZSM4 from this forum, thus the task image file is now being included in the package. I'm working on a native UZI180 version of ZSM4 as well, with unix-style option switches, but because the assembler runs nicely under the embedded CP/M emulator it didn't get high priority.
As RSX180 is a bit off-topic here (except perhaps that a Z280 version is in progress), I'll give you more details via PM.
[Updated on: Fri, 16 November 2018 03:17] by Moderator Report message to a moderator
|
|
|
|
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5632 is a reply to message #5547] |
Wed, 28 November 2018 22:23   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
Some more tinkering today with my CP/M-Plus BIOS for the Z280RC.
I've rearranged the memory mapping for a banked system so that the transient program area and common memory area are contiguous - see the commentary in the BIOSKRNL.MAC source file.
This means that the DMA and MMU options for memory moves between banks both now work correctly.
I've also tweaked common memory usage to give a 61KB TPA (Banked system with eight 8MB drives and RamDisk) and replaced Bill's CP/M loader with my LDRBIOS version.
I still need some more TPA to compile one of the larger UZI280 modules though...
TinyZZ Monitor v0.99 6/9/18
>boot CP/M
1--User Apps,
2--CP/M2.2,
3--CP/M3: 3 press Return to execute command
Z280RC CP/M 3 Loader 29-Nov-2018
Built with Cache Cont.-DMA
CompactFlash A:
CPMLDR3 - CP/M V3.0 Loader
Copyright (C) 1982, Digital Research
RESBIOS3 SPR FA00 0600
BNKBIOS3 SPR B600 2A00
RESBDOS3 SPR F400 0600
BNKBDOS3 SPR 8800 2E00
61K TPA
Z280RC Banked BIOS 29-Nov-2018
Built with Cache MOVE-w/DMA BigDirE-H Cont.-DMA Alloc-CSV
Drives CompactFlash A:..H: RamDisk M:
C>; C:PROFILE.SUB
C>a:setdef * d: h: a: [order=(com,sub) display page uk]
You can fetch the lastest sources from https://github.com/agn453/Z280RC
There's a ZIP file link in the description README.md that will fetch only the files for my bios280 and not the whole GitHub repository.
Tony
--
Tony Nicholson
[Updated on: Thu, 29 November 2018 03:35] Report message to a moderator
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5644 is a reply to message #5640] |
Thu, 29 November 2018 15:29   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
stefan_n wrote on Fri, 30 November 2018 03:29Alternatively you can split the file in question. I had to do that with some files even with a 62K TPA.
I've already tried this Stefan.
I extracted the execve routine from scall2.c into a file all by itself (with appropriate header includes). HiTech C's OPTIM can't cope -
E>c280 -v -c -o2 scall4.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: SCALL4.C E:$CTMP1.$$$
0:A:P1 E:$CTMP1.$$$ E:$CTMP2.$$$ E:$CTMP3.$$$
SCALL4.C: _execve()
134: p = find_zombie2();
^ illegal conversion of integer to pointer (warning)
^ find_zombie2() declared implicit int (warning)
214: datalen = dataptr;
^ illegal conversion of pointer to integer (warning)
310: p=make_zombie();
^ illegal conversion of integer to pointer (warning)
^ make_zombie() declared implicit int (warning)
347: doexec((int16 *)(ub.u_d.u_isp = nenvp - 2));
illegal conversion between pointer types ^ (warning)
0:A:CGEN E:$CTMP2.$$$ E:$CTMP1.$$$
0:A:OPTIM E:$CTMP1.$$$ E:$CTMP2.$$$
optim: Out of memory in __execve
ERA E:$CTMP1.$$$
ERA E:$CTMP2.$$$
ERA E:$CTMP3.$$$
ERA E:$$EXEC.$$$
E>
I tried using the RunCPM emulator with a 64K TPA on my Mac mini and it just spins cpu (perhaps there's Z280 code in the C280 compiler or OPTIMH parts of HiTech C for the Z280 that the emulator can't cope with).
Tony
--
Tony Nicholson
[Updated on: Thu, 29 November 2018 15:30] Report message to a moderator
|
|
|
|
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5665 is a reply to message #5653] |
Fri, 30 November 2018 14:35   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
stefan_n wrote on Sat, 01 December 2018 00:50agn453 wrote on Thu, 29 November 2018 16:42
I'm using an updated version of HiTech C V3.09A from Tesseract Volume 91 (a release compiled by Jon Saxton in May 2014 ...
Thats interesting. Does it mean the sources still exist and Jon has access to them? I was told by HiTech, a long time ago, that the sources for the Z80 compiler got lost.
I've just confirmed the HiTech C binaries for the core Z80 compiler bits (CGEN.COM, CPP.COM, CREF.COM, DEBUG.COM, LIBR.COM, LIN[KQ].COM, OPTIM.COM, P1.COM and ZAS.COM) are identical for the original released V3.09 (taken from my WalnutCreek CD-ROM copy of the SIMTEL archive) and Tesseract versions. The main changes are with the library routines (for which source-code is provided).
Unfortunately Jon Saxton died from cancer back in June 2015. His son is maintaining the Tesseract triton web site at http://www.triton.vg/TesseractRCPM+Catalog.html but sadly various mirrors etc are being lost from the Internet as time passes.
Tony
--
Tony Nicholson
[Updated on: Fri, 30 November 2018 14:38] Report message to a moderator
|
|
|
Re: Interested in a Z280 SBC [message #5745 is a reply to message #5665] |
Sat, 15 December 2018 05:23   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
It's late at night here in Australia - but I've just managed to boot up UZI280 on Bill Shen's Z280RC board.
E>bootuzi
E:BOOTUZI COM
UZI280 is (c) Copyright (1990-96) by Stefan Nitschke and Doug Braun
boot: 0
init: /usr/adm/wtmp: Bad file number
UZI280 version 1.12
login: root
%ls -la
total 12
rwxrwxrwx 9 root 512 Apr 19 1992 ./
rwxrwxrwx 9 root 512 Apr 19 1992 ../
rwxrwxrwx 2 root 512 Apr 19 1992 Tapes/
rwxrwxrwx 2 root 512 Apr 19 1992 bin/
rwxrwxrwx 2 root 512 Apr 19 1992 dev/
rwxrwxrwx 2 root 512 Apr 19 1992 etc/
rwxr-xr-x 1 root 9088 Apr 19 1992 init*
rwxrwxrwx 2 root 512 Apr 19 1992 usr/
%cd bin
%ls -la
total 260
rwxrwxrwx 2 root 512 Apr 19 1992 ./
rwxrwxrwx 9 root 512 Apr 19 1992 ../
rwxr-xr-x 1 root 83200 Apr 19 1992 clam*
rwxr-xr-x 1 root 8704 Apr 19 1992 kill*
rwxr-xr-x 1 root 10880 Apr 19 1992 ln*
rwxr-xr-x 1 root 9728 Apr 19 1992 login*
rwxr-xr-x 1 root 16512 Apr 19 1992 ls*
rwxr-xr-x 1 root 8064 Apr 19 1992 mkdir*
rwxr-xr-x 1 root 8192 Apr 19 1992 mount*
rwxr-xr-x 1 root 9600 Apr 19 1992 ps*
rwxr-xr-x 1 root 10752 Apr 19 1992 rm*
rwxr-xr-x 1 root 8576 Apr 19 1992 rmdir*
rwxr-xr-x 1 root 4736 Apr 19 1992 setuart*
rwxr-xr-x 1 root 31104 Apr 19 1992 sh*
rwxr-xr-x 1 root 768 Apr 19 1992 sync*
rwxr-xr-x 1 root 30080 Apr 19 1992 tar*
rwxr-xr-x 1 root 4224 Apr 19 1992 touch*
rwxr-xr-x 1 root 5888 Apr 19 1992 umount*
rwxr-xr-x 1 root 14592 Apr 19 1992 uncompress*
%cd ..
%mkdir /tmp
%cd /tmp
%ls -la >t.tmp
%ls -la
total 1
rwxrwxrwx 2 root 512 Dec 11 23:59:58 ./
rwxrwxrwx 10 root 512 Dec 11 23:59:58 ../
rw-rw-rw- 1 root 165 Dec 11 23:59:58 t.tmp
%sync
%sync
%sync
There's still a lot of polishing to do - and loading of additional binaries etc.
You'll find my modified source-code up now on my GitHub repository at https://github.com/agn453/Z280RC
Look in the system/uzi280-kernel and system/uzi280-xutils folder where you'll find UZIKERNL.LBR and UZIXUTIL.LBR libraries containing the sources (that you can XMODEM download and extract with a CP/M library utility like NULU.COM).
Here's a build log and boot transcript... Enjoy!
Tony
E>date
A:DATE COM
Sat 15/12/2018 22:17:28
E>make
E:MAKE COM
c280 -v -c data.c
c280 -v -c -o2 machdep.c
c280 -v -c machasm.c
c280 -v -c newuput.c
c280 -v -c -o2 process.c
c280 -v -c procasm.c
c280 -v -c -o2 filesys.c
c280 -v -c -o2 scall1.c
c280 -v -c -o2 scall2.c
c280 -v -c -o2 scall3.c
c280 -v -c scall4.c
c280 -v -c -o2 cache.c
c280 -v -c cachasm.c
c280 -v -c -o2 devflop.c
c280 -v -c -o2 devio.c
c280 -v -c -o2 devmisc.c
c280 -v -c -o2 devtty.c
c280 -v -c devttyas.c
c280 -v -c -o2 devwd.c
c280 -v -c idecf.as
c280 -v -c -o2 ideconf.c
c280 -v -c start.c
c280 -v -c bcopy.c
c280 -v -c bzero.c
c280 -v -c outin.c
c280 -v -c asar.as
c280 -v -c asdiv.as
c280 -v -c wrelop.as
c280 -v -c idiv.as
c280 -v -c imul.as
c280 -v -c shar.as
c280 -v -c shll.as
c280 -v -c shlr.as
c280 -v -c csv.as
c280 -v -c -o2 kprintf.c
c280 -v -c -o2 itob.c
mklib.sub
lkuzi.sub
lk2m80.sub
E:MAKE@@@ SUB
A:SUBMIT COM
E>c280 -v -c data.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: DATA.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oDATA.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 machdep.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: MACHDEP.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
MACHDEP.C: main()
60: ptab_pointer = ptab;
^ illegal conversion of pointer to integer (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
224 bytes optimized away
554 bytes replaced
0:A:ZAS -J -N -oMACHDEP.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c machasm.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: MACHASM.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oMACHASM.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c newuput.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: NEWUPUT.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oNEWUPUT.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 process.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: PROCESS.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
PROCESS.C: init2()
85: if (d_open( 13 ) != 0)
d_open() declared implicit int ^ (warning)
96: if (fmount(ROOTDEV,((inoptr)0)))
fmount() declared implicit int ^ (warning)
104: for (k=ub.u_d.u_page; k < (ub.u_d.u_page+16); ++k)
^ illegal conversion between pointer types (warning)
operands of < not same pointer type ^ (warning)
105: *k = ((pg_descr *)0) ;
^ illegal conversion of pointer to integer (warning)
120: }
^ unused variable declaration: n_open (warning)
PROCESS.C: psleep()
153: }
^ unused variable definition: dummy (warning)
PROCESS.C: ptab_alloc()
311: if ((p->p_ublk = zerobuf())==0 )
^ illegal conversion of integer to pointer (warning)
^ zerobuf() declared implicit int (warning)
315: }
^ unused variable definition: i (warning)
PROCESS.C: clkint2()
395: }
^ unused variable declaration: in_cawrite (warning)
PROCESS.C: unix2()
483: ub.u_d.u_usp = usp();
^ illegal conversion of integer to pointer (warning)
^ usp() declared implicit int (warning)
487: ub.u_d.u_argn3 = ugetw(ub.u_d.u_usp+4);
ugetw() declared implicit int ^ (warning)
492: ub.u_d.u_retloc = ugetw(ub.u_d.u_usp);
^ illegal conversion of integer to pointer (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
109 bytes optimized away
266 bytes replaced
0:A:ZAS -J -N -oPROCESS.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c procasm.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: PROCASM.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
PROCASM.C: swapout()
96: ub.u_d.u_usp = usp();
^ illegal conversion of integer to pointer (warning)
^ usp() declared implicit int (warning)
PROCASM.C: dofork()
266: ub.u_d.u_usp = usp();
^ illegal conversion of integer to pointer (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oPROCASM.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 filesys.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: FILESYS.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
FILESYS.C: newfile()
515: if ((getperm(pino) & 0002)==0 )
^ getperm() declared implicit int (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
741 bytes optimized away
1602 bytes replaced
0:A:ZAS -J -N -oFILESYS.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 scall1.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: SCALL1.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
SCALL1.C: _link()
344: if(!(getperm(ino) & 0002) && !super())
^ getperm() declared implicit int (warning)
391: }
^ unused variable declaration: getmode (warning)
SCALL1.C: _unlink()
462: }
^ unused variable declaration: getmode (warning)
SCALL1.C: readi()
592: (ino->c_node.i_size.o_offset-ub.u_d.u_offset.o_offset));
min() declared implicit int ^ (warning)
scall1b.c: _mknod()
117: }
^ unused label: nogood2 (warning)
^ unused variable declaration: super (warning)
scall1b.c: _utime()
323: if (ino->c_node.i_uid != ub.u_d.u_euid && !super())
super() declared implicit int ^ (warning)
scall1b.c: _umount()
727: }
^ unused variable declaration: in_casync (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
562 bytes optimized away
1226 bytes replaced
0:A:ZAS -J -N -oSCALL1.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 scall2.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: SCALL2.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
SCALL2.C: wargs()
176: while (ptr = ugetw(argv++))
^ illegal conversion of integer to pointer (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
273 bytes optimized away
650 bytes replaced
0:A:ZAS -J -N -oSCALL2.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 scall3.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: SCALL3.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
SCALL3.C: _signal()
233: retval = ub.u_d.u_sigvec[(int16)ub.u_d.u_argn1];
illegal conversion of pointer to integer ^ (warning)
SCALL3.C: _kill()
279: if (ub.u_d.u_ptab->p_uid == p->p_uid || super() )
super() declared implicit int ^ (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
92 bytes optimized away
210 bytes replaced
0:A:ZAS -J -N -oSCALL3.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c scall4.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: SCALL4.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
SCALL4.C: _execve()
137: p = find_zombie2();
^ illegal conversion of integer to pointer (warning)
^ find_zombie2() declared implicit int (warning)
217: datalen = dataptr;
^ illegal conversion of pointer to integer (warning)
313: p=make_zombie();
^ illegal conversion of integer to pointer (warning)
^ make_zombie() declared implicit int (warning)
350: doexec((int16 *)(ub.u_d.u_isp = nenvp - 2));
illegal conversion between pointer types ^ (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oSCALL4.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 cache.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: CACHE.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
44 bytes optimized away
90 bytes replaced
0:A:ZAS -J -N -oCACHE.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c cachasm.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: CACHASM.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oCACHASM.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 devflop.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: DEVFLOP.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
0 bytes optimized away
0 bytes replaced
0:A:ZAS -J -N -oDEVFLOP.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 devio.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: DEVIO.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
DEVIO.C: bread()
90: if (bdread(bp) == -1)
^ bdread() declared implicit int (warning)
DEVIO.C: bfree()
128: if (bdwrite(bp) == -1)
^ bdwrite() declared implicit int (warning)
DEVIO.C: freebuf()
230: }
^ unused variable definition: i (warning)
DEVIO.C: bdread()
270: if ((validdev(bp->bf_dev))==0 )
validdev() declared implicit int ^ (warning)
DEVIO.C: pageread()
311: swapbase = page;
^ illegal conversion of integer to pointer (warning)
DEVIO.C: pagewrite()
327: swapbase = page;
^ illegal conversion of integer to pointer (warning)
DEVIO.C: insq()
421: oldspl = spl(0);
^ spl() declared implicit int (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
290 bytes optimized away
578 bytes replaced
0:A:ZAS -J -N -oDEVIO.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 devmisc.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: DEVMISC.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
14 bytes optimized away
28 bytes replaced
0:A:ZAS -J -N -oDEVMISC.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 devtty.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: DEVTTY.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
DEVTTY.C:
146: char *dflt_mode = 0006000| 0000020|0000010| 0000000;
illegal conversion of integer to pointer ^ (warning)
DEVTTY.C: tty_read()
258: if (remq(&ttyinq[minor],&c))
remq() declared implicit int ^ (warning)
DEVTTY.C: tty_write()
342: c = ugetc(ub.u_d.u_base);
ugetc() declared implicit int ^ (warning)
DEVTTY.C: tty_open()
420: }
^ unused variable definition: j (warning)
DEVTTY.C: tty_close()
443: }
^ unused variable definition: j (warning)
DEVTTY.C: tty_ioctl()
500: break;
^ Unreachable code (warning)
DEVTTY.C: tinproc()
528: if (c == 0x1b && td->t_flags == dflt_mode)
operands of == not same type ^ (warning)
558: if (uninsq(&ttyinq[minor],&oc))
uninsq() declared implicit int ^ (warning)
646: if (insq(&ttyinq[minor],c))
insq() declared implicit int ^ (warning)
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
280 bytes optimized away
602 bytes replaced
0:A:ZAS -J -N -oDEVTTY.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c devttyas.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: DEVTTYAS.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oDEVTTYAS.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 devwd.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: DEVWD.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
24 bytes optimized away
50 bytes replaced
0:A:ZAS -J -N -oDEVWD.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c idecf.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OIDECF.OBJ IDECF.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 ideconf.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: IDECONF.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
0 bytes optimized away
0 bytes replaced
0:A:ZAS -J -N -oIDECONF.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c start.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: START.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oSTART.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c bcopy.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: BCOPY.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oBCOPY.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c bzero.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: BZERO.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oBZERO.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c outin.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: OUTIN.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:ZAS -N -oOUTIN.OBJ M:$CTMP1.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c asar.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OASAR.OBJ ASAR.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c asdiv.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OASDIV.OBJ ASDIV.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c wrelop.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OWRELOP.OBJ WRELOP.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c idiv.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OIDIV.OBJ IDIV.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c imul.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OIMUL.OBJ IMUL.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c shar.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OSHAR.OBJ SHAR.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c shll.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OSHLL.OBJ SHLL.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c shlr.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OSHLR.OBJ SHLR.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c csv.as
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:ZAS -OCSV.OBJ CSV.AS
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 kprintf.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: KPRINTF.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
33 bytes optimized away
64 bytes replaced
0:A:ZAS -J -N -oKPRINTF.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>c280 -v -c -o2 itob.c
E:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0:A:CPP -DCPM -DHI_TECH_C -Dz80 -I0:A: ITOB.C M:$CTMP1.$$$
0:A:P1 M:$CTMP1.$$$ M:$CTMP2.$$$ M:$CTMP3.$$$
0:A:CGEN M:$CTMP2.$$$ M:$CTMP1.$$$
0:A:OPTIM M:$CTMP1.$$$ M:$CTMP2.$$$
0:A:OPTIMH M:$CTMP2.$$$ M:$CTMP3.$$$
35 bytes optimized away
82 bytes replaced
0:A:ZAS -J -N -oITOB.OBJ M:$CTMP3.$$$
ERA M:$CTMP1.$$$
ERA M:$CTMP2.$$$
ERA M:$CTMP3.$$$
ERA M:$$EXEC.$$$
E>mklib.sub
E:MKLIB SUB
A:SUBMIT COM
E>era runtime.lib
E>libr r runtime.lib bcopy.obj bzero.obj outin.obj
A:LIBR COM
E>libr r runtime.lib kprintf.obj itob.obj asar.obj asdiv.obj wrelop.obj
A:LIBR COM
E>libr r runtime.lib idiv.obj imul.obj shar.obj shll.obj shlr.obj csv.obj
A:LIBR COM
E>lkuzi.sub
E:LKUZI SUB
A:SUBMIT COM
E>; Link new object library to UZI280.OBJ
E>era uzi280.obj
No File
E>; LINQ is the HiTech C V3.09 link program (renamed to keep
E>; the DigitalResearch linker LINK.COM on the system drive)
E>a:linq
A:LINQ COM
link> -r -ouzi280.obj \
link> data.obj machasm.obj machdep.obj filesys.obj process.obj procasm.obj \
link> scall1.obj scall2.obj scall3.obj scall4.obj \
link> devtty.obj devttyas.obj \
link> devio.obj devflop.obj devmisc.obj devwd.obj idecf.obj \
link> cache.obj cachasm.obj newuput.obj \
link> runtime.lib
E>lk2m80.sub
E:LK2M80 SUB
A:SUBMIT COM
E>; Link UZI280 core image with IDE parameters
E>a:linq
A:LINQ COM
link> -munix.sym -n -pdata=0,text,bss -ounix.cim -c000 \
link> uzi280.obj ideconf.obj \
link> start.obj
E>era MAKE@@@.SUB
E>
E>; Now the CP/M Utilities
E>F:
F>make
F:MAKE COM
c280 -c -of2 devio.c
c280 -c -of2 xdevtty.c
c280 -c -of2 xdevwd.c
c280 -c -of2 xdevflo.c
c280 -c -of2 xdevmisc.c
c280 -c -of2 xmachdep.c
c280 -c -of2 data.c
c280 -c -of2 xfs1.c
c280 -c -of2 xfs2.c
c280 -c -of2 bcopy.c
c280 -c -of2 bzero.c
c280 -c -of2 spl.c
c280 -c -of2 itob.c
c280 -c -of2 uput.c
c280 -c idecf.as
c280 -c -of2 bios.c
mkxlib.sub
F:MAKE@@@ SUB
A:SUBMIT COM
F>c280 -c -of2 devio.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
DEVIO.C: bread()
85: if (bdread(bp) == -1)
^ bdread() declared implicit int (warning)
DEVIO.C: bfree()
126: if (bdwrite(bp) == -1)
^ bdwrite() declared implicit int (warning)
DEVIO.C: bdread()
262: if ((validdev(bp->bf_dev))==0 )
validdev() declared implicit int ^ (warning)
DEVIO.C: pageread()
303: swapbase = page;
^ illegal conversion of integer to pointer (warning)
DEVIO.C: pagewrite()
315: swapbase = page;
^ illegal conversion of integer to pointer (warning)
DEVIO.C: insq()
405: oldspl = spl(0);
^ spl() declared implicit int (warning)
290 bytes optimized away
582 bytes replaced
F>c280 -c -of2 xdevtty.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
6 bytes optimized away
16 bytes replaced
F>c280 -c -of2 xdevwd.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
XDEVWD.C: wd_read()
42: return(setup(minor, rawflag));
setup() declared implicit int ^ (warning)
XDEVWD.C: setup()
70: dptrlo = swapbase;
^ illegal conversion of pointer to integer (warning)
77: dptrlo = ub.u_d.u_base;
^ illegal conversion of pointer to integer (warning)
84: dptrlo = ub.u_d.u_buf->bf_data;
^ illegal conversion of pointer to integer (warning)
19 bytes optimized away
40 bytes replaced
F>c280 -c -of2 xdevflo.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
XDEVFLO.C: fd_read()
43: return (fd(1, minor, rawflag));
fd() declared implicit int ^ (warning)
XDEVFLO.C: _1read()
143: temp = (char)bdos(25);
^ bdos() declared implicit int (warning)
30 bytes optimized away
62 bytes replaced
F>c280 -c -of2 xdevmisc.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
14 bytes optimized away
28 bytes replaced
F>c280 -c -of2 xmachdep.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
69 bytes optimized away
184 bytes replaced
F>c280 -c -of2 data.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0 bytes optimized away
0 bytes replaced
F>c280 -c -of2 xfs1.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
XFS1.C: xfs_init()
45: if (d_open( 6 ) != 0)
^ d_open() declared implicit int (warning)
51: if (fmount(ROOTDEV,((inoptr)0)))
fmount() declared implicit int ^ (warning)
XFS1.C: _open()
94: if ((uindex = uf_alloc()) == -1)
^ uf_alloc() declared implicit int (warning)
97: if ((oftindex = oft_alloc()) == -1)
^ oft_alloc() declared implicit int (warning)
105: perm = getperm(ino);
^ getperm() declared implicit int (warning)
113: if (getmode(ino) == 040000 &&
^ getmode() declared implicit int (warning)
120: if (isdevice(ino) && d_open((int)ino->c_node.i_addr[0]) != 0)
isdevice() declared implicit int ^ (warning)
XFS1.C: _close()
148: return(doclose(uindex));
^ doclose() declared implicit int (warning)
XFS1.C: _link()
274: if (getmode(ino) == 040000 && !super())
super() declared implicit int ^ (warning)
299: if (ch_link(parent2,"",filename(name2),ino) == 0)
ch_link() declared implicit int ^ (warning)
XFS1.C: _unlink()
365: }
^ unused variable declaration: i_open (warning)
XFS1.C: _write()
409: }
^ unused variable definition: offp (warning)
XFS1.C: readi()
475: (ino->c_node.i_size.o_offset-ub.u_d.u_offset.o_offset));
min() declared implicit int ^ (warning)
504: ub.u_d.u_count = cdread(ino->c_node.i_addr[0]);
cdread() declared implicit int ^ (warning)
XFS1.C: writei()
584: ub.u_d.u_count = cdwrite(ino->c_node.i_addr[0]);
cdwrite() declared implicit int ^ (warning)
594: }
^ unused variable declaration: zerobuf (warning)
^ unused variable definition: created (warning)
XFS1.C: _stat()
932: if ((valadr(buf,sizeof(struct stat)) && (ino = n_open(path,((inoptr*)0))))==0 )
valadr() declared implicit int ^ (warning)
519 bytes optimized away
1166 bytes replaced
F>c280 -c -of2 xfs2.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
XFS2.C: _ioctl()
107: if ((isdevice(ino))==0 )
^ isdevice() declared implicit int (warning)
113: if ((getperm(ino) & 0002)==0 )
^ getperm() declared implicit int (warning)
121: if (d_ioctl(dev, request,data))
d_ioctl() declared implicit int ^ (warning)
XFS2.C: _mount()
139: if ((super())==0 )
^ super() declared implicit int (warning)
154: if (getmode(sino) != 060000)
^ getmode() declared implicit int (warning)
168: if ( dev >= 4 || d_open(dev))
d_open() declared implicit int ^ (warning)
182: if (fmount(dev,dino))
^ fmount() declared implicit int (warning)
XFS2.C: _umount()
226: if ((validdev(dev))==0 )
^ validdev() declared implicit int (warning)
XFS2.C: srch_dir()
399: if (namecomp(compname,buf[curentry].d_name))
namecomp() declared implicit int ^ (warning)
XFS2.C: i_open()
451: static nexti = i_tab;
^ illegal conversion of pointer to integer (warning)
476: j = nexti;
^ illegal conversion of integer to pointer (warning)
479: nexti =j;
^ illegal conversion of pointer to integer (warning)
XFS2.C: blk_alloc()
866: buf = bread(devno, newno, 2);
^ illegal conversion between pointer types (warning)
810 bytes optimized away
1748 bytes replaced
F>c280 -c -of2 bcopy.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
6 bytes optimized away
12 bytes replaced
F>c280 -c -of2 bzero.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
6 bytes optimized away
12 bytes replaced
F>c280 -c -of2 spl.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
2 bytes optimized away
4 bytes replaced
F>c280 -c -of2 itob.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
35 bytes optimized away
82 bytes replaced
F>c280 -c -of2 uput.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
12 bytes optimized away
24 bytes replaced
F>c280 -c idecf.as
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
F>c280 -c -of2 bios.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
2 bytes optimized away
4 bytes replaced
F>mkxlib.sub
F:MKXLIB SUB
A:SUBMIT COM
F>era xlib.lib
F>libr
A:LIBR COM
libr> r xlib.lib xfs1.obj xfs2.obj devio.obj xdevtty.obj xdevwd.obj xdevflo.obj \
libr> xdevmisc.obj xmachdep.obj data.obj \
libr> itob.obj uput.obj idecf.obj \
libr> bzero.obj bcopy.obj spl.obj bios.obj
F>era MAKE@@@.SUB
F>
F>
F>; Now the Utilities
F>XUTILS
F:XUTILS SUB
A:SUBMIT COM
F>c280 -c -of2 ideconf.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
0 bytes optimized away
0 bytes replaced
F>;
F>c280 -c -of2 mkfs.c
A:C280 COM
HI-TECH C COMPILER (CP/M-80) V3.09
Copyright (C) 1984-87 HI-TECH SOFTWARE
Special version for the Zilog Z280 MPU
MKFS.C: main()
37: dev = atoi(argv[1]);
^ atoi() declared implicit int (warning)
61: if (!yes())
^ yes() declared implicit int (warning)
65: if (d_open(dev))
^ d_open() declared implicit int (warning)
79 bytes optimized away
164 bytes replaced
F>;
F>; (fsck has a missing _da_read error)
F>;c280 -c -of2 fsck.c
F>;
F>lkxutil mkfs
F:LKXUTIL SUB
A:SUBMIT COM
F>a:linq
A:LINQ COM
link> -c100h -oMKFS.com 0:a:crtcpm.obj MKFS.obj ideconf.obj \
link> xlib.lib 0:a:lib280c.lib
F>;lkxutil fsck
F>lkxutil ucp
F:LKXUTIL SUB
A:SUBMIT COM
F>a:linq
A:LINQ COM
link> -c100h -oUCP.com 0:a:crtcpm.obj UCP.obj ideconf.obj \
link> xlib.lib 0:a:lib280c.lib
F>
F>; Now make a bootable UZI volume (Starts after the 8x CP/M 8MB partitions)
F>
F>mkboot
F:MKBOOT SUB
A:SUBMIT COM
F>mkfs 0 600 65000
F:MKFS COM
Making filesystem on device 0 with isize 600 fsize 65000. Confirm? y
F>ucp 0
F:UCP COM
unix: mkdir dev
unix: cd dev
unix: mknod tty 020666 5
unix: mknod tty1 020666 6
unix: mknod tty2 020666 7
unix: mknod tty3 020666 11
unix: mknod tty4 020666 12
unix: mknod tty5 020666 13
unix: mknod tty6 020666 14
unix: mknod wd0 060644 0
unix: mknod wd1 060644 2
unix: mknod wd2 060644 3
unix: mknod fd0 060644 1
unix: mknod rwd0 020444 0
unix: mknod rwd1 020444 2
unix: mknod rwd2 020444 3
unix: mknod lpr 020222 4
unix: mknod null 020666 8
unix: mknod kmem 020444 9
unix: mknod rmt 020444 10
unix: mknod wmt 020222 10
unix: cd /
unix: mkdir /etc
unix: mkdir /bin
unix: mkdir /usr
unix: mkdir /usr/root
unix: mkdir /Tapes
unix: cd /
unix: bget init
unix: chmod init 0755
unix: cd /bin
unix: bget clam
unix: chmod clam 0755
unix: bget sh
unix: chmod sh 0755
unix: bget setuart
unix: chmod setuart 0755
unix: bget ls
unix: chmod ls 0755
unix: bget ln
unix: chmod ln 0755
unix: bget login
unix: chmod login 0755
unix: bget mkdir
unix: chmod mkdir 0755
unix: bget rm
unix: chmod rm 0755
unix: bget rmdir
unix: chmod rmdir 0755
unix: bget touch
unix: chmod touch 0755
unix: bget mount
unix: chmod mount 0755
unix: bget umount
unix: chmod umount 0755
unix: bget uncompress
unix: chmod uncompress 0755
unix: bget sync
unix: chmod sync 0755
unix: bget tar
unix: chmod tar 0755
unix: bget kill
unix: chmod kill 0755
unix: bget ps
unix: chmod ps 0755
unix: cd /etc
unix: get rc
unix: chmod rc 0644
unix: get passwd
unix: chmod passwd 0644
unix: get group
unix: chmod group 0644
unix: get ttytab
unix: chmod ttytab 0644
unix: get termcap
unix: chmod termcap 0644
unix: bget utmp
unix: exit
F>
F>
F>e:
E>
E>; Build the boot loader
E>zsm4 =bootuzi
A:ZSM4 COM
Z80/Z180/Z280 Macro-Assembler V4.0 Beta 11
Errors: 0
Finished.
E>link bootuzi
A:LINK COM
LINK 1.31
ABSOLUTE 0000
CODE SIZE 0183 (0100-0282)
DATA SIZE 0000
COMMON SIZE 0000
USE FACTOR 00
E>bootuzi
E:BOOTUZI COM
UZI280 is (c) Copyright (1990-96) by Stefan Nitschke and Doug Braun
boot: 0
init: /usr/adm/wtmp: Bad file number
UZI280 version 1.12
login: root
%ls -la
total 12
rwxrwxrwx 9 root 512 Apr 19 1992 ./
rwxrwxrwx 9 root 512 Apr 19 1992 ../
rwxrwxrwx 2 root 512 Apr 19 1992 Tapes/
rwxrwxrwx 2 root 512 Apr 19 1992 bin/
rwxrwxrwx 2 root 512 Apr 19 1992 dev/
rwxrwxrwx 2 root 512 Apr 19 1992 etc/
rwxr-xr-x 1 root 9088 Apr 19 1992 init*
rwxrwxrwx 2 root 512 Apr 19 1992 usr/
%cd bin
%ls -la
total 260
rwxrwxrwx 2 root 512 Apr 19 1992 ./
rwxrwxrwx 9 root 512 Apr 19 1992 ../
rwxr-xr-x 1 root 83200 Apr 19 1992 clam*
rwxr-xr-x 1 root 8704 Apr 19 1992 kill*
rwxr-xr-x 1 root 10880 Apr 19 1992 ln*
rwxr-xr-x 1 root 9728 Apr 19 1992 login*
rwxr-xr-x 1 root 16512 Apr 19 1992 ls*
rwxr-xr-x 1 root 8064 Apr 19 1992 mkdir*
rwxr-xr-x 1 root 8192 Apr 19 1992 mount*
rwxr-xr-x 1 root 9600 Apr 19 1992 ps*
rwxr-xr-x 1 root 10752 Apr 19 1992 rm*
rwxr-xr-x 1 root 8576 Apr 19 1992 rmdir*
rwxr-xr-x 1 root 4736 Apr 19 1992 setuart*
rwxr-xr-x 1 root 31104 Apr 19 1992 sh*
rwxr-xr-x 1 root 768 Apr 19 1992 sync*
rwxr-xr-x 1 root 30080 Apr 19 1992 tar*
rwxr-xr-x 1 root 4224 Apr 19 1992 touch*
rwxr-xr-x 1 root 5888 Apr 19 1992 umount*
rwxr-xr-x 1 root 14592 Apr 19 1992 uncompress*
%cd ..
%mkdir /tmp
%cd /tmp
%ls -la >t.tmp
%ls -la
total 1
rwxrwxrwx 2 root 512 Dec 11 23:59:58 ./
rwxrwxrwx 10 root 512 Dec 11 23:59:58 ../
rw-rw-rw- 1 root 165 Dec 11 23:59:58 t.tmp
%sync
%sync
%sync
%<ctrl-d>
UZI280 version 1.12
login:
(hit reset to restart / shutdown)
--
Tony Nicholson
|
|
|
Re: Interested in a Z280 SBC [message #5746 is a reply to message #5745] |
Sat, 15 December 2018 05:35   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
WOW, Wow, wow! This is major cool! I'm dropping everything...
Edit:
I ran into two obstacles: Disk Utility does not seem to erase directories. Perhaps my version is too old (v7. , I think you'd mentioned v8.8 but I'm not able to locate it. Alternatively, I can just fill a 64meg CF disk with 0xE5, but that's such a kluge...
When running make@@@.sub, it looks for $EXEC in drive A and can't find it. Is that a Hitech C file?
---------------
More Edit:
I know nothing of UZI280, so I need helps.
I did kludge up an utility to fill a 64meg CF with 0xE5, so now I have a formatted CF disk.
I used LU310.COM to extract UZIKERNL.LBR and UZIXUTIL.LBR to drive E:
I used the latest CPM3BNK8.SYS as CPM3.SYS
I used the cpm3bin-with-y2k-fixes and put them in drive A:
bootup CP/M 3 and type "bootuzi" at drive E:
typed '0' at "boot:" prompt. It hanged there.
CP/M V3.0 Loader
Copyright (C) 1998, Caldera Inc.
RESBIOS3 SPR FA00 0600
BNKBIOS3 SPR B600 2A00
RESBDOS3 SPR F400 0600
BNKBDOS3 SPR 8800 2E00
61K TPA
%RAMDISK label missing. Initialise (Y/N) ? Y - RAMDISK initialised.
Z280RC Banked BIOS 07-Dec-2018
Built with Cache MOVE-w/DMA BigDirE-H Cont.-DMA Alloc-CSV
Drives CompactFlash A:..H: RamDisk M:
C>e:
E>bootuzi
UZI280 is (c) Copyright (1990-96) by Stefan Nitschke and Doug Braun
boot: 0
Bill
[Updated on: Sat, 15 December 2018 09:18] Report message to a moderator
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5749 is a reply to message #5746] |
Sat, 15 December 2018 19:02   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
plasmo wrote on Sun, 16 December 2018 00:35WOW, Wow, wow! This is major cool! I'm dropping everything...
Edit:
I ran into two obstacles: Disk Utility does not seem to erase directories. Perhaps my version is too old (v7. , I think you'd mentioned v8.8 but I'm not able to locate it. Alternatively, I can just fill a 64meg CF disk with 0xE5, but that's such a kluge...
I've just added DU v8.8 and NULU 1.52 to the https://github.com/agn453/Z280RC repositry in the utilities folder (DU.COM and NULU.COM). I'll have to go looking to find the original distribution kits (with documentation) for these and put them up too.
Quote:
When running make@@@.sub, it looks for $EXEC in drive A and can't find it. Is that a Hitech C file?
Yes. This is part of HiTech C Z80 V3.09 which I have installed to the A: drive in User 0 (where all my system utilities live and easily accessed via the CP/M-Plus search path). I might zip up an image of a 128KB CompactFlash with all my Z280RC stuff on it - so you can use dd to write it to an empty CF card and boot your Z280RC from it.
Quote:
---------------
More Edit:
I know nothing of UZI280, so I need helps.
I did kludge up an utility to fill a 64meg CF with 0xE5, so now I have a formatted CF disk.
I used LU310.COM to extract UZIKERNL.LBR and UZIXUTIL.LBR to drive E:
I used the latest CPM3BNK8.SYS as CPM3.SYS
I used the cpm3bin-with-y2k-fixes and put them in drive A:
bootup CP/M 3 and type "bootuzi" at drive E:
typed '0' at "boot:" prompt. It hanged there.
CP/M V3.0 Loader
Copyright (C) 1998, Caldera Inc.
RESBIOS3 SPR FA00 0600
BNKBIOS3 SPR B600 2A00
RESBDOS3 SPR F400 0600
BNKBDOS3 SPR 8800 2E00
61K TPA
%RAMDISK label missing. Initialise (Y/N) ? Y - RAMDISK initialised.
Z280RC Banked BIOS 07-Dec-2018
Built with Cache MOVE-w/DMA BigDirE-H Cont.-DMA Alloc-CSV
Drives CompactFlash A:..H: RamDisk M:
C>e:
E>bootuzi
UZI280 is (c) Copyright (1990-96) by Stefan Nitschke and Doug Braun
boot: 0
CPM3BNK8.SYS is my general working system-image for CP/M-Plus. The interrupt version I've been testing also works - but file transfers using XMODEM are flaky due to interrupt handling overheads.
Did you run the MKBOOT.SUB file from the UZIXUTIL.LBR (extracted to F:)? This writes a bootable 32MB UZI partition at a 64MB offset from the start of the CompactFlash card. Be careful with extracting the library files to different drives/user areas. There are filename clashes (and the files are different - particularly the CONFIG.INC source file).
I've also just added the binaries distribution files in a UZIBNTAR.LBR file to GitHub (instructions in the README.md on the GitHub project home page). I'll probably tinker some more later today. It's hot and humid here and both myself and my border collies need a swim at the beach!
Tony
--
Tony Nicholson
|
|
|
|
Re: Interested in a Z280 SBC [message #5762 is a reply to message #5750] |
Mon, 17 December 2018 22:31   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
An update for UZI280 on the Z280RC...
I've implemented support for the DS1302 timekeeper chip in UZI280 to set the time-of-day and fixed an issue with I/O page selection affecting maskable interrupts in my CompactFlash device support routine (IDECF.AS).
You can fetch updated files (from https://github.com/agn453/Z280RC for MACHDEP.C MACHASM.C and IDECF.AS from system/uzi280-kernel/ and re-compile the kernel using MAKE - or download the UZIKERNL.LBR file again to get the complete kit of kernel build files.
Fixing the aforementioned defects has introduced another problem the the UZI280 "ps" command which was previously working but now gives a "Can't read /dev/kmem: Error 0" which I am investigating.
Next I need to find/build the C compiler libraries so I can make a "Hello world". I'm going to try making c.lib and f.lib from the HiTech C Z80 library sources...
Tony
--
Tony Nicholson
[Updated on: Mon, 17 December 2018 22:33] Report message to a moderator
|
|
|
|
|
|
|
|