├── pot ├── .squ ├── .squ.OLD ├── pot.c.notready ├── compress ├── graydigit08x10x2.squ ├── graydigit18x10x2.squ ├── graydigit28x10x2.squ ├── graydigit38x10x2.squ ├── graydigit48x10x2.squ ├── graydigit58x10x2.squ ├── graydigit68x10x2.squ ├── graydigit78x10x2.squ ├── graydigit88x10x2.squ ├── graydigit98x10x2.squ ├── dots16x8x2.squ ├── diskarrow116x17x2.squ ├── diskarrow216x17x2.squ ├── diskarrow316x17x2.squ ├── flip32x20x2.squ ├── flipdisk32x20x2.squ ├── expand.h ├── bad40x20x2.squ ├── .places.wmd ├── disk48x20x2.squ ├── from48x20x2.squ ├── insert56x20x2.squ ├── please64x20x2.squ ├── booting72x20x2.squ ├── loading72x20x2.squ ├── minisimm24x64x2.squ ├── network80x20x2.squ └── POT.h ├── conf ├── Makedep ├── files.next ├── srec ├── config ├── loadice ├── loadrom ├── srec2crc ├── loaddataIO ├── Makefile ├── RELEASE ├── DEBUG ├── DEBUG040 ├── RELEASE040 ├── DEBUG_SD ├── NCC ├── COLOR ├── files └── Makefile.next ├── config ├── .depend_done.OLD ├── Makefile ├── Makefile.bak ├── main.c ├── config.l ├── config.h └── mkheaders.c ├── srec ├── .depend_done.OLD ├── Makefile ├── Makefile.bak ├── exec.h └── a.out.h ├── loaddataIO ├── .depend_done.OLD ├── loadsrec.h ├── Makefile └── Makefile.bak ├── loadrom ├── .depend_done.OLD ├── sample.loadrom.ini ├── loadrom.hlp ├── Makefile └── Makefile.bak ├── srec2crc ├── .depend_done.OLD ├── .places ├── .list ├── README ├── Makefile ├── Makefile.bak ├── calculateCRC.s └── main.c ├── loadice ├── tut.bin ├── loadice.works ├── release.ini ├── loadice.ini ├── makefile.com ├── makefile.unx ├── loadice.hlp ├── loadice2.hlp ├── tut.txt ├── Makefile ├── release ├── loadice.mak └── readme ├── bitmaps ├── bad40x20x2.binary ├── dots16x8x2.binary ├── cube86x88x2.binary ├── cube88x88x2.binary ├── disk48x20x2.binary ├── flip32x20x2.binary ├── from48x20x2.binary ├── insert56x20x2.binary ├── please64x20x2.binary ├── simm32x100x2.binary ├── booting72x20x2.binary ├── flipdisk32x20x2.binary ├── loading72x20x2.binary ├── minisimm24x64x2.binary ├── network80x20x2.binary ├── testing88x40x2.binary ├── testings80x40x2.binary ├── badgraydisk80x41x2.binary ├── bootfont256x50x2.binary ├── diskarrow116x17x2.binary ├── diskarrow216x17x2.binary ├── diskarrow316x17x2.binary ├── graybaddisk80x41x2.binary ├── graydigit08x10x2.binary ├── graydigit18x10x2.binary ├── graydigit28x10x2.binary ├── graydigit38x10x2.binary ├── graydigit48x10x2.binary ├── graydigit58x10x2.binary ├── graydigit68x10x2.binary ├── graydigit78x10x2.binary ├── graydigit88x10x2.binary ├── graydigit98x10x2.binary ├── grayscsi180x95x2.binary ├── grayscsi272x65x2.binary ├── grayscsi372x65x2.binary ├── nextbox440x176x2.binary ├── grayethernet188x84x2.binary ├── grayethernet288x63x2.binary ├── grayethernet388x63x2.binary ├── grayoptical180x84x2.binary ├── grayoptical272x41x2.binary ├── grayoptical372x41x2.binary ├── graydigit08x10x2.squ ├── graydigit18x10x2.squ ├── graydigit28x10x2.squ ├── graydigit38x10x2.squ ├── graydigit48x10x2.squ ├── graydigit58x10x2.squ ├── graydigit68x10x2.squ ├── graydigit78x10x2.squ ├── graydigit88x10x2.squ ├── graydigit98x10x2.squ ├── dots16x8x2.squ ├── diskarrow116x17x2.squ ├── diskarrow216x17x2.squ ├── diskarrow316x17x2.squ ├── flip32x20x2.squ ├── flipdisk32x20x2.squ ├── bad40x20x2.squ ├── from48x20x2.squ ├── disk48x20x2.squ ├── insert56x20x2.squ ├── please64x20x2.squ ├── network80x20x2.squ ├── loading72x20x2.squ ├── booting72x20x2.squ ├── minisimm24x64x2.squ ├── README ├── testings80x40x2.squ ├── simm32x100x2.squ ├── testing88x40x2.squ ├── cube88x88x2.squ ├── graybaddisk80x41x2.squ ├── cube86x88x2.squ └── badgraydisk80x41x2.squ ├── subr ├── varargs.h ├── cursor.c ├── cksum.c ├── inet_ntoa.c ├── getput.c ├── gets.c ├── util.c ├── ppkt.c └── helvetica.h ├── mon ├── cursor.h ├── region.h ├── reglist.h ├── animate.h ├── msgbuf.h ├── monparam.h ├── sio.h ├── kmreg.h ├── nvram.h ├── exec.h ├── tftp.h ├── bootp.h └── global.h ├── Makefile ├── diag └── edp.h ├── dev ├── timer.c ├── scsivar.h └── enreg.h ├── sys ├── help.c └── genassym.c ├── boot ├── loader.c └── srec.c └── README /pot/.squ: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /conf/Makedep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pot/.squ.OLD: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /conf/files.next: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config/.depend_done.OLD: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srec/.depend_done.OLD: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /loaddataIO/.depend_done.OLD: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /loadrom/.depend_done.OLD: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pot/pot.c.notready: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /srec2crc/.depend_done.OLD: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /loadice/tut.bin: -------------------------------------------------------------------------------- 1 |  2 |  -------------------------------------------------------------------------------- /conf/srec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/conf/srec -------------------------------------------------------------------------------- /conf/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/conf/config -------------------------------------------------------------------------------- /conf/loadice: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/conf/loadice -------------------------------------------------------------------------------- /conf/loadrom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/conf/loadrom -------------------------------------------------------------------------------- /conf/srec2crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/conf/srec2crc -------------------------------------------------------------------------------- /pot/compress: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/pot/compress -------------------------------------------------------------------------------- /conf/loaddataIO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/conf/loaddataIO -------------------------------------------------------------------------------- /srec2crc/.places: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/srec2crc/.places -------------------------------------------------------------------------------- /loadice/loadice.works: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/loadice/loadice.works -------------------------------------------------------------------------------- /bitmaps/bad40x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/bad40x20x2.binary -------------------------------------------------------------------------------- /bitmaps/dots16x8x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/dots16x8x2.binary -------------------------------------------------------------------------------- /bitmaps/cube86x88x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/cube86x88x2.binary -------------------------------------------------------------------------------- /bitmaps/cube88x88x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/cube88x88x2.binary -------------------------------------------------------------------------------- /bitmaps/disk48x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/disk48x20x2.binary -------------------------------------------------------------------------------- /bitmaps/flip32x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/flip32x20x2.binary -------------------------------------------------------------------------------- /bitmaps/from48x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/from48x20x2.binary -------------------------------------------------------------------------------- /bitmaps/insert56x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/insert56x20x2.binary -------------------------------------------------------------------------------- /bitmaps/please64x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/please64x20x2.binary -------------------------------------------------------------------------------- /bitmaps/simm32x100x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/simm32x100x2.binary -------------------------------------------------------------------------------- /bitmaps/booting72x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/booting72x20x2.binary -------------------------------------------------------------------------------- /bitmaps/flipdisk32x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/flipdisk32x20x2.binary -------------------------------------------------------------------------------- /bitmaps/loading72x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/loading72x20x2.binary -------------------------------------------------------------------------------- /bitmaps/minisimm24x64x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/minisimm24x64x2.binary -------------------------------------------------------------------------------- /bitmaps/network80x20x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/network80x20x2.binary -------------------------------------------------------------------------------- /bitmaps/testing88x40x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/testing88x40x2.binary -------------------------------------------------------------------------------- /bitmaps/testings80x40x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/testings80x40x2.binary -------------------------------------------------------------------------------- /bitmaps/badgraydisk80x41x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/badgraydisk80x41x2.binary -------------------------------------------------------------------------------- /bitmaps/bootfont256x50x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/bootfont256x50x2.binary -------------------------------------------------------------------------------- /bitmaps/diskarrow116x17x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/diskarrow116x17x2.binary -------------------------------------------------------------------------------- /bitmaps/diskarrow216x17x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/diskarrow216x17x2.binary -------------------------------------------------------------------------------- /bitmaps/diskarrow316x17x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/diskarrow316x17x2.binary -------------------------------------------------------------------------------- /bitmaps/graybaddisk80x41x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graybaddisk80x41x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit08x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit08x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit18x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit18x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit28x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit28x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit38x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit38x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit48x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit48x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit58x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit58x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit68x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit68x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit78x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit78x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit88x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit88x10x2.binary -------------------------------------------------------------------------------- /bitmaps/graydigit98x10x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/graydigit98x10x2.binary -------------------------------------------------------------------------------- /bitmaps/grayscsi180x95x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayscsi180x95x2.binary -------------------------------------------------------------------------------- /bitmaps/grayscsi272x65x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayscsi272x65x2.binary -------------------------------------------------------------------------------- /bitmaps/grayscsi372x65x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayscsi372x65x2.binary -------------------------------------------------------------------------------- /bitmaps/nextbox440x176x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/nextbox440x176x2.binary -------------------------------------------------------------------------------- /bitmaps/grayethernet188x84x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayethernet188x84x2.binary -------------------------------------------------------------------------------- /bitmaps/grayethernet288x63x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayethernet288x63x2.binary -------------------------------------------------------------------------------- /bitmaps/grayethernet388x63x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayethernet388x63x2.binary -------------------------------------------------------------------------------- /bitmaps/grayoptical180x84x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayoptical180x84x2.binary -------------------------------------------------------------------------------- /bitmaps/grayoptical272x41x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayoptical272x41x2.binary -------------------------------------------------------------------------------- /bitmaps/grayoptical372x41x2.binary: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/b/NeXTROM/master/bitmaps/grayoptical372x41x2.binary -------------------------------------------------------------------------------- /loadrom/sample.loadrom.ini: -------------------------------------------------------------------------------- 1 | model=256 2 | number=2 3 | rom=27256 4 | word=16 5 | output=com1 6 | baud=9600 7 | starting=x0 8 | -------------------------------------------------------------------------------- /srec2crc/.list: -------------------------------------------------------------------------------- 1 | ./ 2 | ../ 3 | .list 4 | .places 5 | Makefile 6 | srec2crc* 7 | srec2crc.c 8 | srec2crc.c.save 9 | srec2crc.o 10 | -------------------------------------------------------------------------------- /loadice/release.ini: -------------------------------------------------------------------------------- 1 | high 2 | rom=27256 3 | number=8 4 | word=8 5 | output=com1 6 | baud=57600 7 | file=c:\loadice\lo.rom 0 = 1:0 8 | file=c:\loadice\hi.rom 0 = 0:0 9 | -------------------------------------------------------------------------------- /srec2crc/README: -------------------------------------------------------------------------------- 1 | Example of usage: 2 | 3 | #srec2crc mon.srec.sample 4 | 5 | Byte-wide hex sum (should match DATA I/O 288): 40F8 6 | Ethernet hex CRC: 85F9E12B 7 | Monitor hex CRC: 75CB568C 8 | -------------------------------------------------------------------------------- /loadice/loadice.ini: -------------------------------------------------------------------------------- 1 | rom=2764 2 | number=1 3 | word=8 4 | output=com1 5 | baud=19200 6 | ffill 00 7 | image=TUT.BIN 0 = 0:200 8 | file=TUT.INT F000 = 0:0 9 | file=TUT.MOT 1000 = 0:100 10 | noverify 11 | -------------------------------------------------------------------------------- /subr/varargs.h: -------------------------------------------------------------------------------- 1 | typedef char *va_list; 2 | # define va_dcl int va_alist; 3 | # define va_start(list) list = (char *) &va_alist 4 | # define va_end(list) 5 | # define va_arg(list,mode) ((mode *)(list += sizeof(mode)))[-1] 6 | -------------------------------------------------------------------------------- /mon/cursor.h: -------------------------------------------------------------------------------- 1 | /* @(#)cursor.h 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | #ifndef _CURSOR_ 4 | #define _CURSOR_ 5 | 6 | #define CURSOR_OFF 0 7 | #define CURSOR_NETXFER 1 8 | #define CURSOR_NETCOLL 2 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /pot/graydigit08x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0x8a, 0xa2, 0x8a, 0xa2, 0x8a, 0xa2, 4 | 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit18x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xaa, 0x2a, 0xa8, 0x2a, 0xa2, 0x2a, 0xaa, 0x2a, 0xaa, 0x2a, 4 | 0xaa, 0x2a, 0xaa, 0x2a, 0xa0, 0x02, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit28x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0xaa, 0xa2, 0xaa, 0x8a, 0xa8, 0x2a, 4 | 0xa2, 0xaa, 0x8a, 0xaa, 0x80, 0x02, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit38x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0xaa, 0xa2, 0xa8, 0x0a, 0xaa, 0xa2, 4 | 0xaa, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit48x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xaa, 0x8a, 0xaa, 0x0a, 0xa8, 0x8a, 0xa2, 0x8a, 0x8a, 0x8a, 4 | 0x80, 0x02, 0xaa, 0x8a, 0xaa, 0x8a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit58x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0x80, 0x02, 0x8a, 0xaa, 0x8a, 0xaa, 0x80, 0x0a, 0xaa, 0xa2, 4 | 0xaa, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit68x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa8, 0x2a, 0xa2, 0xaa, 0x8a, 0xaa, 0x88, 0x0a, 0x82, 0xa2, 4 | 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit78x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0x80, 0x02, 0xaa, 0x8a, 0xaa, 0x8a, 0xaa, 0x2a, 0xaa, 0x2a, 4 | 0xa8, 0xaa, 0xa8, 0xaa, 0xa2, 0xaa, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit88x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0x8a, 0xa2, 4 | 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/graydigit98x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0x8a, 0xa2, 0x8a, 0x82, 0xa0, 0x22, 4 | 0xaa, 0xa2, 0xaa, 0x8a, 0xa0, 0x2a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit08x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0x8a, 0xa2, 0x8a, 0xa2, 0x8a, 0xa2, 4 | 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit18x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xaa, 0x2a, 0xa8, 0x2a, 0xa2, 0x2a, 0xaa, 0x2a, 0xaa, 0x2a, 4 | 0xaa, 0x2a, 0xaa, 0x2a, 0xa0, 0x02, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit28x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0xaa, 0xa2, 0xaa, 0x8a, 0xa8, 0x2a, 4 | 0xa2, 0xaa, 0x8a, 0xaa, 0x80, 0x02, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit38x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0xaa, 0xa2, 0xa8, 0x0a, 0xaa, 0xa2, 4 | 0xaa, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit48x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xaa, 0x8a, 0xaa, 0x0a, 0xa8, 0x8a, 0xa2, 0x8a, 0x8a, 0x8a, 4 | 0x80, 0x02, 0xaa, 0x8a, 0xaa, 0x8a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit58x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0x80, 0x02, 0x8a, 0xaa, 0x8a, 0xaa, 0x80, 0x0a, 0xaa, 0xa2, 4 | 0xaa, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit68x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa8, 0x2a, 0xa2, 0xaa, 0x8a, 0xaa, 0x88, 0x0a, 0x82, 0xa2, 4 | 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit78x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0x80, 0x02, 0xaa, 0x8a, 0xaa, 0x8a, 0xaa, 0x2a, 0xaa, 0x2a, 4 | 0xa8, 0xaa, 0xa8, 0xaa, 0xa2, 0xaa, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit88x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0x8a, 0xa2, 4 | 0x8a, 0xa2, 0x8a, 0xa2, 0xa0, 0x0a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /bitmaps/graydigit98x10x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 3 | 0xaa, 0xaa, 0xa0, 0x0a, 0x8a, 0xa2, 0x8a, 0xa2, 0x8a, 0x82, 0xa0, 0x22, 4 | 0xaa, 0xa2, 0xaa, 0x8a, 0xa0, 0x2a, 0xaa, 0xaa, -------------------------------------------------------------------------------- /pot/dots16x8x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xd5, 0xf5, 0x7d, 4 | 0x57, 0xd5, 0xf5, 0x7d, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /bitmaps/dots16x8x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xd5, 0xf5, 0x7d, 4 | 0x57, 0xd5, 0xf5, 0x7d, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /subr/cursor.c: -------------------------------------------------------------------------------- 1 | /* @(#)cursor.c 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | #include 4 | 5 | cursor (shape, variation) { 6 | char *ind = "-\\|/"; 7 | 8 | if (shape == CURSOR_NETXFER) 9 | printf ("%c\b", ind[variation]); 10 | if (shape == CURSOR_NETCOLL) 11 | printf ("X\b"); 12 | } 13 | -------------------------------------------------------------------------------- /loadrom/loadrom.hlp: -------------------------------------------------------------------------------- 1 | Valid commands are: 2 | e[Edit} address - edit bytes starting at address 3 | l[Load] [filename] - load given image file in to ROMulator 4 | s[Save] filename - save image file as filename 5 | g[Get] filename - get image file 6 | [e]x[Exit] - exit LoadROM 7 | ? - type this file 8 | ! - escape command to the system 9 | -------------------------------------------------------------------------------- /loadice/makefile.com: -------------------------------------------------------------------------------- 1 | $ set verify 2 | $ ! Makefile for VAX/VMS system 3 | $ ! Copyright 1990 4 | $ ! Grammar Engine, Inc, Columbus, Ohio , USA 5 | $ CC/DEFINE=VMS LOADICE 6 | $ CC/DEFINE=VMS BUILDIMG 7 | $ CC/DEFINE=VMS SYSDEP 8 | $ ! Now link the stuff 9 | $ DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCRTL 10 | $ LINK LOADICE,BUILDIMG,SYSDEP 11 | $ ! End of Makefile 12 | -------------------------------------------------------------------------------- /mon/region.h: -------------------------------------------------------------------------------- 1 | /* @(#)region.h 1.0 03/03/87 (c) 1987 NeXT */ 2 | 3 | #ifndef _REGION_ 4 | #define _REGION_ 5 | 6 | /* 7 | * Structure describing each region of contiguous physical memory. 8 | * This information is provided by the monitor at boot time. 9 | */ 10 | 11 | typedef struct mon_region { 12 | long first_phys_addr; 13 | long last_phys_addr; 14 | } *mon_region_t; 15 | 16 | #endif _REGION_ 17 | -------------------------------------------------------------------------------- /mon/reglist.h: -------------------------------------------------------------------------------- 1 | /* @(#)reglist.h 1.0 10/21/86 (c) 1986 NeXT */ 2 | 3 | #ifndef _REGLIST_ 4 | #define _REGLIST_ 5 | 6 | #define PRE_CHECK 0 7 | #define POST_CHECK 1 8 | 9 | struct reglist { 10 | char *rl_name; 11 | int rl_off; 12 | int (*rl_check)(); 13 | char *rl_p1; 14 | int rl_p2; 15 | }; 16 | 17 | int check_bits(), check_string(), check_enetaddr(), check_pot(), check_opt(); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /mon/animate.h: -------------------------------------------------------------------------------- 1 | /* @(#)animate.h 1.0 9/26/88 (c) 1988 NeXT */ 2 | 3 | #ifndef _ANIMATE_ 4 | #define _ANIMATE_ 5 | 6 | /* display geometry */ 7 | #define LOGIN_X 340 8 | #define LOGIN_Y 308 9 | #define TEXT_X 550 10 | #define TEXT_Y2 390 11 | #define TEXT_Y3 380 12 | #define TEST_X 640 13 | #define TEST_Y 353 14 | 15 | #ifndef ASSEMBLER 16 | struct animation { 17 | short x, y; 18 | char *icon; 19 | char next; 20 | char anim_time; 21 | }; 22 | #endif ASSEMBLER 23 | 24 | #endif _ANIMATE_ 25 | -------------------------------------------------------------------------------- /subr/cksum.c: -------------------------------------------------------------------------------- 1 | /* @(#)cksum.c 1.0 10/12/86 (c) 1986 NeXT */ 2 | 3 | #include 4 | 5 | cksum (cp, bytes) 6 | caddr_t cp; 7 | register u_short bytes; 8 | { 9 | register u_short *sp = (u_short*) cp; 10 | register u_long sum = 0; 11 | register u_long oneword = 0x00010000; 12 | 13 | bytes >>= 1; 14 | while (bytes--) { 15 | sum += *sp++; 16 | if (sum >= oneword) { /* wrap carries into low bit */ 17 | sum -= oneword; 18 | sum++; 19 | } 20 | } 21 | return (sum & 0xffff); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /pot/diskarrow116x17x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 3 | 0x11, 0x13, 0xd1, 0x45, 0x04, 0x4f, 0xf5, 0x55, 0x11, 0x3f, 0xfc, 0x55, 4 | 0x45, 0xff, 0xff, 0x55, 0x13, 0xff, 0xff, 0xd5, 0x4f, 0xff, 0xff, 0xf5, 5 | 0x7f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 6 | 0x15, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 7 | 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 8 | 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, -------------------------------------------------------------------------------- /pot/diskarrow216x17x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 3 | 0x00, 0x03, 0xc0, 0x00, 0x00, 0x0f, 0xf0, 0x40, 0x40, 0x3f, 0xfc, 0x01, 4 | 0x00, 0xff, 0xff, 0x04, 0x03, 0xff, 0xff, 0xd1, 0x0f, 0xff, 0xff, 0xf4, 5 | 0x3f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 6 | 0x04, 0xff, 0xff, 0x55, 0x11, 0xff, 0xff, 0x55, 0x45, 0xff, 0xff, 0x55, 7 | 0x11, 0xff, 0xff, 0x55, 0x45, 0xff, 0xff, 0x55, 0x51, 0xff, 0xff, 0x55, 8 | 0x45, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, -------------------------------------------------------------------------------- /pot/diskarrow316x17x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 3 | 0x55, 0x13, 0xc0, 0x04, 0x44, 0x4f, 0xf1, 0x00, 0x11, 0x3f, 0xfc, 0x04, 4 | 0x44, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x4f, 0xff, 0xff, 0xf0, 5 | 0x3f, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 6 | 0x00, 0xff, 0xff, 0x40, 0x40, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x04, 7 | 0x00, 0xff, 0xff, 0x11, 0x00, 0xff, 0xff, 0x44, 0x04, 0xff, 0xff, 0x15, 8 | 0x00, 0xff, 0xff, 0x55, 0x11, 0xff, 0xff, 0x45, -------------------------------------------------------------------------------- /bitmaps/diskarrow116x17x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 3 | 0x11, 0x13, 0xd1, 0x45, 0x04, 0x4f, 0xf5, 0x55, 0x11, 0x3f, 0xfc, 0x55, 4 | 0x45, 0xff, 0xff, 0x55, 0x13, 0xff, 0xff, 0xd5, 0x4f, 0xff, 0xff, 0xf5, 5 | 0x7f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 6 | 0x15, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 7 | 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 8 | 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, -------------------------------------------------------------------------------- /bitmaps/diskarrow216x17x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 3 | 0x00, 0x03, 0xc0, 0x00, 0x00, 0x0f, 0xf0, 0x40, 0x40, 0x3f, 0xfc, 0x01, 4 | 0x00, 0xff, 0xff, 0x04, 0x03, 0xff, 0xff, 0xd1, 0x0f, 0xff, 0xff, 0xf4, 5 | 0x3f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 6 | 0x04, 0xff, 0xff, 0x55, 0x11, 0xff, 0xff, 0x55, 0x45, 0xff, 0xff, 0x55, 7 | 0x11, 0xff, 0xff, 0x55, 0x45, 0xff, 0xff, 0x55, 0x51, 0xff, 0xff, 0x55, 8 | 0x45, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, -------------------------------------------------------------------------------- /bitmaps/diskarrow316x17x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 3 | 0x55, 0x13, 0xc0, 0x04, 0x44, 0x4f, 0xf1, 0x00, 0x11, 0x3f, 0xfc, 0x04, 4 | 0x44, 0xff, 0xff, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x4f, 0xff, 0xff, 0xf0, 5 | 0x3f, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 6 | 0x00, 0xff, 0xff, 0x40, 0x40, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x04, 7 | 0x00, 0xff, 0xff, 0x11, 0x00, 0xff, 0xff, 0x44, 0x04, 0xff, 0xff, 0x15, 8 | 0x00, 0xff, 0xff, 0x55, 0x11, 0xff, 0xff, 0x45, -------------------------------------------------------------------------------- /conf/Makefile: -------------------------------------------------------------------------------- 1 | BUILDDIR= RELEASE040 2 | 3 | all depend: ../$(BUILDDIR)/mon 4 | cd ../$(BUILDDIR); ${MAKE} $@ 5 | 6 | clean: 7 | -rm -rf ../$(BUILDDIR) 8 | -mkdir ../$(BUILDDIR) 9 | 10 | ../$(BUILDDIR)/Makefile: Makefile Makefile.next files files.next 11 | -rm -f ../$(BUILDDIR)/Makefile ../$(BUILDDIR)/Makedep 12 | -touch ../$(BUILDDIR)/Makedep 13 | ./config $(BUILDDIR) 14 | 15 | ../$(BUILDDIR)/mon: ../$(BUILDDIR)/Makefile 16 | cd ../$(BUILDDIR); ${MAKE} all 17 | 18 | install: ../$(BUILDDIR)/mon 19 | cd ../$(BUILDDIR); ${MAKE} DSTROOT=$$DSTROOT install 20 | 21 | -------------------------------------------------------------------------------- /conf/RELEASE: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT ROM Monitor 3 | # 4 | machine "next" 5 | cpu "MC68030" 6 | ident GENERIC 7 | options "MAJOR=2" 8 | options "MINOR=0" 9 | options "SEQ=57" 10 | makeoptions "RELOC=0" 11 | #options DEBUG 12 | options NETBOOT 13 | #options SRECBOOT 14 | #options COMPBOOT 15 | options SCSIBOOT 16 | options ODBOOT 17 | #options FDBOOT 18 | options SUN_NFS 19 | #options ENETDIAG 20 | #options PPKT 21 | #options DBUG_DMA 22 | # 23 | # Work-arounds 24 | # 25 | makeoptions "CC=/bin/rm -f $@; cc" 26 | makeoptions "AS=/bin/rm -f $@; as" 27 | config mon swap generic 28 | -------------------------------------------------------------------------------- /conf/DEBUG: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT ROM Monitor 3 | # 4 | machine "next" 5 | cpu "MC68030" 6 | ident GENERIC 7 | options "MAJOR=2" 8 | options "MINOR=0" 9 | options "SEQ=57" 10 | makeoptions "RELOC=0" 11 | options DEBUG 12 | options NETBOOT 13 | #options SRECBOOT 14 | #options COMPBOOT 15 | options SCSIBOOT 16 | options ODBOOT 17 | #options FDBOOT 18 | options SUN_NFS 19 | #options ENETDIAG 20 | #options PPKT 21 | #options DBUG_DMA 22 | options NO_SPACE 23 | # 24 | # Work-arounds 25 | # 26 | makeoptions "CC=/bin/rm -f $@; cc" 27 | makeoptions "AS=/bin/rm -f $@; as" 28 | config mon swap generic 29 | 30 | -------------------------------------------------------------------------------- /mon/msgbuf.h: -------------------------------------------------------------------------------- 1 | /* @(#)msgbuf.h 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | /* 4 | * Copyright (c) 1982, 1986 Regents of the University of California. 5 | * All rights reserved. The Berkeley software License Agreement 6 | * specifies the terms and conditions for redistribution. 7 | * 8 | * from msgbuf.h 7.1 (Berkeley) 6/4/86 9 | */ 10 | 11 | #ifndef _MSGBUF_ 12 | #define _MSGBUF_ 13 | 14 | #define MSG_MAGIC 0x063061 15 | #define MSG_BSIZE (4096 - 3 * sizeof (long)) 16 | struct msgbuf { 17 | long msg_magic; 18 | long msg_bufx; 19 | long msg_bufr; 20 | char msg_bufc[MSG_BSIZE]; 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /conf/DEBUG040: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT ROM Monitor 3 | # 4 | machine "next" 5 | cpu "MC68040" 6 | ident GENERIC 7 | options "MAJOR=2" 8 | options "MINOR=0" 9 | options "SEQ=57" 10 | options MEGABIT 11 | makeoptions "RELOC=01000000" 12 | options DEBUG 13 | options NETBOOT 14 | #options SRECBOOT 15 | #options COMPBOOT 16 | options SCSIBOOT 17 | options ODBOOT 18 | options FDBOOT 19 | options SUN_NFS 20 | #options ENETDIAG 21 | #options PPKT 22 | #options DBUG_DMA 23 | # 24 | # Work-arounds 25 | # 26 | makeoptions "CC=/bin/rm -f $@; cc" 27 | makeoptions "AS=/bin/rm -f $@; as" 28 | config mon swap generic 29 | -------------------------------------------------------------------------------- /conf/RELEASE040: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT ROM Monitor 3 | # 4 | machine "next" 5 | cpu "MC68040" 6 | ident GENERIC 7 | options "MAJOR=2" 8 | options "MINOR=0" 9 | options "SEQ=57" 10 | options MEGABIT 11 | makeoptions "RELOC=01000000" 12 | #options DEBUG 13 | options NETBOOT 14 | #options SRECBOOT 15 | #options COMPBOOT 16 | options SCSIBOOT 17 | options ODBOOT 18 | options FDBOOT 19 | options SUN_NFS 20 | #options ENETDIAG 21 | #options PPKT 22 | #options DBUG_DMA 23 | # 24 | # Work-arounds 25 | # 26 | makeoptions "CC=/bin/rm -f $@; cc" 27 | makeoptions "AS=/bin/rm -f $@; as" 28 | config mon swap generic 29 | -------------------------------------------------------------------------------- /conf/DEBUG_SD: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT ROM Monitor 3 | # 4 | machine "next" 5 | cpu "MC68030" 6 | ident GENERIC 7 | options "MAJOR=2" 8 | options "MINOR=0" 9 | options "SEQ=57" 10 | makeoptions "RELOC=0" 11 | options DEBUG 12 | options NETBOOT 13 | #options SRECBOOT 14 | #options COMPBOOT 15 | options SCSIBOOT 16 | #options ODBOOT 17 | #options FDBOOT 18 | options SUN_NFS 19 | #options ENETDIAG 20 | #options HELP 21 | #options PPKT 22 | #options DBUG_DMA 23 | # 24 | # Work-arounds 25 | # 26 | makeoptions "CC=/bin/rm -f $@; cc" 27 | makeoptions "AS=/bin/rm -f $@; as" 28 | config mon swap generic 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /conf/NCC: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT ROM Monitor 3 | # 4 | machine "next" 5 | cpu "MC68030" 6 | ident GENERIC 7 | options "MAJOR=2" 8 | options "MINOR=0" 9 | options "SEQ=57" 10 | makeoptions "RELOC=0" 11 | options DEBUG 12 | options NCC 13 | options NETBOOT 14 | #options SRECBOOT 15 | #options COMPBOOT 16 | options SCSIBOOT 17 | #options ODBOOT 18 | #options FDBOOT 19 | options SUN_NFS 20 | #options ENETDIAG 21 | #options HELP 22 | #options PPKT 23 | #options DBUG_DMA 24 | # 25 | # Work-arounds 26 | # 27 | makeoptions "CC=/bin/rm -f $@; cc" 28 | makeoptions "AS=/bin/rm -f $@; as" 29 | config mon swap generic 30 | 31 | -------------------------------------------------------------------------------- /mon/monparam.h: -------------------------------------------------------------------------------- 1 | /* @(#)monparam.h 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | #ifndef _MONPARAM_ 4 | #define _MONPARAM_ 5 | 6 | #include 7 | #include 8 | 9 | #define STACK_SIZE (8192 - 2048) 10 | 11 | #define N_SIMM 4 /* number of SIMMs in machine */ 12 | 13 | /* SIMM types */ 14 | #define SIMM_EMPTY 0x0 15 | #define SIMM_16MB 0x1 16 | #define SIMM_4MB 0x2 17 | #define SIMM_1MB 0x3 18 | #define SIMM_PAGE_MODE 0x4 19 | #define SIMM_PARITY 0x8 20 | 21 | #define USERENTRY 0x04000000 22 | #define RAM_MINLOADADDR 0x04000000 23 | #define RAM_MAXLOADADDR 0x04400000 24 | 25 | #endif _MONPARAM_ 26 | 27 | -------------------------------------------------------------------------------- /conf/COLOR: -------------------------------------------------------------------------------- 1 | # 2 | # NeXT ROM Monitor 3 | # 4 | machine "next" 5 | cpu "MC68040" 6 | ident GENERIC 7 | options "MAJOR=2" 8 | options "MINOR=0" 9 | options "SEQ=57" 10 | makeoptions "RELOC=01000000" 11 | options DEBUG 12 | options NETBOOT 13 | #options SRECBOOT 14 | #options COMPBOOT 15 | options SCSIBOOT 16 | options ODBOOT 17 | options FDBOOT 18 | options SUN_NFS 19 | #options ENETDIAG 20 | #options HELP 21 | #options PPKT 22 | #options DBUG_DMA 23 | #options NO_SPACE 24 | # 25 | # Work-arounds 26 | # 27 | makeoptions "CC=/bin/rm -f $@; cc" 28 | makeoptions "AS=/bin/rm -f $@; as" 29 | config mon swap generic 30 | -------------------------------------------------------------------------------- /loaddataIO/loadsrec.h: -------------------------------------------------------------------------------- 1 | #define SWTRACE 1 2 | 3 | extern int write(int fd, char *buffer, unsigned nbytes); 4 | extern int read(int fd, char *buffer, unsigned count); 5 | extern int open(char *filename, int mode); 6 | extern int close(int fd); 7 | 8 | extern char *strncpy(char *s1, char *s2, int n); 9 | extern char *strcpy(char *to, char *from); 10 | extern int strlen(char *s); 11 | extern char *strcat(char *to, char *from); 12 | 13 | 14 | extern void char_2h(char *out_str, unsigned int in_char); 15 | extern unsigned char ByteSumcheck(unsigned char *buffer, int length); 16 | extern void InitDataArray(long EtherNet_Adr, unsigned char *DataArray, int *length); 17 | extern void Open_serial_driver(int *fd); 18 | extern int SumCheckEPROM(int fd, char *Expected_sumcheck); 19 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | SUBDIR= config loadice loadrom srec srec2crc loaddataIO conf 2 | SRCFILES= Makefile README bitmaps boot conf config dev diag loadice \ 3 | loadrom mon pot srec srec2crc subr sys loaddataIO 4 | 5 | all clean depend: 6 | @for i in ${SUBDIR}; \ 7 | do \ 8 | echo ================= make $@ for $$i =================; \ 9 | (cd $$i; ${MAKE} $@) || exit $?; \ 10 | done 11 | 12 | install: DSTROOT 13 | @CWD=`pwd`; cd ${DSTROOT}; DSTROOT=`pwd`; cd $$CWD; \ 14 | for i in ${SUBDIR}; \ 15 | do \ 16 | echo ================= make $@ for $$i =================; \ 17 | (cd $$i; ${MAKE} DSTROOT=$$DSTROOT $@) || exit $?; \ 18 | done 19 | 20 | installsrc: SRCROOT 21 | tar cf - ${SRCFILES} | (cd ${SRCROOT}; tar xfBp -) 22 | 23 | SRCROOT DSTROOT: 24 | @if [ -n "${$@}" ]; \ 25 | then \ 26 | exit 0; \ 27 | else \ 28 | echo Must define $@; \ 29 | exit 1; \ 30 | fi 31 | -------------------------------------------------------------------------------- /loadice/makefile.unx: -------------------------------------------------------------------------------- 1 | # @(#)makefile 1.0 2 | # Copyright (c) 1990 3 | # Grammar Engine, Incorporated, Columbus, Ohio USA 4 | # 5 | # Note: To compile and link programs on systems without a program maintenance 6 | # utility, type the commands below after making the following 7 | # substitutions: change the string "$(CC)" to "cc"; change the string 8 | # "$(FLAGS)" to "-O -DUNIX". etc. 9 | # 10 | # For BSD dertivatives replace -DATNT with -DBSD in the FLAGS 11 | # 12 | CC=cc 13 | FLAGS= -O -DUNIX -DPI_BLOCK -DATNT 14 | 15 | all: loadice 16 | 17 | loadice: loadice.o buildimg.o sysdep.o 18 | $(CC) $(FLAGS) \ 19 | loadice.o \ 20 | buildimg.o \ 21 | sysdep.o \ 22 | -o loadice 23 | 24 | loadice.o: loadice.c loadice.h 25 | $(CC) $(FLAGS) loadice.c -c 26 | 27 | buildimg.o: buildimg.c loadice.h 28 | $(CC) $(FLAGS) buildimg.c -c 29 | 30 | sysdep.o: sysdep.c loadice.h 31 | $(CC) $(FLAGS) sysdep.c -c 32 | -------------------------------------------------------------------------------- /subr/inet_ntoa.c: -------------------------------------------------------------------------------- 1 | /* @(#)inet_ntoa.c 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | /* 4 | * Copyright (c) 1983 Regents of the University of California. 5 | * All rights reserved. The Berkeley software License Agreement 6 | * specifies the terms and conditions for redistribution. 7 | * 8 | * from inet_ntoa.c 5.2 (Berkeley) 3/9/86 9 | */ 10 | 11 | /* 12 | * Convert network-format internet address 13 | * to base 256 d.d.d.d representation. 14 | */ 15 | #include 16 | #include 17 | #include 18 | 19 | char * 20 | inet_ntoa (in) 21 | struct in_addr in; 22 | { 23 | struct mon_global *mg = (struct mon_global*) restore_mg(); 24 | char *bp = mg->mg_inetntoa; 25 | register char *p; 26 | 27 | p = (char *)∈ 28 | if (in.s_addr == 0xffffffff) 29 | sprintf (bp, "bcast"); 30 | else 31 | #define UC(b) (((int)b)&0xff) 32 | sprintf(bp, "%d.%d.%d.%d", 33 | UC(p[0]), UC(p[1]), UC(p[2]), UC(p[3])); 34 | return (bp); 35 | } 36 | -------------------------------------------------------------------------------- /srec/Makefile: -------------------------------------------------------------------------------- 1 | CFILES= srec.c 2 | OBJS= srec.o 3 | CFLAGS= -O 4 | 5 | all: srec 6 | 7 | srec: .depend_done ${OBJS} 8 | $(CC) -o srec ${OBJS} 9 | rm -f ../conf/srec 10 | install -s srec ../conf 11 | 12 | clean: 13 | rm -f ${OBJS} srec .depend_done 14 | 15 | install: srec 16 | 17 | depend .depend_done: 18 | grep '^#include' ${CFILES} | grep -v '<' | \ 19 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 20 | -e 's/\.c/.o/' \ 21 | -e 's,../[a-zA-Z]*/,,' | \ 22 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 23 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 24 | else rec = rec " " $$2 } } \ 25 | END { print rec } ' > makedep 26 | echo '$$r makedep' >>eddep 27 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 28 | echo '$$r makedep' >>eddep 29 | echo 'w' >>eddep 30 | rm -f Makefile.bak 31 | cp Makefile Makefile.bak 32 | chmod +w Makefile 33 | ed - Makefile < eddep 34 | rm eddep makedep 35 | touch .depend_done 36 | 37 | # DO NOT DELETE THIS LINE -- make depend uses it 38 | 39 | #include "exec.h" 40 | -------------------------------------------------------------------------------- /srec/Makefile.bak: -------------------------------------------------------------------------------- 1 | CFILES= srec.c 2 | OBJS= srec.o 3 | CFLAGS= -O 4 | 5 | all: srec 6 | 7 | srec: .depend_done ${OBJS} 8 | $(CC) -o srec ${OBJS} 9 | rm -f ../conf/srec 10 | install -s srec ../conf 11 | 12 | clean: 13 | rm -f ${OBJS} srec .depend_done 14 | 15 | install: srec 16 | 17 | depend .depend_done: 18 | grep '^#include' ${CFILES} | grep -v '<' | \ 19 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 20 | -e 's/\.c/.o/' \ 21 | -e 's,../[a-zA-Z]*/,,' | \ 22 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 23 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 24 | else rec = rec " " $$2 } } \ 25 | END { print rec } ' > makedep 26 | echo '$$r makedep' >>eddep 27 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 28 | echo '$$r makedep' >>eddep 29 | echo 'w' >>eddep 30 | rm -f Makefile.bak 31 | cp Makefile Makefile.bak 32 | chmod +w Makefile 33 | ed - Makefile < eddep 34 | rm eddep makedep 35 | touch .depend_done 36 | 37 | # DO NOT DELETE THIS LINE -- make depend uses it 38 | 39 | #include "exec.h" 40 | -------------------------------------------------------------------------------- /loaddataIO/Makefile: -------------------------------------------------------------------------------- 1 | CFILES= main.c 2 | OBJS= main.o 3 | CFLAGS= -O -g 4 | 5 | all: loaddataIO 6 | 7 | loaddataIO: .depend_done ${OBJS} 8 | $(CC) $(CFLAGS) -o loaddataIO ${OBJS} 9 | rm -f ../conf/loaddataIO 10 | install -s loaddataIO ../conf 11 | 12 | clean: 13 | rm -f $(OBJS) loaddataIO .depend_done 14 | 15 | install: loaddataIO 16 | 17 | depend .depend_done: 18 | grep '^#include' ${CFILES} | grep -v '<' | \ 19 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 20 | -e 's/\.c/.o/' \ 21 | -e 's,../[a-zA-Z]*/,,' | \ 22 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 23 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 24 | else rec = rec " " $$2 } } \ 25 | END { print rec } ' > makedep 26 | echo '$$r makedep' >>eddep 27 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 28 | echo '$$r makedep' >>eddep 29 | echo 'w' >>eddep 30 | rm -f Makefile.bak 31 | cp Makefile Makefile.bak 32 | chmod +w Makefile 33 | ed - Makefile < eddep 34 | rm eddep makedep 35 | touch .depend_done 36 | 37 | # DO NOT DELETE THIS LINE -- make depend uses it 38 | 39 | -------------------------------------------------------------------------------- /pot/flip32x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7f, 0x5f, 4 | 0x57, 0xd5, 0x55, 0x55, 0x55, 0x55, 0xff, 0x5f, 0x57, 0xd5, 0x55, 0x55, 5 | 0x55, 0x56, 0xf5, 0x6f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xe5, 0x7e, 6 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x7f, 0xfd, 0x7d, 0x5f, 0x57, 0xdf, 0xe5, 7 | 0x55, 0x57, 0xd5, 0x7d, 0x5f, 0x57, 0xff, 0xf9, 0x55, 0x5b, 0xd5, 0xbd, 8 | 0x6f, 0x5b, 0xf5, 0xbd, 0x55, 0x5f, 0x95, 0xf9, 0x7e, 0x5f, 0xd5, 0x7d, 9 | 0x55, 0x5f, 0x55, 0xf5, 0x7d, 0x5f, 0x95, 0x7d, 0x55, 0x5f, 0x55, 0xf5, 10 | 0x7d, 0x5f, 0x55, 0x7d, 0x55, 0x6f, 0x56, 0xf5, 0xbd, 0x6f, 0x55, 0xf9, 11 | 0x55, 0x7e, 0x57, 0xe5, 0xf9, 0x7f, 0x97, 0xf5, 0x55, 0x7d, 0x57, 0xd5, 12 | 0xf5, 0x7f, 0xff, 0xd5, 0x55, 0x7d, 0x57, 0xd5, 0xf5, 0x7e, 0xfe, 0x55, 13 | 0x55, 0x55, 0x55, 0x55, 0x55, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 14 | 0x55, 0xf9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 15 | 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 16 | 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /bitmaps/flip32x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7f, 0x5f, 4 | 0x57, 0xd5, 0x55, 0x55, 0x55, 0x55, 0xff, 0x5f, 0x57, 0xd5, 0x55, 0x55, 5 | 0x55, 0x56, 0xf5, 0x6f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xe5, 0x7e, 6 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x7f, 0xfd, 0x7d, 0x5f, 0x57, 0xdf, 0xe5, 7 | 0x55, 0x57, 0xd5, 0x7d, 0x5f, 0x57, 0xff, 0xf9, 0x55, 0x5b, 0xd5, 0xbd, 8 | 0x6f, 0x5b, 0xf5, 0xbd, 0x55, 0x5f, 0x95, 0xf9, 0x7e, 0x5f, 0xd5, 0x7d, 9 | 0x55, 0x5f, 0x55, 0xf5, 0x7d, 0x5f, 0x95, 0x7d, 0x55, 0x5f, 0x55, 0xf5, 10 | 0x7d, 0x5f, 0x55, 0x7d, 0x55, 0x6f, 0x56, 0xf5, 0xbd, 0x6f, 0x55, 0xf9, 11 | 0x55, 0x7e, 0x57, 0xe5, 0xf9, 0x7f, 0x97, 0xf5, 0x55, 0x7d, 0x57, 0xd5, 12 | 0xf5, 0x7f, 0xff, 0xd5, 0x55, 0x7d, 0x57, 0xd5, 0xf5, 0x7e, 0xfe, 0x55, 13 | 0x55, 0x55, 0x55, 0x55, 0x55, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 14 | 0x55, 0xf9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 15 | 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 16 | 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /loaddataIO/Makefile.bak: -------------------------------------------------------------------------------- 1 | CFILES= main.c 2 | OBJS= main.o 3 | CFLAGS= -O -g 4 | 5 | all: loaddataIO 6 | 7 | loaddataIO: .depend_done ${OBJS} 8 | $(CC) $(CFLAGS) -o loaddataIO ${OBJS} 9 | rm -f ../conf/loaddataIO 10 | install -s loaddataIO ../conf 11 | 12 | clean: 13 | rm -f $(OBJS) loaddataIO .depend_done 14 | 15 | install: loaddataIO 16 | 17 | depend .depend_done: 18 | grep '^#include' ${CFILES} | grep -v '<' | \ 19 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 20 | -e 's/\.c/.o/' \ 21 | -e 's,../[a-zA-Z]*/,,' | \ 22 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 23 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 24 | else rec = rec " " $$2 } } \ 25 | END { print rec } ' > makedep 26 | echo '$$r makedep' >>eddep 27 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 28 | echo '$$r makedep' >>eddep 29 | echo 'w' >>eddep 30 | rm -f Makefile.bak 31 | cp Makefile Makefile.bak 32 | chmod +w Makefile 33 | ed - Makefile < eddep 34 | rm eddep makedep 35 | touch .depend_done 36 | 37 | # DO NOT DELETE THIS LINE -- make depend uses it 38 | 39 | -------------------------------------------------------------------------------- /pot/flipdisk32x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x14, 3 | 0xa8, 0x50, 0x3f, 0xff, 0xff, 0xfc, 0x01, 0xe9, 0xa8, 0x43, 0xfa, 0x95, 4 | 0x44, 0x0c, 0x41, 0xea, 0xb8, 0x0e, 0xea, 0x75, 0x50, 0x0e, 0xa5, 0xe9, 5 | 0xa8, 0x0e, 0xea, 0xbd, 0x44, 0x0e, 0xa1, 0xe6, 0xec, 0x3a, 0xea, 0x73, 6 | 0x50, 0x0e, 0xa5, 0xe9, 0xb8, 0x3a, 0xbe, 0xb1, 0xc4, 0x0e, 0xa5, 0xe6, 7 | 0xec, 0x3a, 0x67, 0xf0, 0x70, 0x0e, 0xa1, 0xd9, 0xb8, 0x3a, 0x95, 0x01, 8 | 0x1f, 0xfe, 0xa5, 0xe5, 0xec, 0x3a, 0x64, 0x40, 0x57, 0xaa, 0xa5, 0xd5, 9 | 0xf8, 0x3a, 0x95, 0x01, 0x15, 0xea, 0xa5, 0xd4, 0xfc, 0x5e, 0x64, 0x40, 10 | 0x55, 0x79, 0x55, 0xd1, 0xfc, 0x5e, 0x95, 0x01, 0x15, 0xea, 0x55, 0xc4, 11 | 0xbc, 0x47, 0xe4, 0x40, 0x57, 0xa9, 0x55, 0xd0, 0xec, 0x51, 0x7d, 0x01, 12 | 0x1e, 0xa5, 0x55, 0xc4, 0xb8, 0x45, 0x17, 0xf0, 0x7a, 0x95, 0x55, 0xd0, 13 | 0xa8, 0x55, 0x51, 0x71, 0xea, 0x55, 0x55, 0xc0, 0x64, 0x44, 0x45, 0x73, 14 | 0xa9, 0x55, 0x55, 0xc1, 0x98, 0x55, 0x55, 0x7e, 0xa5, 0x55, 0x55, 0xc4, 15 | 0x54, 0x45, 0x15, 0x76, 0x95, 0x55, 0x55, 0xd5, 0x54, 0x55, 0x55, 0x56, 16 | 0x55, 0x55, 0x55, 0xe6, -------------------------------------------------------------------------------- /bitmaps/flipdisk32x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x14, 3 | 0xa8, 0x50, 0x3f, 0xff, 0xff, 0xfc, 0x01, 0xe9, 0xa8, 0x43, 0xfa, 0x95, 4 | 0x44, 0x0c, 0x41, 0xea, 0xb8, 0x0e, 0xea, 0x75, 0x50, 0x0e, 0xa5, 0xe9, 5 | 0xa8, 0x0e, 0xea, 0xbd, 0x44, 0x0e, 0xa1, 0xe6, 0xec, 0x3a, 0xea, 0x73, 6 | 0x50, 0x0e, 0xa5, 0xe9, 0xb8, 0x3a, 0xbe, 0xb1, 0xc4, 0x0e, 0xa5, 0xe6, 7 | 0xec, 0x3a, 0x67, 0xf0, 0x70, 0x0e, 0xa1, 0xd9, 0xb8, 0x3a, 0x95, 0x01, 8 | 0x1f, 0xfe, 0xa5, 0xe5, 0xec, 0x3a, 0x64, 0x40, 0x57, 0xaa, 0xa5, 0xd5, 9 | 0xf8, 0x3a, 0x95, 0x01, 0x15, 0xea, 0xa5, 0xd4, 0xfc, 0x5e, 0x64, 0x40, 10 | 0x55, 0x79, 0x55, 0xd1, 0xfc, 0x5e, 0x95, 0x01, 0x15, 0xea, 0x55, 0xc4, 11 | 0xbc, 0x47, 0xe4, 0x40, 0x57, 0xa9, 0x55, 0xd0, 0xec, 0x51, 0x7d, 0x01, 12 | 0x1e, 0xa5, 0x55, 0xc4, 0xb8, 0x45, 0x17, 0xf0, 0x7a, 0x95, 0x55, 0xd0, 13 | 0xa8, 0x55, 0x51, 0x71, 0xea, 0x55, 0x55, 0xc0, 0x64, 0x44, 0x45, 0x73, 14 | 0xa9, 0x55, 0x55, 0xc1, 0x98, 0x55, 0x55, 0x7e, 0xa5, 0x55, 0x55, 0xc4, 15 | 0x54, 0x45, 0x15, 0x76, 0x95, 0x55, 0x55, 0xd5, 0x54, 0x55, 0x55, 0x56, 16 | 0x55, 0x55, 0x55, 0xe6, -------------------------------------------------------------------------------- /pot/expand.h: -------------------------------------------------------------------------------- 1 | /* @(#)expand.h 1.0 08/15/88 (c) 1988 NeXT Inc. */ 2 | /* 3 | * ************************************************************************* 4 | * 5 | * 6 | * 7 | * 8 | * expand.h -- expands compressed pictures. ROM version 9 | * 10 | * boot rom video compression and expansion. Assumes 2 bit graphics, and the 11 | * compressed runs break at each line, so that a run will never be part of 12 | * 2 lines 13 | * 14 | * 15 | * HISTORY 16 | * 17 | * 11-August-88 Joe Becker (jbecker) at NeXT Created. 18 | * 19 | ****************************************************************** 20 | * 21 | * 22 | */ 23 | 24 | #include 25 | 26 | struct compressed_group { 27 | u_char count[4]; 28 | u_char value; /* four 2 bit pixels packed into a byte */ 29 | }; 30 | 31 | /* FIXME: sizeof macro returns word aligned, but ROM data is packed */ 32 | #define TRUE_SIZE_OF_GROUP 5 33 | 34 | /* FIXME? Is there a clever and clear way to indicate the data is packed 35 | as tight as possible after the number of rows? */ 36 | 37 | struct compressed_picture { 38 | char type, spare[3]; 39 | int row_length, num_rows; 40 | }; 41 | -------------------------------------------------------------------------------- /mon/sio.h: -------------------------------------------------------------------------------- 1 | /* @(#)sio.h 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | #ifndef _SIO_ 4 | #define _SIO_ 5 | 6 | #import 7 | 8 | enum SIO_ARGS { 9 | SIO_AUTOBOOT, 10 | SIO_SPECIFIED, 11 | SIO_ANY, 12 | }; 13 | 14 | struct sio { 15 | enum SIO_ARGS si_args; 16 | u_int si_ctrl, si_unit, si_part; 17 | struct device *si_dev; 18 | u_int si_blklen; /* device "addressable block" length */ 19 | u_int si_lastlba; /* device "last logical blk addr" */ 20 | caddr_t si_sadmem, si_protomem, si_devmem; 21 | }; 22 | 23 | struct protocol { 24 | int (*p_open)(); 25 | int (*p_close)(); 26 | int (*p_boot)(); 27 | }; 28 | 29 | /* codes returned by p_open and p_boot */ 30 | #define BE_NODEV 1 /* no device present */ 31 | #define BE_FLIP 2 /* media upside down */ 32 | #define BE_INSERT 3 /* no media present */ 33 | #define BE_INIT 4 /* media not initialized */ 34 | 35 | struct device { 36 | int (*d_open)(); 37 | int (*d_close)(); 38 | int (*d_read)(); 39 | int (*d_write)(); 40 | int (*d_label_blkno)(); 41 | int d_io_type; 42 | #define D_IOT_CHAR 0 43 | #define D_IOT_PACKET 1 44 | }; 45 | 46 | #define RAW_IO 0x80 /* flag to specify raw 8-bit device I/O */ 47 | 48 | #endif _SIO_ 49 | 50 | -------------------------------------------------------------------------------- /bitmaps/bad40x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x14, 3 | 0x18, 0x55, 0x01, 0x55, 0x02, 0x55, 0x06, 0x55, 0x0a, 0x56, 0x01, 0x57, 4 | 0x01, 0x5b, 0x01, 0x5f, 0x01, 0x6f, 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 5 | 0x01, 0x95, 0x01, 0x97, 0x01, 0xbd, 0x01, 0xbf, 0x01, 0xd5, 0x01, 0xdf, 6 | 0x01, 0xe5, 0x01, 0xf5, 0x01, 0xf9, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 7 | 0x01, 0x03, 0x01, 0x13, 0x02, 0x09, 0x01, 0x13, 0x02, 0x09, 0x00, 0x04, 8 | 0x13, 0x02, 0x0e, 0x00, 0x05, 0x12, 0x02, 0x14, 0x00, 0x05, 0x11, 0x12, 9 | 0x00, 0x0f, 0x0c, 0x05, 0x15, 0x13, 0x00, 0x05, 0x17, 0x14, 0x05, 0x17, 10 | 0x12, 0x07, 0x17, 0x13, 0x00, 0x06, 0x13, 0x0e, 0x05, 0x10, 0x13, 0x0b, 11 | 0x06, 0x13, 0x00, 0x07, 0x10, 0x09, 0x00, 0x06, 0x13, 0x0e, 0x05, 0x12, 12 | 0x00, 0x07, 0x00, 0x09, 0x06, 0x17, 0x12, 0x14, 0x05, 0x10, 0x00, 0x07, 13 | 0x00, 0x09, 0x08, 0x0d, 0x10, 0x13, 0x06, 0x10, 0x00, 0x08, 0x00, 0x14, 14 | 0x0a, 0x05, 0x10, 0x13, 0x07, 0x10, 0x00, 0x0b, 0x0d, 0x13, 0x09, 0x07, 15 | 0x0c, 0x14, 0x0b, 0x0c, 0x00, 0x0b, 0x17, 0x10, 0x0b, 0x17, 0x00, 0x0f, 16 | 0x17, 0x00, 0x00, 0x09, 0x16, 0x00, 0x07, 0x11, 0x00, 0x08, 0x11, 0x00, 17 | 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, -------------------------------------------------------------------------------- /subr/getput.c: -------------------------------------------------------------------------------- 1 | /* @(#)getput.c 1.0 10/10/86 (c) 1986 NeXT */ 2 | 3 | #include 4 | #include 5 | 6 | mon_getc () { 7 | register struct mon_global *mg = restore_mg(); 8 | 9 | switch (mg->mg_console_i) { 10 | case CONS_I_KBD: 11 | return (kmgetc (0)); 12 | case CONS_I_SCC_A: 13 | return (getc (0)); 14 | case CONS_I_SCC_B: 15 | return (getc (1)); 16 | case CONS_I_NET: 17 | return; 18 | } 19 | } 20 | 21 | mon_try_getc () { 22 | register struct mon_global *mg = restore_mg(); 23 | 24 | switch (mg->mg_console_i) { 25 | case CONS_I_KBD: 26 | return (kmis_char (0)); 27 | case CONS_I_SCC_A: 28 | return (is_char (0)); 29 | case CONS_I_SCC_B: 30 | return (is_char (1)); 31 | case CONS_I_NET: 32 | return; 33 | } 34 | } 35 | 36 | mon_putc (c) 37 | char c; 38 | { 39 | register struct mon_global *mg = restore_mg(); 40 | 41 | again: 42 | switch (mg->mg_console_o) { 43 | case CONS_O_BITMAP: 44 | if (kmputc (0, c) == 0) 45 | goto again; /* console changed */ 46 | break; 47 | case CONS_O_SCC_A: 48 | putc (0, c); 49 | break; 50 | case CONS_O_SCC_B: 51 | putc (1, c); 52 | break; 53 | case CONS_O_NET: 54 | break; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /mon/kmreg.h: -------------------------------------------------------------------------------- 1 | /* @(#)kmreg.h 1.0 10/12/87 (c) 1987 NeXT */ 2 | 3 | /* 4 | * HISTORY 5 | * 12-Oct-87 John Seamons (jks) at NeXT 6 | * Created. 7 | */ 8 | 9 | #ifndef KMREG_MON_H 10 | #define KMREG_MON_H 11 | 12 | #import "sys/types.h" 13 | #import "sys/ioctl.h" 14 | #import "sys/tty.h" 15 | #import "nextdev/kmreg.h" 16 | #import "mon/nvram.h" 17 | 18 | struct km_mon { 19 | union kybd_event kybd_event; 20 | union kybd_event autorepeat_event; 21 | short x, y; 22 | short nc_tm, nc_lm, nc_w, nc_h; 23 | int store; 24 | int fg, bg; 25 | short ansi; 26 | short *cp; 27 | #define KM_NP 3 28 | short p[KM_NP]; 29 | volatile short flags; 30 | #define KMF_INIT 0x0001 31 | #define KMF_AUTOREPEAT 0x0002 32 | #define KMF_STOP 0x0004 33 | #define KMF_SEE_MSGS 0x0008 34 | #define KMF_PERMANENT 0x0010 35 | #define KMF_ALERT 0x0020 36 | #define KMF_HW_INIT 0x0040 37 | #define KMF_MON_INIT 0x0080 38 | 39 | #if defined(MONITOR) 40 | #define KMF_CURSOR 0x0100 41 | #define KMF_NMI 0x0200 42 | #else /* KERNEL */ 43 | /* Assorted stuff for kernel console support */ 44 | #define KMF_ALERT_KEY 0x0100 45 | #define KMF_CURSOR 0x0200 46 | #define KMF_ANIM_RUN 0x0400 47 | #endif /* KERNEL */ 48 | }; 49 | 50 | #endif KMREG_MON_H 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /diag/edp.h: -------------------------------------------------------------------------------- 1 | /* @(#)edp.h 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | #ifndef _EDP_ 4 | #define _EDP_ 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | extern u_char clientetheraddr[]; 15 | 16 | struct edp_hdr { 17 | int th_seq; 18 | short th_func; 19 | union { 20 | short th_Error; 21 | short th_Bno; 22 | char th_Buf[1]; 23 | } th_un; 24 | }; 25 | 26 | #define th_error th_un.th_Error 27 | #define th_bno th_un.th_Bno 28 | #define th_buf th_un.th_Buf 29 | 30 | /* func */ 31 | #define EDP_ECHO 1 32 | 33 | /* error */ 34 | #define EDP_MAXERR 8 35 | 36 | #define EDP_BSIZE 1500 37 | 38 | struct edp_packet { 39 | struct ether_header tp_ether; 40 | struct ip tp_ip; 41 | struct edp_hdr tp_hdr; 42 | u_char tp_buf[EDP_BSIZE]; 43 | }; 44 | 45 | #define EDP_HDRSIZE \ 46 | (sizeof (struct ether_header) + sizeof (struct ip) + \ 47 | sizeof (struct edp_hdr)) 48 | 49 | struct edp_softc { 50 | struct sio ts_si; 51 | struct edp_packet ts_xmit, ts_recv; 52 | struct in_addr ts_clientipaddr; 53 | u_char ts_clientetheraddr[6]; 54 | u_char ts_serveretheraddr[6]; 55 | int ts_xid; 56 | }; 57 | #endif _EDP_ 58 | -------------------------------------------------------------------------------- /dev/timer.c: -------------------------------------------------------------------------------- 1 | /* @(#)timer.c 1.0 5/20/87 (c) 1987 NeXT */ 2 | 3 | #include 4 | #include 5 | 6 | #define EVENTC_LATCH (volatile u_char*) (P_EVENTC + 0) 7 | #define EVENTC_H (volatile u_char*) (P_EVENTC + 1) 8 | #define EVENTC_M (volatile u_char*) (P_EVENTC + 2) 9 | #define EVENTC_L (volatile u_char*) (P_EVENTC + 3) 10 | #define EVENT_HIGHBIT 0x80000 11 | #define EVENT_MASK 0xfffff 12 | 13 | /* Return 32 bit representation of event counter */ 14 | unsigned int event_get(void) 15 | { 16 | register struct mon_global *mg = restore_mg(); 17 | u_int high, low; 18 | 19 | high = mg->event_high; 20 | low = *EVENTC_LATCH; /* load the latch from the event counter */ 21 | low = (*EVENTC_H << 16) | (*EVENTC_M << 8) | *EVENTC_L; 22 | low &= EVENT_MASK; 23 | if ((high ^ low) & EVENT_HIGHBIT) 24 | high += EVENT_HIGHBIT; 25 | mg->event_high = high; 26 | return (high | low); 27 | } 28 | 29 | /* 30 | * Returns the value of a free running, millisecond resolution clock. 31 | */ 32 | mon_time() { 33 | return (event_get() / 1000); 34 | } 35 | 36 | #if 0 37 | /* 38 | * Delay for the specified number of microseconds. 39 | */ 40 | delay(n) 41 | int n; 42 | { 43 | register int d = event_get(); 44 | 45 | while (event_get() - d < (n+1)) 46 | continue; 47 | } 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /bitmaps/from48x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 3 | 0x1b, 0x55, 0x01, 0x55, 0x02, 0x55, 0x09, 0x55, 0x0c, 0x56, 0x01, 0x57, 4 | 0x01, 0x5b, 0x01, 0x5f, 0x01, 0x6f, 0x01, 0x7d, 0x01, 0x7d, 0x02, 0x7e, 5 | 0x01, 0x7f, 0x01, 0x95, 0x01, 0x97, 0x01, 0xbd, 0x01, 0xbf, 0x01, 0xd5, 6 | 0x01, 0xdb, 0x01, 0xe5, 0x01, 0xef, 0x01, 0xf5, 0x01, 0xf6, 0x01, 0xf9, 7 | 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x01, 0x03, 0x01, 0x0c, 0x02, 0x01, 8 | 0x1a, 0x02, 0x00, 0x04, 0x15, 0x02, 0x00, 0x05, 0x13, 0x02, 0x00, 0x0c, 9 | 0x18, 0x09, 0x18, 0x08, 0x13, 0x07, 0x08, 0x06, 0x11, 0x00, 0x00, 0x05, 10 | 0x11, 0x0c, 0x18, 0x1a, 0x17, 0x07, 0x10, 0x14, 0x15, 0x00, 0x00, 0x06, 11 | 0x11, 0x10, 0x05, 0x15, 0x0f, 0x08, 0x12, 0x16, 0x15, 0x00, 0x00, 0x07, 12 | 0x0d, 0x17, 0x06, 0x11, 0x09, 0x0b, 0x07, 0x0e, 0x13, 0x00, 0x00, 0x07, 13 | 0x00, 0x15, 0x07, 0x00, 0x0a, 0x07, 0x05, 0x11, 0x00, 0x00, 0x07, 0x00, 14 | 0x15, 0x07, 0x00, 0x0a, 0x07, 0x05, 0x11, 0x00, 0x00, 0x08, 0x04, 0x15, 15 | 0x07, 0x00, 0x17, 0x0f, 0x08, 0x06, 0x11, 0x00, 0x00, 0x0b, 0x05, 0x13, 16 | 0x07, 0x0e, 0x15, 0x17, 0x0b, 0x07, 0x0d, 0x00, 0x00, 0x09, 0x05, 0x11, 17 | 0x06, 0x1a, 0x11, 0x15, 0x09, 0x07, 0x01, 0x00, 0x09, 0x05, 0x11, 0x04, 18 | 0x19, 0x00, 0x15, 0x09, 0x07, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, -------------------------------------------------------------------------------- /loadice/loadice.hlp: -------------------------------------------------------------------------------- 1 | Valid dialog mode commands are: 2 | 3 | b - toggle Bus Req/Bus Ack mode on or off 4 | c - compare image to Promice 5 | d [unit:]address - dump 16 bytes starting at address 6 | e [unit:]address - edit bytes starting at address 7 | f StartAddr EndAddr Value - fill image with 'value' in range 8 | g filename - get Binary file and put in image 9 | h filename - load Hex file into image and Promice 10 | l [filename] - load Binary file into image and Promice 11 | m StartAddr EndAddr DestAddr - move block to Destination in image 12 | p StartAddr EndAddr DestAddr - same as move but allows DestAddr to overlap 13 | with 'range' (you can fill pattern) 14 | r time - reset target for time milliseconds 15 | s filename - save image as filename 16 | t unit - test Promice emulation RAM 17 | v unit - print version number of Promice firmware 18 | x - exit LoadICE or edit mode 19 | ? - type this file 20 | ! command - execute DOS command 21 | -------------------------------------------------------------------------------- /bitmaps/disk48x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 3 | 0x1c, 0x55, 0x01, 0x55, 0x02, 0x55, 0x03, 0x55, 0x04, 0x55, 0x0c, 0x56, 4 | 0x01, 0x57, 0x01, 0x5b, 0x01, 0x5f, 0x01, 0x6f, 0x01, 0x7d, 0x01, 0x7d, 5 | 0x02, 0x7e, 0x01, 0x7f, 0x01, 0xbd, 0x01, 0xbf, 0x01, 0xd5, 0x01, 0xd6, 6 | 0x01, 0xd7, 0x01, 0xe5, 0x01, 0xf5, 0x01, 0xf5, 0x02, 0xf6, 0x01, 0xf7, 7 | 0x01, 0xf9, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x01, 0x04, 0x02, 0x08, 8 | 0x06, 0x10, 0x01, 0x08, 0x02, 0x02, 0x08, 0x06, 0x10, 0x01, 0x08, 0x02, 9 | 0x02, 0x09, 0x03, 0x09, 0x02, 0x02, 0x0c, 0x03, 0x0c, 0x02, 0x01, 0x1b, 10 | 0x0a, 0x08, 0x00, 0x0f, 0x10, 0x0a, 0x08, 0x01, 0x00, 0x06, 0x1b, 0x19, 11 | 0x08, 0x06, 0x1b, 0x14, 0x0b, 0x01, 0x00, 0x08, 0x11, 0x19, 0x09, 0x08, 12 | 0x10, 0x14, 0x0e, 0x14, 0x01, 0x00, 0x09, 0x00, 0x18, 0x0c, 0x08, 0x01, 13 | 0x1b, 0x10, 0x01, 0x00, 0x0a, 0x00, 0x14, 0x0a, 0x07, 0x1a, 0x00, 0x1b, 14 | 0x10, 0x01, 0x00, 0x0a, 0x05, 0x14, 0x0a, 0x05, 0x1b, 0x10, 0x16, 0x13, 15 | 0x01, 0x00, 0x0a, 0x06, 0x14, 0x0e, 0x00, 0x06, 0x11, 0x15, 0x01, 0x00, 16 | 0x0c, 0x08, 0x13, 0x18, 0x0a, 0x07, 0x12, 0x13, 0x18, 0x01, 0x00, 0x09, 17 | 0x1b, 0x10, 0x14, 0x0d, 0x1b, 0x06, 0x10, 0x0e, 0x01, 0x00, 0x07, 0x17, 18 | 0x10, 0x14, 0x08, 0x19, 0x06, 0x10, 0x0a, 0x01, 0x04, 0x04, 0x04, 0x04, 19 | 0x04, 0x00, 0x00, 0x00, -------------------------------------------------------------------------------- /conf/files: -------------------------------------------------------------------------------- 1 | sys/locore.s standard 2 | sys/main.c standard 3 | sys/setreg.c standard 4 | sys/mem.c standard 5 | sys/help.c standard 6 | pot/POTUtils.s standard 7 | pot/expand.c standard 8 | pot/pics.c standard 9 | pot/MemoryTest.s standard 10 | pot/POT.c standard 11 | pot/fpu_utils.s standard 12 | boot/boot.c standard 13 | boot/loader.c standard 14 | boot/tftp.c optional netboot 15 | boot/srec.c optional srecboot 16 | boot/sadecomp.c optional compboot 17 | subr/cksum.c standard 18 | subr/prf.c standard 19 | subr/gets.c standard 20 | subr/util.c standard 21 | subr/libc.s standard 22 | subr/getput.c standard 23 | subr/ppkt.c optional PPKT 24 | subr/inet_ntoa.c optional PPKT 25 | dev/nvram.c standard 26 | dev/timer.c standard 27 | dev/zs.c standard 28 | dev/en.c standard 29 | dev/km.c standard 30 | dev/sc.c optional scsiboot 31 | dev/sd.c optional scsiboot 32 | dev/dma.c optional scsiboot 33 | dev/dma.c optional odboot 34 | dev/dma.c optional fdboot 35 | dev/diskproto.c optional scsiboot 36 | dev/diskproto.c optional odboot 37 | dev/diskproto.c optional fdboot 38 | dev/od.c optional odboot 39 | diag/enet.c optional ENETDIAG 40 | diag/dbug_dma.c optional DBUG_DMA 41 | dev/fd_driver.c optional fdboot 42 | dev/fd_subr.c optional fdboot 43 | dev/fd_io.c optional fdboot 44 | dev/fd_cmds.c optional fdboot 45 | 46 | 47 | -------------------------------------------------------------------------------- /srec2crc/Makefile: -------------------------------------------------------------------------------- 1 | CFILES= main.c calculateCRC.s 2 | OBJS= main.o calculateCRC.o 3 | CFLAGS= -O 4 | 5 | all: srec2crc 6 | 7 | srec2crc: .depend_done ${OBJS} 8 | $(CC) $(CFLAGS) -o srec2crc ${OBJS} 9 | rm -f ../conf/srec2crc 10 | install -s srec2crc ../conf 11 | 12 | calculateCRC.o: calculateCRC.s 13 | -ln -s calculateCRC.s calculateCRC.c 14 | ${CC} -E ${COPTS} calculateCRC.c >calculateCRC.p 15 | ${AS} ${AFLAGS} calculateCRC.p -o calculateCRC.o 16 | rm -f calculateCRC.p calculateCRC.c 17 | clean: 18 | rm -f $(OBJS) srec2crc .depend_done 19 | 20 | install: srec2crc 21 | 22 | depend .depend_done: 23 | grep '^#include' ${CFILES} | grep -v '<' | \ 24 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 25 | -e 's/\.c/.o/' \ 26 | -e 's,../[a-zA-Z]*/,,' | \ 27 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 28 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 29 | else rec = rec " " $$2 } } \ 30 | END { print rec } ' > makedep 31 | echo '$$r makedep' >>eddep 32 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 33 | echo '$$r makedep' >>eddep 34 | echo 'w' >>eddep 35 | rm -f Makefile.bak 36 | cp Makefile Makefile.bak 37 | chmod +w Makefile 38 | ed - Makefile < eddep 39 | rm eddep makedep 40 | touch .depend_done 41 | 42 | # DO NOT DELETE THIS LINE -- make depend uses it 43 | 44 | -------------------------------------------------------------------------------- /srec2crc/Makefile.bak: -------------------------------------------------------------------------------- 1 | CFILES= main.c calculateCRC.s 2 | OBJS= main.o calculateCRC.o 3 | CFLAGS= -O 4 | 5 | all: srec2crc 6 | 7 | srec2crc: .depend_done ${OBJS} 8 | $(CC) $(CFLAGS) -o srec2crc ${OBJS} 9 | rm -f ../conf/srec2crc 10 | install -s srec2crc ../conf 11 | 12 | calculateCRC.o: calculateCRC.s 13 | -ln -s calculateCRC.s calculateCRC.c 14 | ${CC} -E ${COPTS} calculateCRC.c >calculateCRC.p 15 | ${AS} ${AFLAGS} calculateCRC.p -o calculateCRC.o 16 | rm -f calculateCRC.p calculateCRC.c 17 | clean: 18 | rm -f $(OBJS) srec2crc .depend_done 19 | 20 | install: srec2crc 21 | 22 | depend .depend_done: 23 | grep '^#include' ${CFILES} | grep -v '<' | \ 24 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 25 | -e 's/\.c/.o/' \ 26 | -e 's,../[a-zA-Z]*/,,' | \ 27 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 28 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 29 | else rec = rec " " $$2 } } \ 30 | END { print rec } ' > makedep 31 | echo '$$r makedep' >>eddep 32 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 33 | echo '$$r makedep' >>eddep 34 | echo 'w' >>eddep 35 | rm -f Makefile.bak 36 | cp Makefile Makefile.bak 37 | chmod +w Makefile 38 | ed - Makefile < eddep 39 | rm eddep makedep 40 | touch .depend_done 41 | 42 | # DO NOT DELETE THIS LINE -- make depend uses it 43 | 44 | -------------------------------------------------------------------------------- /subr/gets.c: -------------------------------------------------------------------------------- 1 | /* @(#)gets.c 1.0 10/10/86 (c) 1986 NeXT */ 2 | 3 | #include 4 | 5 | #ifdef gcc 6 | #define void int 7 | #endif gcc 8 | 9 | gets (bp, max, echo) 10 | register u_char *bp; 11 | { 12 | register int cc = 0, c; 13 | register u_char *limit = bp + max - 1; 14 | 15 | while (1) { 16 | 17 | switch (c = mon_getc()) { 18 | case -1: 19 | return (-1); /* mouse down */ 20 | case '\b': /* erase char */ 21 | case '\177': 22 | if (cc) { 23 | if (echo) 24 | printf ("\b \b"); 25 | cc--; bp--; 26 | } 27 | break; 28 | case '\025': /* erase line (^U) */ 29 | while (cc) { 30 | if (echo) 31 | printf ("\b \b"); 32 | cc--; bp--; 33 | } 34 | break; 35 | case '\027': /* erase word (^W) */ 36 | while (cc && *(bp-1) == ' ') { 37 | if (echo) 38 | printf ("\b \b"); 39 | cc--; bp--; 40 | } 41 | while (cc && *(bp-1) != ' ' && *(bp-1) != '/') { 42 | if (echo) 43 | printf ("\b \b"); 44 | cc--; bp--; 45 | } 46 | break; 47 | case '\r': /* newline */ 48 | case '\n': 49 | if (echo) 50 | putchar ('\n'); 51 | *bp = 0; 52 | return (++cc); 53 | default: 54 | if (bp < limit) { 55 | if (echo) 56 | putchar (c); 57 | *bp++ = (u_char) c; 58 | cc++; 59 | } else 60 | putchar ('\007'); 61 | break; 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /loadice/loadice2.hlp: -------------------------------------------------------------------------------- 1 | Valid command line parameters are: 2 | 3 | -b baudrate - 1200, 2400, 4800, 9600, 19200 or 57600 4 | -d - enter dialog mode after building image 5 | -f [x]character - fill the image space with a character 6 | -ff [x]character - same as f except fills all of the image space 7 | -h - disable paced response from Promice, for 386's 8 | -i [x]offset filename - load a binary image skipping offset bytes 9 | -k start end dest - compute checksum from start to end, store in dest 10 | -l - load before going into dialog mode 11 | -m ID:start end - load data only in the specified range and unit 12 | -o device/file - select alternate output device or file 13 | -p - select parallel port option 14 | -r romsize - select alternate emulated ROM size 15 | -s address - change starting address of file 16 | -u ID - change the unit ID for loading the next file 17 | -v - disables the verify feature 18 | -w width - change the width of the data word (8,16 or 32) 19 | -x - inhibit validating checksums on hex records 20 | -z - don't exit on address out of range errors 21 | filename - hex file to be loaded into Promice 22 | -------------------------------------------------------------------------------- /pot/bad40x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7d, 0x55, 0x55, 0xf5, 0x55, 5 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x7d, 0x55, 0x56, 0xf5, 0x55, 0x55, 0x55, 6 | 0x55, 0x55, 0x55, 0xbd, 0x55, 0x57, 0xe5, 0x55, 0x55, 0x55, 0x55, 0x55, 7 | 0x55, 0xf9, 0x55, 0x57, 0xdf, 0xe5, 0x55, 0xbf, 0x95, 0x57, 0xfd, 0xf5, 8 | 0x55, 0x57, 0xff, 0xf9, 0x57, 0xff, 0xe5, 0x5f, 0xff, 0xf5, 0x55, 0x5b, 9 | 0xf5, 0xbd, 0x57, 0xd5, 0xf5, 0x7f, 0x5b, 0xf5, 0x55, 0x5f, 0xd5, 0x7d, 10 | 0x55, 0x5b, 0xf5, 0xbd, 0x57, 0xe5, 0x55, 0x5f, 0x55, 0x7d, 0x5b, 0xff, 11 | 0xe5, 0xf9, 0x57, 0xd5, 0x55, 0x5f, 0x55, 0x7d, 0x6f, 0x97, 0xd5, 0xf5, 12 | 0x5b, 0xd5, 0x55, 0x6f, 0x55, 0xf9, 0x7e, 0x57, 0xd5, 0xf5, 0x5f, 0xd5, 13 | 0x55, 0x7f, 0x97, 0xf5, 0x7d, 0x5f, 0x95, 0xf9, 0x7f, 0x95, 0x55, 0x7f, 14 | 0xff, 0xd5, 0x7f, 0xff, 0x55, 0xbf, 0xff, 0x55, 0x55, 0x7d, 0xfe, 0x55, 15 | 0x5f, 0xdf, 0x55, 0x6f, 0xdf, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 16 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 17 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 18 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 19 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /pot/.places.wmd: -------------------------------------------------------------------------------- 1 | Workspace Defaults Version 2.0 2 | DirectorySort Alpha 3 | DirPlaces DP 4 | 16 4 58 9 0 20 grayscsi372x65x2.squ1 3 21 diskarrow316x17x2.squ6 1 20 graydigit78x10x2.squ4 0 15 from48x20x2.squ2 0 15 disk48x20x2.squ12 3 5 POT.c6 0 20 graydigit68x10x2.squ1 2 21 diskarrow216x17x2.squ2 2 8 enet.squ3 0 8 expand.h1 0 10 compress.c9 3 8 logo.squ9 1 17 insert56x20x2.squ13 1 8 scsi.squ7 0 24 grayethernet188x84x2.squ6 3 20 graydigit98x10x2.squ9 2 18 loading72x20x2.squ7 3 23 grayoptical180x84x2.squ4 1 22 graybaddisk80x41x2.squ4 3 20 graydigit18x10x2.squ3 2 15 flip32x20x2.squ6 2 20 graydigit88x10x2.squ7 1 24 grayethernet288x63x2.squ4 2 20 graydigit08x10x2.squ14 3 4 .squ10 3 20 nextbox440x176x2.squ7 2 24 grayethernet388x63x2.squ2 3 8 expand.c0 2 18 booting72x20x2.squ14 0 15 simmIcon4MB.squ8 2 20 grayscsi180x95x2.squ13 3 17 simmIcon256KB.squ5 1 20 graydigit38x10x2.squ2 1 14 dots16x8x2.squ3 3 11 fpu_utils.s11 3 10 POTUtils.s5 0 20 graydigit28x10x2.squ14 2 19 testings80x40x2.squ10 1 19 minisimm24x64x2.squ8 0 23 grayoptical272x41x2.squ0 0 22 badgraydisk80x41x2.squ13 0 5 POT.h15 0 8 .squ.OLD13 2 15 simmIcon1MB.squ0 3 8 compress8 1 23 grayoptical372x41x2.squ1 1 21 diskarrow116x17x2.squ10 2 18 network80x20x2.squ11 0 8 opto.squ11 1 6 pics.c5 3 20 graydigit58x10x2.squ14 1 16 simm32x100x2.squ11 2 17 please64x20x2.squ0 1 14 bad40x20x2.squ5 2 20 graydigit48x10x2.squ8 3 20 grayscsi272x65x2.squ10 0 12 MemoryTest.s3 1 19 flipdisk32x20x2.squ 5 | -------------------------------------------------------------------------------- /bitmaps/insert56x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x14, 3 | 0x1f, 0x55, 0x01, 0x55, 0x02, 0x55, 0x0a, 0x55, 0x0b, 0x55, 0x0c, 0x55, 4 | 0x0e, 0x56, 0x01, 0x57, 0x01, 0x5b, 0x01, 0x5f, 0x01, 0x5f, 0x02, 0x6f, 5 | 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x95, 0x01, 0x97, 0x01, 0xbd, 6 | 0x01, 0xbf, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 0x01, 0xdf, 0x02, 0xe5, 7 | 0x01, 0xf5, 0x01, 0xf6, 0x01, 0xf9, 0x01, 0xfb, 0x01, 0xfd, 0x01, 0xfe, 8 | 0x01, 0xff, 0x01, 0x05, 0x01, 0x18, 0x03, 0x01, 0x18, 0x02, 0x18, 0x04, 9 | 0x06, 0x18, 0x04, 0x07, 0x17, 0x00, 0x07, 0x13, 0x19, 0x1a, 0x00, 0x12, 10 | 0x13, 0x08, 0x1a, 0x07, 0x16, 0x1c, 0x00, 0x07, 0x13, 0x1b, 0x1d, 0x07, 11 | 0x1e, 0x18, 0x0e, 0x1d, 0x07, 0x1e, 0x15, 0x13, 0x00, 0x08, 0x14, 0x1c, 12 | 0x0b, 0x09, 0x13, 0x18, 0x1c, 0x0b, 0x08, 0x18, 0x08, 0x13, 0x00, 0x09, 13 | 0x10, 0x18, 0x0b, 0x09, 0x00, 0x06, 0x18, 0x0a, 0x0f, 0x09, 0x0f, 0x00, 14 | 0x09, 0x07, 0x17, 0x0d, 0x08, 0x1d, 0x07, 0x1e, 0x1d, 0x09, 0x00, 0x09, 15 | 0x00, 0x00, 0x09, 0x07, 0x13, 0x0c, 0x06, 0x1e, 0x15, 0x13, 0x00, 0x09, 16 | 0x00, 0x0b, 0x00, 0x00, 0x0b, 0x08, 0x13, 0x11, 0x00, 0x07, 0x15, 0x13, 17 | 0x00, 0x0b, 0x00, 0x0d, 0x00, 0x00, 0x0d, 0x09, 0x0f, 0x1a, 0x0c, 0x08, 18 | 0x15, 0x17, 0x18, 0x0d, 0x00, 0x0c, 0x00, 0x00, 0x0c, 0x09, 0x00, 0x18, 19 | 0x0e, 0x1e, 0x06, 0x1e, 0x18, 0x0c, 0x00, 0x0e, 0x00, 0x00, 0x0c, 0x09, 20 | 0x00, 0x18, 0x09, 0x1c, 0x00, 0x12, 0x00, 0x0c, 0x00, 0x09, 0x00, 0x05, 21 | 0x05, 0x05, 0x05, 0x05, -------------------------------------------------------------------------------- /dev/scsivar.h: -------------------------------------------------------------------------------- 1 | /* 2 | * scsivar.h -- definitions of generic scsi driver data structures 3 | * PROM MONITOR VERSION 4 | * 5 | * HISTORY 6 | * 10-Sept-87 Mike DeMoney (mike) at NeXT 7 | * Created. 8 | */ 9 | 10 | /* 11 | * scsi_device -- one per scsi device 12 | */ 13 | struct scsi_device { 14 | u_char sd_target; /* scsi target number */ 15 | u_char sd_lun; /* lun on target */ 16 | /* 17 | * Info filled in by device level and passed to controller level 18 | * to start cmd 19 | * 20 | * NOTE: We don't guarantee that these values will be unchanged 21 | * after the command is executed. 22 | */ 23 | char sd_read; /* i/o from target to initiator */ 24 | union cdb sd_cdb; /* current cdb */ 25 | caddr_t sd_addr; /* buffer address */ 26 | long sd_bcount; /* dma byte count */ 27 | /* 28 | * this info is filled in by controller for return to device 29 | * level interrupt routine 30 | */ 31 | long sd_resid; /* # of requested bytes not xfered */ 32 | u_char sd_status; /* SCSI status if SDSTATE_COMPLETED */ 33 | u_char sd_state; /* device level fsm state */ 34 | }; 35 | 36 | #define SDSTATE_START 0 /* device yet to be selected */ 37 | #define SDSTATE_SELTIMEOUT 1 /* timeout on target selection */ 38 | #define SDSTATE_COMPLETED 2 /* target sent COMMAND COMPLETE msg */ 39 | #define SDSTATE_ABORTED 3 /* target disconnected unexpectedly */ 40 | #define SDSTATE_UNIMPLEMENTED 4 /* ctrlr can't do what device asked */ 41 | #define SDSTATE_RESET 5 /* bus is in reset state - abort */ 42 | 43 | -------------------------------------------------------------------------------- /pot/disk48x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0x55, 0x55, 0x55, 0x5f, 0x57, 0xd5, 0x55, 0x55, 0x5f, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x5f, 0x57, 0xd5, 0x55, 0x55, 0x5f, 0x55, 0x55, 0x55, 6 | 0x55, 0x55, 0x55, 0x6f, 0x55, 0x55, 0x55, 0x55, 0x6f, 0x55, 0x55, 0x55, 7 | 0x55, 0x55, 0x55, 0x7e, 0x55, 0x55, 0x55, 0x55, 0x7e, 0x55, 0x55, 0x55, 8 | 0x55, 0x55, 0xff, 0x7d, 0x5f, 0x55, 0xbf, 0xd5, 0x7d, 0x5f, 0x55, 0x55, 9 | 0x55, 0x57, 0xff, 0xfd, 0x5f, 0x57, 0xff, 0xf5, 0x7d, 0x7d, 0x55, 0x55, 10 | 0x55, 0x5f, 0xd6, 0xfd, 0x6f, 0x5f, 0xd5, 0xf5, 0xbd, 0xf5, 0x55, 0x55, 11 | 0x55, 0x6f, 0x55, 0xf9, 0x7e, 0x5f, 0x55, 0x55, 0xff, 0xd5, 0x55, 0x55, 12 | 0x55, 0x7d, 0x55, 0xf5, 0x7d, 0x5b, 0xfe, 0x55, 0xff, 0xd5, 0x55, 0x55, 13 | 0x55, 0x7d, 0x56, 0xf5, 0x7d, 0x56, 0xff, 0xd5, 0xf6, 0xe5, 0x55, 0x55, 14 | 0x55, 0x7d, 0x57, 0xf5, 0xbd, 0x55, 0x57, 0xd6, 0xf5, 0xf5, 0x55, 0x55, 15 | 0x55, 0x7e, 0x5f, 0xe5, 0xf9, 0x7d, 0x5b, 0xd7, 0xe5, 0xf9, 0x55, 0x55, 16 | 0x55, 0x6f, 0xff, 0xd5, 0xf5, 0x7f, 0xff, 0x57, 0xd5, 0xbd, 0x55, 0x55, 17 | 0x55, 0x5b, 0xf7, 0xd5, 0xf5, 0x5f, 0xfd, 0x57, 0xd5, 0x7d, 0x55, 0x55, 18 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 19 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 20 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 21 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 22 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /pot/from48x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0x55, 0x55, 0x7f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 6 | 0x55, 0x56, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 7 | 0x55, 0x57, 0xe5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 8 | 0x55, 0x7f, 0xfd, 0x7d, 0xfd, 0x6f, 0xe5, 0x5f, 0x6f, 0x5b, 0xd5, 0x55, 9 | 0x55, 0x57, 0xd5, 0x7f, 0xfd, 0xff, 0xf9, 0x5f, 0xbf, 0xef, 0xf5, 0x55, 10 | 0x55, 0x5b, 0xd5, 0xbf, 0x57, 0xf5, 0xbd, 0x6f, 0xdb, 0xf6, 0xf5, 0x55, 11 | 0x55, 0x5f, 0x95, 0xf9, 0x5b, 0xd5, 0x7d, 0x7e, 0x5f, 0x97, 0xe5, 0x55, 12 | 0x55, 0x5f, 0x55, 0xf5, 0x5f, 0x55, 0x7d, 0x7d, 0x5f, 0x57, 0xd5, 0x55, 13 | 0x55, 0x5f, 0x55, 0xf5, 0x5f, 0x55, 0x7d, 0x7d, 0x5f, 0x57, 0xd5, 0x55, 14 | 0x55, 0x6f, 0x56, 0xf5, 0x5f, 0x55, 0xf9, 0xbd, 0x6f, 0x5b, 0xd5, 0x55, 15 | 0x55, 0x7e, 0x57, 0xe5, 0x5f, 0x97, 0xf5, 0xf9, 0x7e, 0x5f, 0x95, 0x55, 16 | 0x55, 0x7d, 0x57, 0xd5, 0x5b, 0xff, 0xd5, 0xf5, 0x7d, 0x5f, 0x55, 0x55, 17 | 0x55, 0x7d, 0x57, 0xd5, 0x56, 0xfe, 0x55, 0xf5, 0x7d, 0x5f, 0x55, 0x55, 18 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 19 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 20 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 21 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 22 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /subr/util.c: -------------------------------------------------------------------------------- 1 | /* @(#)util.c 1.0 10/16/86 (c) 1986 NeXT */ 2 | 3 | #include 4 | #include 5 | 6 | char * 7 | skipwhite (cp) 8 | register char *cp; 9 | { 10 | while (*cp && (*cp == ' ' || *cp == '\t' || *cp == '\n' || 11 | *cp == '\r')) 12 | cp++; 13 | return (cp); 14 | } 15 | 16 | char * 17 | scann (cp, num, pref) 18 | register char *cp; 19 | register int *num; 20 | { 21 | register struct mon_global *mg = restore_mg(); 22 | int sign = 0, not = 0, base, valid = 0; 23 | register int n, val = 0; 24 | register char *d; 25 | static char digits[] = "0123456789abcdef"; 26 | extern char *index(); 27 | 28 | base = pref? pref : mg->mg_radix; 29 | cp = skipwhite (cp); 30 | again: 31 | if (*cp == '-') 32 | sign = 1, cp++; 33 | if (*cp == '~') 34 | not = 1, cp++; 35 | if (strncmp (cp, "0t", 2) == 0) 36 | base = 10, cp += 2; 37 | else 38 | if (strncmp (cp, "0x", 2) == 0) 39 | base = 16, cp += 2; 40 | n = 0; 41 | while (*cp && (d = index (digits, *cp))) 42 | n = n*base + d-digits, cp++, valid = 1; 43 | 44 | /* handle internet "dot" format (e.g. 12.34.56.78) */ 45 | val = (val<<8) + n; 46 | if (*cp == '.') { 47 | cp++; 48 | goto again; 49 | } 50 | if (!valid) 51 | return (0); 52 | else 53 | *num = val; 54 | if (sign) 55 | *num = -*num; 56 | if (not) 57 | *num = ~*num; 58 | return (skipwhite (cp)); 59 | } 60 | 61 | caddr_t 62 | mon_alloc (size) { 63 | register struct mon_global *mg; 64 | register caddr_t mem; 65 | 66 | mg = restore_mg(); 67 | mem = mg->mg_alloc_brk = mg->mg_alloc_brk - size; 68 | bzero (mem, size); 69 | return (mem); 70 | } 71 | 72 | -------------------------------------------------------------------------------- /bitmaps/please64x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x14, 3 | 0x22, 0x55, 0x01, 0x55, 0x02, 0x55, 0x04, 0x55, 0x05, 0x55, 0x0a, 0x55, 4 | 0x0e, 0x55, 0x10, 0x56, 0x01, 0x57, 0x01, 0x5b, 0x01, 0x5f, 0x01, 0x5f, 5 | 0x02, 0x5f, 0x03, 0x6f, 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x95, 6 | 0x01, 0x97, 0x01, 0x9b, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xd5, 7 | 0x01, 0xd7, 0x01, 0xe5, 0x01, 0xf5, 0x01, 0xf5, 0x02, 0xf7, 0x01, 0xf9, 8 | 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x01, 0xff, 0x02, 0x06, 0x03, 0x1a, 9 | 0x04, 0x03, 0x1a, 0x04, 0x02, 0x07, 0x1a, 0x04, 0x02, 0x08, 0x19, 0x04, 10 | 0x01, 0x1c, 0x1d, 0x08, 0x17, 0x0d, 0x19, 0x07, 0x20, 0x00, 0x0d, 0x1a, 11 | 0x07, 0x1f, 0x00, 0x01, 0x20, 0x1f, 0x08, 0x17, 0x20, 0x1d, 0x0a, 0x20, 12 | 0x17, 0x20, 0x1e, 0x0a, 0x20, 0x11, 0x00, 0x07, 0x1e, 0x0d, 0x09, 0x18, 13 | 0x1a, 0x14, 0x0a, 0x08, 0x18, 0x1a, 0x0e, 0x10, 0x09, 0x17, 0x00, 0x08, 14 | 0x1a, 0x0b, 0x13, 0x17, 0x0e, 0x00, 0x0d, 0x18, 0x17, 0x00, 0x14, 0x08, 15 | 0x17, 0x00, 0x08, 0x19, 0x0c, 0x20, 0x1d, 0x0d, 0x20, 0x07, 0x20, 0x11, 16 | 0x21, 0x11, 0x00, 0x08, 0x17, 0x0c, 0x01, 0x15, 0x0a, 0x00, 0x16, 0x1b, 17 | 0x01, 0x00, 0x09, 0x17, 0x0f, 0x0d, 0x0a, 0x01, 0x1d, 0x0d, 0x01, 0x1b, 18 | 0x01, 0x00, 0x0a, 0x19, 0x1e, 0x0f, 0x0a, 0x12, 0x17, 0x1a, 0x0e, 0x0a, 19 | 0x07, 0x1a, 0x1d, 0x0e, 0x00, 0x00, 0x0a, 0x20, 0x1a, 0x0e, 0x09, 0x20, 20 | 0x17, 0x20, 0x1e, 0x0a, 0x20, 0x17, 0x16, 0x1e, 0x00, 0x00, 0x0a, 0x16, 21 | 0x11, 0x0e, 0x07, 0x1e, 0x00, 0x10, 0x0e, 0x08, 0x20, 0x00, 0x0d, 0x17, 22 | 0x00, 0x00, 0x0d, 0x05, 0x00, 0x0f, 0x05, 0x00, 0x0e, 0x05, 0x00, 0x0e, 23 | 0x05, 0x06, 0x00, 0x00, -------------------------------------------------------------------------------- /loadice/tut.txt: -------------------------------------------------------------------------------- 1 | LoadICE V 1.4alpha 2 | Copyright (C) 1990 Grammar Engine, Inc. 3 | Initializing defaults from file: loadice.ini 4 | Force fill with ffff 5 | filename = TUT.BIN skip = 0 offset = 200 6 | filename = TUT.INT offset = - f000 7 | filename = TUT.MOT offset = - f00 8 | Establishing connection with Promice 9 | Module #0 Model 512 Emulating 8192 bytes 10 | Module #1 Model 512 Emulating 8192 bytes 11 | Operating Mode 8 bits 12 | Building ROM image 13 | LoadICE: 14 | Unit number 0 passed the memory test 15 | LoadICE: Promice Version 3.1a 16 | LoadICE: Loading @ baudrate = 19200 17 | |\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/|\-/Loaded 18 | Loading complete - 16384 data bytes transfered 19 | LoadICE: 00:00000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 20 | LoadICE: 00:00100 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 21 | LoadICE: 00:00200 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 22 | LoadICE: 00:00000 00 [00]00:00001 01 [01]00:00002 02 [02]00:00003 03 [03]00:00002 0d [02]LoadICE: 00:00000 ff f0 0d 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 23 | LoadICE: (0:00000 I=00 P=ff)(0:00001 I=01 P=f0)(0:00002 I=02 P=0d)|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\Verified 24 | LoadICE: -------------------------------------------------------------------------------- /sys/help.c: -------------------------------------------------------------------------------- 1 | /* @(#)help.c 1.0 10/27/86 (c) 1986 NeXT */ 2 | 3 | #if NO_SPACE 4 | #else NO_SPACE 5 | char help_msg[] = { 6 | "NeXT ROM monitor commands:\n" 7 | "\tp inspect/modify configuration parameters\n" 8 | "\ta [n] open address register\n" 9 | "\tm print memory configuration\n" 10 | "\td [n] open data register\n" 11 | "\tr [regname] open processor register\n" 12 | "\ts [systemreg] open system register\n" 13 | "\te [lwb] [alist] [format] examine memory location addr\n" 14 | "\tec print recorded system error codes\n" 15 | #if ODBOOT 16 | "\tej [drive #] eject optical disk (default = 0)\n" 17 | "\teo (same as above)\n" 18 | #endif ODBOOT 19 | #if FDBOOT 20 | "\tef [drive #] eject floppy disk (default = 0)\n" 21 | #endif FDBOOT 22 | "\tc continue execution at last pc location\n" 23 | #if 0 24 | "\tg [addr] go at specified address (default = pc)\n" 25 | #endif 26 | "\tb [device[(ctrl,unit,part)] [filename] [flags]] boot from device\n" 27 | "\tS [fcode] open function code (address space)\n" 28 | #if 0 29 | "\tv [lwb] start stop view memory from start to stop\n" 30 | "\tf [lwb] start stop patt [inc] [mod] fill memory with pattern\n" 31 | #endif 32 | #if SAVE_SPACE 33 | "\tt [rw] ea level [fcode] MMU translate virtual address\n" 34 | #endif SAVE_SPACE 35 | "\tR [radix] set input radix\n" 36 | #if ENETDIAG 37 | "\tE enter Ethernet diagnostic submenu\n" 38 | #endif ENETDIAG 39 | "Notes:\n" 40 | "\t[lwb] select long/word/byte length (default = long).\n" 41 | "\t[alist] is starting address or list of addresses to cyclically examine.\n" 42 | "\tExamine command, with no arguments, uses last [alist].\n" 43 | "Copyright (c) 1988-1990 NeXT Inc.\n\n" 44 | }; 45 | 46 | help() 47 | { 48 | printf ("%s", help_msg); 49 | } 50 | #endif NO_SPACE 51 | -------------------------------------------------------------------------------- /pot/insert56x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 6 | 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 7 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0xf5, 0x55, 0x55, 0x55, 0x55, 8 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xe5, 0x55, 0x57, 9 | 0xd5, 0xf6, 0xf9, 0x55, 0xbf, 0xd5, 0x5b, 0xf9, 0x57, 0xdf, 0xdf, 0xfd, 10 | 0x55, 0x57, 0xd5, 0xfb, 0xfe, 0x57, 0xff, 0xf5, 0x7f, 0xfe, 0x57, 0xff, 11 | 0xd7, 0xd5, 0x55, 0x5b, 0xd6, 0xfd, 0x6f, 0x5f, 0xd5, 0xf5, 0xfd, 0x6f, 12 | 0x5b, 0xf5, 0x5b, 0xd5, 0x55, 0x5f, 0x97, 0xf5, 0x6f, 0x5f, 0x55, 0x56, 13 | 0xf5, 0x5f, 0x5f, 0x95, 0x5f, 0x95, 0x55, 0x5f, 0x57, 0xe5, 0x7e, 0x5b, 14 | 0xfe, 0x57, 0xff, 0xfe, 0x5f, 0x55, 0x5f, 0x55, 0x55, 0x5f, 0x57, 0xd5, 15 | 0x7d, 0x56, 0xff, 0xd7, 0xd5, 0x55, 0x5f, 0x55, 0x6f, 0x55, 0x55, 0x6f, 16 | 0x5b, 0xd5, 0xbd, 0x55, 0x57, 0xd7, 0xd5, 0x55, 0x6f, 0x55, 0x7e, 0x55, 17 | 0x55, 0x7e, 0x5f, 0x95, 0xf9, 0x7d, 0x5b, 0xd7, 0xe5, 0xf5, 0x7e, 0x55, 18 | 0x7d, 0x55, 0x55, 0x7d, 0x5f, 0x55, 0xf5, 0x7f, 0xff, 0x56, 0xff, 0xf5, 19 | 0x7d, 0x55, 0x7f, 0x55, 0x55, 0x7d, 0x5f, 0x55, 0xf5, 0x5f, 0xfd, 0x55, 20 | 0xbf, 0x55, 0x7d, 0x55, 0x5f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 21 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 22 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 23 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 24 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 25 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 26 | 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /config/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 1980 Regents of the University of California. 3 | # All rights reserved. The Berkeley software License Agreement 4 | # specifies the terms and conditions for redistribution. 5 | # 6 | # @(#)Makefile 5.3 (Berkeley) 2/18/86 7 | # 8 | # 9 | CFILES= y.tab.c main.c lex.yy.c mkioconf.c mkmakefile.c \ 10 | mkglue.c mkheaders.c mkswapconf.c 11 | OBJS= y.tab.o main.o lex.yy.o mkioconf.o mkmakefile.o \ 12 | mkglue.o mkheaders.o mkswapconf.o 13 | 14 | CFLAGS=-O -D__STRICT_BSD__ 15 | LDFLAGS=-ll 16 | 17 | all: config 18 | 19 | config: .depend_done ${OBJS} 20 | ${CC} ${OBJS} -o config ${LDFLAGS} 21 | rm -f ../conf/config 22 | install -s config ../conf 23 | 24 | lex.yy.c: config.l 25 | lex config.l 26 | 27 | y.tab.h y.tab.c: config.y 28 | yacc -d config.y 29 | 30 | clean: 31 | rm -f ${OBJS} lex.yy.c y.tab.c y.tab.h config .depend_done 32 | 33 | install: config 34 | 35 | lint: ${CFILES} 36 | lint ${CFILES} 37 | 38 | depend .depend_done: 39 | grep '^#include' ${CFILES} | grep -v '<' | \ 40 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 41 | -e 's/\.c/.o/' \ 42 | -e 's,../[a-zA-Z]*/,,' | \ 43 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 44 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 45 | else rec = rec " " $$2 } } \ 46 | END { print rec } ' > makedep 47 | echo '$$r makedep' >>eddep 48 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 49 | echo '$$r makedep' >>eddep 50 | echo 'w' >>eddep 51 | rm -f Makefile.bak 52 | cp Makefile Makefile.bak 53 | chmod +w Makefile 54 | ed - Makefile < eddep 55 | rm eddep makedep 56 | touch .depend_done 57 | 58 | # DO NOT DELETE THIS LINE -- make depend uses it 59 | 60 | main.o: y.tab.h config.h 61 | mkioconf.o: y.tab.h config.h 62 | mkmakefile.o: y.tab.h config.h 63 | mkglue.o: config.h y.tab.h 64 | mkheaders.o: config.h y.tab.h 65 | mkswapconf.o: config.h 66 | -------------------------------------------------------------------------------- /config/Makefile.bak: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 1980 Regents of the University of California. 3 | # All rights reserved. The Berkeley software License Agreement 4 | # specifies the terms and conditions for redistribution. 5 | # 6 | # @(#)Makefile 5.3 (Berkeley) 2/18/86 7 | # 8 | # 9 | CFILES= y.tab.c main.c lex.yy.c mkioconf.c mkmakefile.c \ 10 | mkglue.c mkheaders.c mkswapconf.c 11 | OBJS= y.tab.o main.o lex.yy.o mkioconf.o mkmakefile.o \ 12 | mkglue.o mkheaders.o mkswapconf.o 13 | 14 | CFLAGS=-O -D__STRICT_BSD__ 15 | LDFLAGS=-ll 16 | 17 | all: config 18 | 19 | config: .depend_done ${OBJS} 20 | ${CC} ${OBJS} -o config ${LDFLAGS} 21 | rm -f ../conf/config 22 | install -s config ../conf 23 | 24 | lex.yy.c: config.l 25 | lex config.l 26 | 27 | y.tab.h y.tab.c: config.y 28 | yacc -d config.y 29 | 30 | clean: 31 | rm -f ${OBJS} lex.yy.c y.tab.c y.tab.h config .depend_done 32 | 33 | install: config 34 | 35 | lint: ${CFILES} 36 | lint ${CFILES} 37 | 38 | depend .depend_done: 39 | grep '^#include' ${CFILES} | grep -v '<' | \ 40 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 41 | -e 's/\.c/.o/' \ 42 | -e 's,../[a-zA-Z]*/,,' | \ 43 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 44 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 45 | else rec = rec " " $$2 } } \ 46 | END { print rec } ' > makedep 47 | echo '$$r makedep' >>eddep 48 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 49 | echo '$$r makedep' >>eddep 50 | echo 'w' >>eddep 51 | rm -f Makefile.bak 52 | cp Makefile Makefile.bak 53 | chmod +w Makefile 54 | ed - Makefile < eddep 55 | rm eddep makedep 56 | touch .depend_done 57 | 58 | # DO NOT DELETE THIS LINE -- make depend uses it 59 | 60 | main.o: y.tab.h config.h 61 | mkioconf.o: y.tab.h config.h 62 | mkmakefile.o: y.tab.h config.h 63 | mkglue.o: config.h y.tab.h 64 | mkheaders.o: config.h y.tab.h 65 | mkswapconf.o: config.h 66 | -------------------------------------------------------------------------------- /srec2crc/calculateCRC.s: -------------------------------------------------------------------------------- 1 | .globl calculateCRC 2 | .even 3 | 4 | //----------------------------------------------------------------------- 5 | // Method: see "Error-Correcting Codes" W.W. Peterson and 6 | // E.J. Weldon, Jr. 2nd Ed. MIT Press ) 1972, (printed 1986) 7 | // especially chapters 7 (pp 170-178) and 8 (pp 224-228). 8 | // also see std IEEE 802.3-1985 sec 3.2.8 9 | // 10 | // Input: a1 points to first byte 11 | // d3 contains the number of bytes 12 | // a0 is return adr 13 | // 14 | // Output: d0 contains the 32 bit, mod 2, remainder of input div 15 | // crc_poly. Result is ones complemented and bit 16 | // reversed ala 802.3 std. 17 | // 18 | // Uses: a1/d0-d4 19 | //---------------------------------------------------------------------- 20 | 21 | crc_poly = 0x04c11db7 22 | 23 | calculateCRC: 24 | movl #-1,d0 // same as complementing first 32 bits of data 25 | 1: movb a1@+,d1 // get next byte 26 | moveq #7,d2 // ls bit of byte is sent first 27 | 2: lsll #1,d0 // carry bit = next d4 bit = CRC ms bit 28 | roxrb #1,d4 // ms bit of quotient = ms bit of d0 29 | rorb #1,d1 // ms bit of dataByte = next data bit 30 | eorb d1,d4 // ms bit of quotient = "carry" = next quotient bit 31 | bpls 3f // if carry bit then subtract poly from remainder 32 | eorl #crc_poly,d0 // mod 2 subtract = xor = mod 2 add 33 | 3: dbra d2,2b // processed all 8 bits? 34 | subql #1,d3 35 | bne 1b // processed all bytes? 36 | 37 | notl d0 // this is almost the CRC 38 | movw #31,d2 // 802.3 CRC uses reverse bit order 39 | 5: roxll #1,d0 40 | roxrl #1,d1 41 | dbra d2,5b 42 | movl d1,d0 // have the 802.3 CRC now 43 | jmp a0@ 44 | 45 | .globl _calculateCRC 46 | _calculateCRC: // C interface to register only code 47 | link a6,#0 48 | moveml #0x7ffe,sp@- 49 | movl a6@(8),a1 50 | movl a6@(12),d3 51 | lea 1f,a0 52 | bra calculateCRC 53 | 1: moveml sp@+,#0x7ffe 54 | unlk a6 55 | rts 56 | -------------------------------------------------------------------------------- /bitmaps/network80x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x14, 3 | 0x25, 0x55, 0x01, 0x55, 0x02, 0x55, 0x07, 0x55, 0x08, 0x55, 0x09, 0x55, 4 | 0x14, 0x56, 0x01, 0x57, 0x01, 0x5b, 0x01, 0x5f, 0x01, 0x5f, 0x02, 0x6f, 5 | 0x01, 0x6f, 0x02, 0x7d, 0x01, 0x7d, 0x02, 0x7e, 0x01, 0x7f, 0x01, 0x95, 6 | 0x01, 0x97, 0x01, 0xb7, 0x01, 0xbd, 0x01, 0xbf, 0x01, 0xd5, 0x01, 0xd6, 7 | 0x01, 0xd7, 0x01, 0xd7, 0x02, 0xdb, 0x01, 0xdf, 0x01, 0xe5, 0x01, 0xee, 8 | 0x01, 0xf5, 0x01, 0xf6, 0x01, 0xf9, 0x01, 0xfb, 0x01, 0xfd, 0x01, 0xfe, 9 | 0x01, 0xff, 0x01, 0x05, 0x02, 0x09, 0x04, 0x1e, 0x01, 0x02, 0x0b, 0x03, 10 | 0x06, 0x1e, 0x01, 0x02, 0x0f, 0x03, 0x06, 0x1c, 0x01, 0x01, 0x1f, 0x20, 11 | 0x00, 0x15, 0x12, 0x24, 0x1b, 0x07, 0x16, 0x1e, 0x08, 0x20, 0x07, 0x1b, 12 | 0x18, 0x16, 0x1e, 0x00, 0x01, 0x21, 0x23, 0x07, 0x24, 0x1c, 0x0d, 0x09, 13 | 0x07, 0x17, 0x1e, 0x10, 0x23, 0x07, 0x24, 0x19, 0x16, 0x00, 0x00, 0x06, 14 | 0x22, 0x0b, 0x09, 0x17, 0x1e, 0x14, 0x09, 0x08, 0x18, 0x1c, 0x22, 0x0b, 15 | 0x08, 0x1e, 0x08, 0x1b, 0x01, 0x00, 0x07, 0x1e, 0x0c, 0x00, 0x1e, 0x20, 16 | 0x0a, 0x18, 0x17, 0x1e, 0x0a, 0x11, 0x09, 0x22, 0x01, 0x00, 0x07, 0x1c, 17 | 0x0f, 0x10, 0x24, 0x1c, 0x1e, 0x09, 0x0b, 0x1a, 0x12, 0x1c, 0x0a, 0x00, 18 | 0x09, 0x23, 0x01, 0x00, 0x07, 0x16, 0x0e, 0x00, 0x06, 0x1e, 0x09, 0x10, 19 | 0x1b, 0x07, 0x16, 0x0a, 0x00, 0x09, 0x0b, 0x01, 0x00, 0x08, 0x16, 0x14, 20 | 0x0d, 0x00, 0x07, 0x1c, 0x09, 0x13, 0x1d, 0x07, 0x16, 0x0f, 0x0b, 0x00, 21 | 0x0b, 0x09, 0x01, 0x00, 0x09, 0x11, 0x20, 0x0f, 0x08, 0x07, 0x16, 0x08, 22 | 0x1f, 0x22, 0x07, 0x1c, 0x22, 0x0f, 0x00, 0x0f, 0x08, 0x11, 0x00, 0x00, 23 | 0x09, 0x00, 0x1e, 0x0b, 0x24, 0x07, 0x1e, 0x07, 0x16, 0x20, 0x06, 0x24, 24 | 0x1e, 0x0d, 0x00, 0x0d, 0x07, 0x16, 0x00, 0x00, 0x09, 0x00, 0x1e, 0x08, 25 | 0x20, 0x00, 0x1e, 0x07, 0x16, 0x1e, 0x00, 0x15, 0x11, 0x0d, 0x00, 0x0d, 26 | 0x07, 0x16, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, -------------------------------------------------------------------------------- /boot/loader.c: -------------------------------------------------------------------------------- 1 | /* @(#)loader.c 1.0 05/09/89 (c) 1989 NeXT */ 2 | 3 | #define A_OUT_COMPAT 1 4 | 5 | #include 6 | #include 7 | #if A_OUT_COMPAT 8 | #include 9 | #endif A_OUT_COMPAT 10 | 11 | /* loads both object file formats: a.out & mach.o */ 12 | 13 | loader (bp, len, entry, loadp) 14 | int *len; 15 | char *bp; 16 | char **entry, **loadp; 17 | { 18 | #if A_OUT_COMPAT 19 | struct exec *ap = (struct exec*) bp; 20 | #endif A_OUT_COMPAT 21 | struct mach_header *mh = (struct mach_header*) bp; 22 | struct segment_command *sc; 23 | int total_size, cmd, first_seg = 0; 24 | 25 | #if A_OUT_COMPAT 26 | if (ap->a_magic == OMAGIC) { 27 | total_size = ap->a_text + ap->a_data; 28 | *loadp = *entry = (char*) ap->a_entry; 29 | bp += sizeof (struct exec); 30 | *len -= sizeof (struct exec); 31 | } else 32 | #endif A_OUT_COMPAT 33 | if (mh->magic == MH_MAGIC && mh->filetype == MH_PRELOAD) { 34 | sc = (struct segment_command*) 35 | (bp + sizeof (struct mach_header)); 36 | first_seg = 1; 37 | total_size = 0; 38 | 39 | /* 40 | * Only look at the first two segments (assumes that text and data 41 | * sections will reside there). Can't look at all of them because 42 | * the header probably exceeds the buffer size. 43 | */ 44 | for (cmd = 0; cmd < 2; cmd++) { 45 | switch (sc->cmd) { 46 | 47 | case LC_SEGMENT: 48 | if (first_seg) { 49 | *entry = *loadp = (char*) sc->vmaddr; 50 | bp += sc->fileoff; 51 | *len -= sc->fileoff; 52 | first_seg = 0; 53 | } 54 | total_size += sc->filesize; 55 | break; 56 | } 57 | sc = (struct segment_command*) 58 | ((int)sc + sc->cmdsize); 59 | } 60 | } else 61 | goto bad; 62 | if (*len > 0) { 63 | bcopy (bp, *loadp, *len); 64 | *loadp += *len; 65 | total_size -= *len; 66 | } 67 | return (total_size); 68 | bad: 69 | printf ("unknown binary format\n"); 70 | return (0); 71 | } 72 | 73 | 74 | -------------------------------------------------------------------------------- /mon/nvram.h: -------------------------------------------------------------------------------- 1 | /* @(#)nvram.h 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | /* 4 | * HISTORY 5 | * 6 | * 15-Mar-90 John Seamons (jks) at NeXT 7 | * Replaced unused ni_timezone field with bits to indicate auto poweron 8 | * mode in new clock chip. Updated to include ni_reset field used by ROM. 9 | */ 10 | 11 | #ifndef _NVRAM_ 12 | #define _NVRAM_ 13 | #ifndef ASSEMBLER 14 | struct nvram_info { 15 | #define NI_RESET 9 16 | u_int ni_reset : 4, 17 | #define SCC_ALT_CONS 0x08000000 18 | ni_alt_cons : 1, 19 | #define ALLOW_EJECT 0x04000000 20 | ni_allow_eject : 1, 21 | ni_vol_r : 6, 22 | ni_brightness : 6, 23 | #define HW_PWD 0x6 24 | ni_hw_pwd : 4, 25 | ni_vol_l : 6, 26 | ni_spkren : 1, 27 | ni_lowpass : 1, 28 | #define BOOT_ANY 0x00000002 29 | ni_boot_any : 1, 30 | #define ANY_CMD 0x00000001 31 | ni_any_cmd : 1; 32 | #define NVRAM_HW_PASSWD 6 33 | u_char ni_ep[NVRAM_HW_PASSWD]; 34 | #define ni_enetaddr ni_ep 35 | #define ni_hw_passwd ni_ep 36 | u_short ni_simm; /* 4 SIMMs, 4 bits per SIMM */ 37 | char ni_adobe[2]; 38 | u_char ni_pot[3]; 39 | u_char ni_new_clock_chip : 1, 40 | ni_auto_poweron : 1, 41 | ni_use_console_slot : 1, /* Console slot was set by user. */ 42 | ni_console_slot : 2, /* Preferred console dev slot>>1 */ 43 | : 3; 44 | #define NVRAM_BOOTCMD 12 45 | char ni_bootcmd[NVRAM_BOOTCMD]; 46 | u_short ni_cksum; 47 | }; 48 | 49 | #define N_brightness 0 50 | #define N_volume_l 1 51 | #define N_volume_r 2 52 | #endif ASSEMBLER 53 | 54 | /* nominal values during self test */ 55 | #define BRIGHT_NOM 20 56 | #define VOL_NOM 0 57 | 58 | /* bits in ni_pot[0] */ 59 | #define POT_ON 0x01 60 | #define EXTENDED_POT 0x02 61 | #define LOOP_POT 0x04 62 | #define VERBOSE_POT 0x08 63 | #define TEST_DRAM_POT 0x10 64 | #define BOOT_POT 0x20 65 | #define TEST_MONITOR_POT 0x40 66 | 67 | /* ni_pot[1] oldest selftest error code */ 68 | /* ni_pot[2] most recent selftest error code */ 69 | 70 | #endif _NVRAM_ 71 | 72 | -------------------------------------------------------------------------------- /bitmaps/loading72x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x14, 3 | 0x24, 0x55, 0x01, 0x55, 0x02, 0x55, 0x06, 0x55, 0x07, 0x55, 0x0e, 0x55, 4 | 0x0f, 0x55, 0x10, 0x55, 0x12, 0x56, 0x01, 0x57, 0x01, 0x5b, 0x01, 0x5f, 5 | 0x01, 0x5f, 0x02, 0x6f, 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x95, 6 | 0x01, 0x97, 0x01, 0x9b, 0x01, 0xbd, 0x01, 0xbf, 0x01, 0xd5, 0x01, 0xd6, 7 | 0x01, 0xd7, 0x01, 0xdf, 0x01, 0xe5, 0x01, 0xe6, 0x01, 0xe7, 0x01, 0xf5, 8 | 0x01, 0xf6, 0x01, 0xf9, 0x01, 0xfb, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 9 | 0x01, 0x07, 0x01, 0x1d, 0x03, 0x0e, 0x0b, 0x02, 0x01, 0x1d, 0x03, 0x0e, 10 | 0x0b, 0x02, 0x00, 0x08, 0x1d, 0x03, 0x14, 0x03, 0x00, 0x09, 0x1a, 0x03, 11 | 0x1f, 0x03, 0x00, 0x09, 0x16, 0x0d, 0x1a, 0x00, 0x15, 0x16, 0x09, 0x21, 12 | 0x1d, 0x0e, 0x0b, 0x0d, 0x11, 0x0a, 0x20, 0x16, 0x00, 0x09, 0x16, 0x23, 13 | 0x1f, 0x09, 0x23, 0x1d, 0x0b, 0x23, 0x1d, 0x0e, 0x0b, 0x15, 0x1a, 0x10, 14 | 0x23, 0x16, 0x00, 0x0a, 0x18, 0x1d, 0x14, 0x09, 0x16, 0x1d, 0x10, 0x0a, 15 | 0x1d, 0x14, 0x0d, 0x17, 0x1d, 0x21, 0x0a, 0x16, 0x00, 0x0b, 0x13, 0x16, 16 | 0x0e, 0x00, 0x0a, 0x1d, 0x14, 0x09, 0x1a, 0x1f, 0x10, 0x08, 0x1e, 0x1d, 17 | 0x0b, 0x11, 0x00, 0x0c, 0x00, 0x0e, 0x0a, 0x23, 0x1a, 0x1d, 0x09, 0x16, 18 | 0x1d, 0x0f, 0x09, 0x1c, 0x1a, 0x0b, 0x00, 0x00, 0x0c, 0x00, 0x0e, 0x0d, 19 | 0x12, 0x16, 0x1d, 0x0a, 0x16, 0x1d, 0x0e, 0x09, 0x18, 0x16, 0x0d, 0x00, 20 | 0x00, 0x0d, 0x0b, 0x00, 0x1f, 0x0f, 0x0a, 0x16, 0x1d, 0x0b, 0x17, 0x1d, 21 | 0x14, 0x0a, 0x18, 0x16, 0x0f, 0x00, 0x00, 0x0f, 0x0b, 0x12, 0x1d, 0x0e, 22 | 0x0b, 0x11, 0x1f, 0x10, 0x12, 0x1a, 0x1f, 0x0b, 0x12, 0x1b, 0x21, 0x00, 23 | 0x00, 0x0e, 0x0a, 0x23, 0x16, 0x10, 0x23, 0x00, 0x15, 0x23, 0x09, 0x16, 24 | 0x1d, 0x0b, 0x08, 0x23, 0x21, 0x00, 0x00, 0x0e, 0x08, 0x22, 0x00, 0x0b, 25 | 0x19, 0x00, 0x0d, 0x19, 0x09, 0x16, 0x1d, 0x0b, 0x00, 0x15, 0x0e, 0x00, 26 | 0x06, 0x1f, 0x00, 0x04, 0x0b, 0x09, 0x1d, 0x00, 0x04, 0x0b, 0x23, 0x16, 27 | 0x00, 0x05, 0x21, 0x01, 0x07, 0x00, 0x00, 0x00, -------------------------------------------------------------------------------- /bitmaps/booting72x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x14, 3 | 0x2b, 0x55, 0x01, 0x55, 0x02, 0x55, 0x06, 0x55, 0x07, 0x55, 0x08, 0x55, 4 | 0x0d, 0x55, 0x0e, 0x55, 0x0f, 0x55, 0x12, 0x56, 0x01, 0x57, 0x01, 0x5b, 5 | 0x01, 0x5f, 0x01, 0x5f, 0x02, 0x6e, 0x01, 0x6e, 0x02, 0x6f, 0x01, 0x7d, 6 | 0x01, 0x7d, 0x02, 0x7d, 0x03, 0x7e, 0x01, 0x7f, 0x01, 0x95, 0x01, 0x97, 7 | 0x01, 0x9b, 0x01, 0x9f, 0x01, 0xb9, 0x01, 0xbd, 0x01, 0xbf, 0x01, 0xd5, 8 | 0x01, 0xd7, 0x01, 0xd7, 0x02, 0xdb, 0x01, 0xdf, 0x01, 0xe5, 0x01, 0xef, 9 | 0x01, 0xf5, 0x01, 0xf5, 0x02, 0xf7, 0x01, 0xf9, 0x01, 0xfd, 0x01, 0xfe, 10 | 0x01, 0xff, 0x01, 0x08, 0x01, 0x24, 0x04, 0x24, 0x02, 0x01, 0x24, 0x02, 11 | 0x0a, 0x1d, 0x24, 0x02, 0x00, 0x09, 0x24, 0x02, 0x0a, 0x1d, 0x03, 0x00, 12 | 0x09, 0x22, 0x02, 0x0b, 0x16, 0x03, 0x00, 0x0a, 0x23, 0x22, 0x09, 0x29, 13 | 0x00, 0x10, 0x22, 0x2a, 0x26, 0x1f, 0x22, 0x09, 0x29, 0x24, 0x00, 0x00, 14 | 0x0a, 0x2a, 0x27, 0x0c, 0x2a, 0x16, 0x2a, 0x27, 0x0c, 0x0a, 0x1e, 0x23, 15 | 0x27, 0x0c, 0x2a, 0x24, 0x00, 0x00, 0x0a, 0x24, 0x1b, 0x15, 0x0b, 0x1e, 16 | 0x24, 0x1b, 0x0e, 0x0a, 0x1e, 0x24, 0x11, 0x15, 0x09, 0x24, 0x00, 0x00, 17 | 0x0b, 0x1d, 0x11, 0x1b, 0x0a, 0x20, 0x1d, 0x12, 0x0b, 0x18, 0x16, 0x11, 18 | 0x1b, 0x0a, 0x22, 0x00, 0x00, 0x0c, 0x16, 0x11, 0x27, 0x0a, 0x21, 0x16, 19 | 0x12, 0x0d, 0x00, 0x1a, 0x24, 0x0a, 0x1d, 0x00, 0x00, 0x0c, 0x00, 0x1b, 20 | 0x24, 0x0b, 0x21, 0x00, 0x1b, 0x1a, 0x0d, 0x00, 0x25, 0x0b, 0x1d, 0x00, 21 | 0x00, 0x10, 0x00, 0x27, 0x24, 0x0c, 0x19, 0x00, 0x27, 0x24, 0x0f, 0x09, 22 | 0x22, 0x24, 0x0c, 0x1d, 0x00, 0x00, 0x15, 0x0b, 0x24, 0x27, 0x15, 0x0c, 23 | 0x17, 0x25, 0x12, 0x0a, 0x1d, 0x27, 0x15, 0x16, 0x00, 0x00, 0x15, 0x2a, 24 | 0x1d, 0x1c, 0x28, 0x0b, 0x2a, 0x1d, 0x28, 0x12, 0x0a, 0x1d, 0x1c, 0x2a, 25 | 0x01, 0x00, 0x11, 0x29, 0x00, 0x10, 0x22, 0x09, 0x29, 0x00, 0x13, 0x0a, 26 | 0x1d, 0x10, 0x21, 0x01, 0x07, 0x14, 0x01, 0x05, 0x0a, 0x1d, 0x28, 0x01, 27 | 0x05, 0x0a, 0x2a, 0x24, 0x01, 0x06, 0x1c, 0x16, 0x01, 0x08, 0x00, 0x00, -------------------------------------------------------------------------------- /bitmaps/minisimm24x64x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x40, 3 | 0x16, 0x00, 0x05, 0x15, 0x01, 0x1a, 0x01, 0x1f, 0x01, 0x55, 0x01, 0x55, 4 | 0x02, 0x55, 0x03, 0x55, 0x04, 0x56, 0x01, 0x57, 0x01, 0x7f, 0x01, 0xa5, 5 | 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xaa, 0x03, 0xd5, 0x01, 0xe9, 0x01, 0xf4, 6 | 0x01, 0xf7, 0x01, 0xfd, 0x01, 0xff, 0x01, 0xff, 0x03, 0x00, 0x04, 0x01, 7 | 0x07, 0x0f, 0x02, 0x0e, 0x0c, 0x0f, 0x02, 0x0e, 0x0c, 0x0f, 0x02, 0x0e, 8 | 0x0c, 0x0f, 0x02, 0x0e, 0x0c, 0x0f, 0x02, 0x0e, 0x0c, 0x0f, 0x01, 0x07, 9 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 10 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 11 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 12 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 13 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 14 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 15 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 16 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 17 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 18 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 19 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 20 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 21 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 22 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 23 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x12, 24 | 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x03, 0x15, 0x11, 0x0f, 0x01, 0x06, 0x09, 25 | 0x0f, 0x02, 0x0e, 0x0c, 0x0f, 0x02, 0x0e, 0x0c, 0x0f, 0x02, 0x0d, 0x08, 26 | 0x0d, 0x0c, 0x0f, 0x02, 0x0c, 0x13, 0x0d, 0x0c, 0x0f, 0x02, 0x0c, 0x10, 27 | 0x0c, 0x04, 0x0f, 0x02, 0x0d, 0x08, 0x0b, 0x14, 0x0f, 0x01, 0x05, 0x09, 28 | 0x0f, 0x04, 0x0a, 0x15, 0x05, 0x00, 0x00, 0x00, -------------------------------------------------------------------------------- /pot/please64x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 6 | 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 7 | 0x55, 0x55, 0x55, 0x55, 0x56, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 8 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xe5, 0x55, 0x55, 9 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf7, 0xf9, 10 | 0x57, 0xd5, 0x6f, 0xe5, 0x56, 0xff, 0x55, 0x6f, 0xf5, 0x56, 0xfe, 0x55, 11 | 0x55, 0x55, 0xff, 0xfe, 0x57, 0xd5, 0xff, 0xf9, 0x5f, 0xff, 0xd5, 0xff, 12 | 0xfd, 0x5f, 0xff, 0x95, 0x55, 0x56, 0xfd, 0x6f, 0x5b, 0xd7, 0xf5, 0xbd, 13 | 0x5f, 0x57, 0xd7, 0xf5, 0x7d, 0x7f, 0x5b, 0xd5, 0x55, 0x57, 0xf5, 0x5f, 14 | 0x5f, 0x9b, 0xd5, 0x7d, 0x55, 0x6f, 0xd7, 0xd5, 0x55, 0xbd, 0x57, 0xd5, 15 | 0x55, 0x57, 0xe5, 0x5f, 0x5f, 0x5f, 0xff, 0xf9, 0x6f, 0xff, 0x56, 0xff, 16 | 0x95, 0xff, 0xff, 0x95, 0x55, 0x57, 0xd5, 0x5f, 0x5f, 0x5f, 0x55, 0x55, 17 | 0xbe, 0x5f, 0x55, 0xbf, 0xf5, 0xf5, 0x55, 0x55, 0x55, 0x5b, 0xd5, 0x7e, 18 | 0x6f, 0x5f, 0x55, 0x55, 0xf9, 0x6f, 0x55, 0x55, 0xf5, 0xf5, 0x55, 0x55, 19 | 0x55, 0x5f, 0xe5, 0xfd, 0x7e, 0x5f, 0x97, 0xd5, 0xf5, 0x7d, 0x5f, 0x56, 20 | 0xf5, 0xf9, 0x7d, 0x55, 0x55, 0x5f, 0xff, 0xf5, 0x7d, 0x5b, 0xff, 0xd5, 21 | 0xff, 0xfd, 0x5f, 0xff, 0xd5, 0xbf, 0xfd, 0x55, 0x55, 0x5f, 0xbf, 0x95, 22 | 0x7d, 0x56, 0xfd, 0x55, 0x7f, 0x7d, 0x57, 0xff, 0x55, 0x6f, 0xd5, 0x55, 23 | 0x55, 0x6f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 24 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x7e, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 25 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7d, 0x55, 0x55, 26 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 27 | 0x55, 0x7d, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 28 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 29 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /loadice/Makefile: -------------------------------------------------------------------------------- 1 | # Customization History 2 | # 3 | # 10-1-90 mpaque@NeXT (Mike Paquette) 4 | # Port code to NeXT computer from IBM PC diskette 5 | # Change compiler flag to -DBSD -bsd (gcc compatability mode) 6 | # 7 | # 10-16-90 blaw@NeXT (Bassanio Law) 8 | # Fixed bugs in non-blocking I/O routines in sysdep.c 9 | # 10 | 11 | # @(#)makefile 1.0 12 | # Copyright (c) 1990 13 | # Grammar Engine, Incorporated, Columbus, Ohio USA 14 | # 15 | # Note: To compile and link programs on systems without a program maintenance 16 | # utility, type the commands below after making the following 17 | # substitutions: change the string "$(CC)" to "cc"; change the string 18 | # "$(FLAGS)" to "-O -DUNIX". etc. 19 | # 20 | # For BSD dertivatives replace -DATNT with -DBSD in the FLAGS 21 | # 22 | CFILES= loadice.c buildimg.c sysdep.c 23 | OBJS= loadice.o buildimg.o sysdep.o 24 | CC=cc 25 | FLAGS= -O -g -bsd -DUNIX -DPI_BLOCK -DBSD 26 | 27 | all: loadice 28 | 29 | loadice: loadice.o buildimg.o sysdep.o 30 | $(CC) $(FLAGS) $(OBJS) -o loadice 31 | rm -f ../conf/loadice 32 | install -s loadice ../conf 33 | 34 | clean: 35 | rm -f ${OBJS} loadice .depend_done 36 | 37 | install: loadice 38 | 39 | loadice.o: loadice.c loadice.h 40 | $(CC) $(FLAGS) loadice.c -c 41 | 42 | buildimg.o: buildimg.c loadice.h 43 | $(CC) $(FLAGS) buildimg.c -c 44 | 45 | sysdep.o: sysdep.c loadice.h 46 | $(CC) $(FLAGS) sysdep.c -c 47 | 48 | 49 | depend .depend_done: 50 | grep '^#include' ${CFILES} | grep -v '<' | \ 51 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 52 | -e 's/\.c/.o/' \ 53 | -e 's,../[a-zA-Z]*/,,' | \ 54 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 55 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 56 | else rec = rec " " $$2 } } \ 57 | END { print rec } ' > makedep 58 | echo '$$r makedep' >>eddep 59 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 60 | echo '$$r makedep' >>eddep 61 | echo 'w' >>eddep 62 | rm -f Makefile.bak 63 | cp Makefile Makefile.bak 64 | chmod +w Makefile 65 | ed - Makefile < eddep 66 | rm eddep makedep 67 | touch .depend_done 68 | 69 | # DO NOT DELETE THIS LINE -- make depend uses it 70 | -------------------------------------------------------------------------------- /mon/exec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Mach Operating System 3 | * Copyright (c) 1987 Carnegie-Mellon University 4 | * All rights reserved. The CMU software License Agreement specifies 5 | * the terms and conditions for use and redistribution. 6 | */ 7 | /* 8 | ********************************************************************** 9 | * HISTORY 10 | * 13-Feb-88 John Seamons (jks) at NeXT 11 | * NeXT: use same hack as Sun for machine type. 12 | * 13 | * 12-Sep-86 Jonathan J. Chew (jjc) at Carnegie-Mellon University 14 | * Changed first long word to two shorts for the Sun to give 15 | * the machine type along with the magic number. 16 | * Added machine types for Sun. 17 | * Made file includable more than once. 18 | * 19 | ********************************************************************** 20 | */ 21 | 22 | /* 23 | * Copyright (c) 1982, 1986 Regents of the University of California. 24 | * All rights reserved. The Berkeley software License Agreement 25 | * specifies the terms and conditions for redistribution. 26 | * 27 | * @(#)exec.h 7.1 (Berkeley) 6/4/86 28 | */ 29 | 30 | #ifndef _EXEC_ 31 | #define _EXEC_ 1 32 | 33 | /* 34 | * Header prepended to each a.out file. 35 | */ 36 | struct exec { 37 | #if sun || NeXT 38 | unsigned short a_machtype; /* machine type */ 39 | unsigned short a_magic; /* magic number */ 40 | #else sun || NeXT 41 | long a_magic; /* magic number */ 42 | #endif sun || NeXT 43 | unsigned long a_text; /* size of text segment */ 44 | unsigned long a_data; /* size of initialized data */ 45 | unsigned long a_bss; /* size of uninitialized data */ 46 | unsigned long a_syms; /* size of symbol table */ 47 | unsigned long a_entry; /* entry point */ 48 | unsigned long a_trsize; /* size of text relocation */ 49 | unsigned long a_drsize; /* size of data relocation */ 50 | }; 51 | 52 | #define OMAGIC 0407 /* old impure format */ 53 | #define NMAGIC 0410 /* read-only text */ 54 | #define ZMAGIC 0413 /* demand load format */ 55 | 56 | #ifdef sun 57 | /* Sun machine types */ 58 | 59 | #define M_OLDSUN2 0 /* old sun-2 executable files */ 60 | #define M_68010 1 /* runs on either 68010 or 68020 */ 61 | #define M_68020 2 /* runs only on 68020 */ 62 | #endif sun 63 | 64 | #endif _EXEC_ 65 | -------------------------------------------------------------------------------- /srec/exec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Mach Operating System 3 | * Copyright (c) 1987 Carnegie-Mellon University 4 | * All rights reserved. The CMU software License Agreement specifies 5 | * the terms and conditions for use and redistribution. 6 | */ 7 | /* 8 | ********************************************************************** 9 | * HISTORY 10 | * 13-Feb-88 John Seamons (jks) at NeXT 11 | * NeXT: use same hack as Sun for machine type. 12 | * 13 | * 12-Sep-86 Jonathan J. Chew (jjc) at Carnegie-Mellon University 14 | * Changed first long word to two shorts for the Sun to give 15 | * the machine type along with the magic number. 16 | * Added machine types for Sun. 17 | * Made file includable more than once. 18 | * 19 | ********************************************************************** 20 | */ 21 | 22 | /* 23 | * Copyright (c) 1982, 1986 Regents of the University of California. 24 | * All rights reserved. The Berkeley software License Agreement 25 | * specifies the terms and conditions for redistribution. 26 | * 27 | * @(#)exec.h 7.1 (Berkeley) 6/4/86 28 | */ 29 | 30 | #ifndef _EXEC_ 31 | #define _EXEC_ 1 32 | 33 | /* 34 | * Header prepended to each a.out file. 35 | */ 36 | struct exec { 37 | #if sun || NeXT 38 | unsigned short a_machtype; /* machine type */ 39 | unsigned short a_magic; /* magic number */ 40 | #else sun || NeXT 41 | long a_magic; /* magic number */ 42 | #endif sun || NeXT 43 | unsigned long a_text; /* size of text segment */ 44 | unsigned long a_data; /* size of initialized data */ 45 | unsigned long a_bss; /* size of uninitialized data */ 46 | unsigned long a_syms; /* size of symbol table */ 47 | unsigned long a_entry; /* entry point */ 48 | unsigned long a_trsize; /* size of text relocation */ 49 | unsigned long a_drsize; /* size of data relocation */ 50 | }; 51 | 52 | #define OMAGIC 0407 /* old impure format */ 53 | #define NMAGIC 0410 /* read-only text */ 54 | #define ZMAGIC 0413 /* demand load format */ 55 | 56 | #ifdef sun 57 | /* Sun machine types */ 58 | 59 | #define M_OLDSUN2 0 /* old sun-2 executable files */ 60 | #define M_68010 1 /* runs on either 68010 or 68020 */ 61 | #define M_68020 2 /* runs only on 68020 */ 62 | #endif sun 63 | 64 | #endif _EXEC_ 65 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | Changes on Release 0.8.31 2 | ROM CRC 0xB52BF252 3 | PROM Progammer Checksum 0x4777 4 | Bassanio Law 02/16/89 5 | 6 | ------------------------- 7 | How To Build The NeXT ROM Monitor From Sources 8 | Release 0.8.30 9 | ROM CRC 0x75cb568c 10 | PROM Programmer Checksum 0x40f8 11 | John Seamons 12/01/88 12 | 13 | This note describes how to build a binary and S-record file 14 | of the NeXT ROM monitor from the golden master source media. 15 | Like any other application, you must build on a machine that 16 | contains the 0.8 release and the associated include files 17 | (in /usr/include). 18 | 19 | 1) Mount the golden master source media as a Unix filesystem 20 | on the machine you'll be building on (have to be superuser to do this). 21 | # mount /dev/od0a /mnt 22 | 23 | 2) Go to the ROM configuration directory. 24 | # cd /mnt/rom-0.8.30/conf 25 | 26 | NOTE: If you just want to build the ROM from sources without 27 | altering the basic configuration then skip the next two steps. 28 | 29 | 3) (optional) Inspect the configuration file "RELEASE" and 30 | make any required changes (like enabling certain options or 31 | changing the version numbers). 32 | # cd conf 33 | # RELEASE 34 | 35 | 4) (optional) Configure in the changes you have made. 36 | # config RELEASE 37 | # cd .. 38 | 39 | 5) Go to the build directory and start a build. 40 | # cd RELEASE 41 | # make clean 42 | # make 43 | 44 | 6) The "make" should complete without errors. Observe the 45 | size of the object file shown. The size under the "dec" 46 | column must be <= 65536 to fit in a 27C512 PROM. 47 | text data bss dec hex 48 | 38840 26588 12 65440 ffa0 49 | 50 | 7) Build the S-record files for the ROMulator and PROM 51 | programmer. The file "mon.srec" is used with the "load" 52 | command to download a ROMulator. The file "mon.prom" is 53 | an S-record file with shorter (2 byte) address fields required 54 | by the Data I/O PROM programmers. 55 | # ../srec/srec mon >mon.srec 56 | # ../srec/srec -2 mon >mon.prom 57 | 58 | 8) Use your local procedure to download the PROM programmer and 59 | burn PROM parts. The Data I/O programmer checksum should indicate 60 | 0x40f8 for this release. This checksum should not be confused 61 | with the ROM release CRC that the ROM computes and verifies 62 | internally at power on time. 63 | -------------------------------------------------------------------------------- /loadrom/Makefile: -------------------------------------------------------------------------------- 1 | # Customization History 2 | # 3 | # 88.12.20 blaw@NeXT (Bassanio Law) 4 | # Port code to NeXT computer from IBM PC diskette 5 | # Change compiler flag to -DBSD 6 | # 7 | # Note for NeXT computer user from: 8 | # The RS422 is not capable to generated RTS in RS232 form. 9 | # This means we have to set dip swith 5 on and 8 off. Consult 10 | # .. the ROMulator document for more information. 11 | # 12 | 13 | 14 | # @(#)makefile 2.0 15 | # Copyright (c) 1988 16 | # Grammar Engine, Incorporated, Westerville, Ohio USA 17 | # 18 | # Note: To compile and link programs on systems without a program maintenance 19 | # utility, type the commands below after making the following 20 | # substitutions: change the string "$(CC)" to "cc"; change the string 21 | # "$(FLAGS)" to "-O -DUNIX". etc. 22 | # 23 | # For BSD dertivatives replace -DUNIX with -DBSD in the FLAGS 24 | # 25 | CFILES= loadrom.c buildimg.c sysdep.c 26 | OBJS= loadrom.o buildimg.o sysdep.o 27 | CC=cc 28 | FLAGS= -O -DBSD 29 | 30 | all: loadrom 31 | 32 | loadrom: .depend_done ${OBJS} 33 | $(CC) $(FLAGS) -o loadrom ${OBJS} 34 | rm -f ../conf/loadrom 35 | install -s loadrom ../conf 36 | 37 | clean: 38 | rm -f ${OBJS} loadrom .depend_done 39 | 40 | install: loadrom 41 | 42 | loadrom.o: loadrom.c loadrom.h 43 | $(CC) $(FLAGS) loadrom.c -c 44 | 45 | buildimg.o: buildimg.c loadrom.h 46 | $(CC) $(FLAGS) buildimg.c -c 47 | 48 | sysdep.o: sysdep.c loadrom.h 49 | $(CC) $(FLAGS) sysdep.c -c 50 | 51 | depend .depend_done: 52 | grep '^#include' ${CFILES} | grep -v '<' | \ 53 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 54 | -e 's/\.c/.o/' \ 55 | -e 's,../[a-zA-Z]*/,,' | \ 56 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 57 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 58 | else rec = rec " " $$2 } } \ 59 | END { print rec } ' > makedep 60 | echo '$$r makedep' >>eddep 61 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 62 | echo '$$r makedep' >>eddep 63 | echo 'w' >>eddep 64 | rm -f Makefile.bak 65 | cp Makefile Makefile.bak 66 | chmod +w Makefile 67 | ed - Makefile < eddep 68 | rm eddep makedep 69 | touch .depend_done 70 | 71 | # DO NOT DELETE THIS LINE -- make depend uses it 72 | 73 | loadrom.o: loadrom.h 74 | buildimg.o: loadrom.h 75 | sysdep.o: loadrom.h 76 | -------------------------------------------------------------------------------- /loadrom/Makefile.bak: -------------------------------------------------------------------------------- 1 | # Customization History 2 | # 3 | # 88.12.20 blaw@NeXT (Bassanio Law) 4 | # Port code to NeXT computer from IBM PC diskette 5 | # Change compiler flag to -DBSD 6 | # 7 | # Note for NeXT computer user from: 8 | # The RS422 is not capable to generated RTS in RS232 form. 9 | # This means we have to set dip swith 5 on and 8 off. Consult 10 | # .. the ROMulator document for more information. 11 | # 12 | 13 | 14 | # @(#)makefile 2.0 15 | # Copyright (c) 1988 16 | # Grammar Engine, Incorporated, Westerville, Ohio USA 17 | # 18 | # Note: To compile and link programs on systems without a program maintenance 19 | # utility, type the commands below after making the following 20 | # substitutions: change the string "$(CC)" to "cc"; change the string 21 | # "$(FLAGS)" to "-O -DUNIX". etc. 22 | # 23 | # For BSD dertivatives replace -DUNIX with -DBSD in the FLAGS 24 | # 25 | CFILES= loadrom.c buildimg.c sysdep.c 26 | OBJS= loadrom.o buildimg.o sysdep.o 27 | CC=cc 28 | FLAGS= -O -DBSD 29 | 30 | all: loadrom 31 | 32 | loadrom: .depend_done ${OBJS} 33 | $(CC) $(FLAGS) -o loadrom ${OBJS} 34 | rm -f ../conf/loadrom 35 | install -s loadrom ../conf 36 | 37 | clean: 38 | rm -f ${OBJS} loadrom .depend_done 39 | 40 | install: loadrom 41 | 42 | loadrom.o: loadrom.c loadrom.h 43 | $(CC) $(FLAGS) loadrom.c -c 44 | 45 | buildimg.o: buildimg.c loadrom.h 46 | $(CC) $(FLAGS) buildimg.c -c 47 | 48 | sysdep.o: sysdep.c loadrom.h 49 | $(CC) $(FLAGS) sysdep.c -c 50 | 51 | depend .depend_done: 52 | grep '^#include' ${CFILES} | grep -v '<' | \ 53 | sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \ 54 | -e 's/\.c/.o/' \ 55 | -e 's,../[a-zA-Z]*/,,' | \ 56 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 57 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 58 | else rec = rec " " $$2 } } \ 59 | END { print rec } ' > makedep 60 | echo '$$r makedep' >>eddep 61 | echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 62 | echo '$$r makedep' >>eddep 63 | echo 'w' >>eddep 64 | rm -f Makefile.bak 65 | cp Makefile Makefile.bak 66 | chmod +w Makefile 67 | ed - Makefile < eddep 68 | rm eddep makedep 69 | touch .depend_done 70 | 71 | # DO NOT DELETE THIS LINE -- make depend uses it 72 | 73 | loadrom.o: loadrom.h 74 | buildimg.o: loadrom.h 75 | sysdep.o: loadrom.h 76 | -------------------------------------------------------------------------------- /pot/booting72x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 6 | 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xd5, 0xf5, 7 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0xf5, 0x55, 0x55, 0x55, 8 | 0x55, 0x55, 0x55, 0x57, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 9 | 0x55, 0x56, 0xe5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x5b, 0x95, 0x55, 10 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xef, 0xe5, 0x56, 0xfe, 11 | 0x55, 0x6f, 0xe5, 0xff, 0xf7, 0xd7, 0xd7, 0xe5, 0x56, 0xfe, 0xf5, 0x55, 12 | 0x55, 0x57, 0xff, 0xf9, 0x5f, 0xff, 0x95, 0xff, 0xf9, 0x5f, 0x57, 0xd7, 13 | 0xef, 0xf9, 0x5f, 0xff, 0xf5, 0x55, 0x55, 0x57, 0xf5, 0xbd, 0x7f, 0x5b, 14 | 0xd7, 0xf5, 0xbd, 0x6e, 0x57, 0xd7, 0xf5, 0x7d, 0x7f, 0x56, 0xf5, 0x55, 15 | 0x55, 0x5b, 0xd5, 0x7d, 0xbd, 0x57, 0xdb, 0xd5, 0x7d, 0x7d, 0x5b, 0x9b, 16 | 0x95, 0x7d, 0xbd, 0x57, 0xe5, 0x55, 0x55, 0x5f, 0x95, 0x7d, 0xf9, 0x57, 17 | 0xdf, 0x95, 0x7d, 0x7d, 0x5f, 0x5f, 0x55, 0xb9, 0xf5, 0x57, 0xd5, 0x55, 18 | 0x55, 0x5f, 0x55, 0xbd, 0xf5, 0x5b, 0xdf, 0x55, 0xbd, 0xb9, 0x5f, 0x5f, 19 | 0x55, 0xf5, 0xf5, 0x5b, 0xd5, 0x55, 0x55, 0x6f, 0x55, 0xf9, 0xf5, 0x5f, 20 | 0x9f, 0x55, 0xf9, 0xf5, 0x6e, 0x6e, 0x56, 0xe5, 0xf5, 0x5f, 0xd5, 0x55, 21 | 0x55, 0x7f, 0x5b, 0xf5, 0xf9, 0x7f, 0x5f, 0x97, 0xf5, 0xf5, 0x7d, 0x7d, 22 | 0x57, 0xd5, 0xf9, 0x7f, 0x95, 0x55, 0x55, 0x7f, 0xff, 0xd5, 0xbf, 0xfd, 23 | 0x5b, 0xff, 0xd5, 0xfd, 0x7d, 0x7d, 0x57, 0xd5, 0xbf, 0xff, 0x55, 0x55, 24 | 0x55, 0x7d, 0xfe, 0x55, 0x6f, 0xe5, 0x56, 0xfe, 0x55, 0x7d, 0x7d, 0x7d, 25 | 0x57, 0xd5, 0x6f, 0xdf, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 26 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7e, 0x55, 0x55, 27 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 28 | 0x55, 0x57, 0xd5, 0xfd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 29 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xff, 0xf5, 0x55, 0x55, 30 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 31 | 0x55, 0x55, 0xbf, 0x95, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 32 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /pot/loading72x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x55, 0x7d, 0x5f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 6 | 0x55, 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7d, 0x5f, 7 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0xf5, 0x55, 0x55, 0x55, 8 | 0x55, 0x55, 0x55, 0x55, 0xbd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 9 | 0x55, 0x57, 0xe5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf9, 0x55, 10 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0xd5, 0x6f, 0xe5, 0x55, 11 | 0xbf, 0xd5, 0x57, 0xfd, 0xf5, 0x7d, 0x5f, 0x6f, 0x95, 0x5b, 0xfb, 0xd5, 12 | 0x55, 0x57, 0xd5, 0xff, 0xf9, 0x57, 0xff, 0xf5, 0x5f, 0xff, 0xf5, 0x7d, 13 | 0x5f, 0xbf, 0xe5, 0x7f, 0xff, 0xd5, 0x55, 0x5b, 0xd7, 0xf5, 0xbd, 0x57, 14 | 0xd5, 0xf5, 0x7f, 0x5b, 0xf5, 0xbd, 0x6f, 0xd6, 0xf5, 0xfd, 0x5b, 0xd5, 15 | 0x55, 0x5f, 0x9b, 0xd5, 0x7d, 0x55, 0x5b, 0xf5, 0xbd, 0x57, 0xe5, 0xf9, 16 | 0x7f, 0x56, 0xf6, 0xf5, 0x5f, 0x95, 0x55, 0x5f, 0x5f, 0x55, 0x7d, 0x5b, 17 | 0xff, 0xe5, 0xf5, 0x57, 0xd5, 0xf5, 0x7e, 0x57, 0xe7, 0xe5, 0x5f, 0x55, 18 | 0x55, 0x5f, 0x5f, 0x55, 0x7d, 0x6f, 0x97, 0xd5, 0xf5, 0x5b, 0xd5, 0xf5, 19 | 0x7d, 0x57, 0xd7, 0xd5, 0x6f, 0x55, 0x55, 0x6f, 0x5f, 0x55, 0xf9, 0x7e, 20 | 0x5b, 0xd5, 0xf5, 0x5f, 0xd6, 0xf5, 0xbd, 0x5b, 0xd7, 0xd5, 0x7e, 0x55, 21 | 0x55, 0x7e, 0x5f, 0x97, 0xf5, 0x7d, 0x5f, 0x95, 0xf9, 0x7f, 0x97, 0xe5, 22 | 0xf9, 0x5f, 0x97, 0xe6, 0xfd, 0x55, 0x55, 0x7d, 0x5b, 0xff, 0xd5, 0x7f, 23 | 0xff, 0x55, 0xbf, 0xff, 0x57, 0xd5, 0xf5, 0x5f, 0x56, 0xff, 0xfd, 0x55, 24 | 0x55, 0x7d, 0x56, 0xfe, 0x55, 0x5f, 0xdf, 0x55, 0x6f, 0xdf, 0x57, 0xd5, 25 | 0xf5, 0x5f, 0x55, 0xbf, 0x7d, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 26 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xf9, 0x55, 27 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 28 | 0x55, 0x55, 0x5f, 0x57, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 29 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x5f, 0xff, 0xd5, 0x55, 30 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 31 | 0x55, 0x55, 0x55, 0xfd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 32 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /loadice/release: -------------------------------------------------------------------------------- 1 | RELEASE NOTES 2 | 3 | LoadICE Version 1.4b 4 | 5 | This is a new release of the LoadICE software. We have tried to fix all 6 | known bugs and also ported and tested the software on Macintosh, UNIX and 7 | VMS systems. This code was compiled under MicroSoft C V6.0. 8 | 9 | *************************************************************************** 10 | FOR MAC MPW USERS: To make life a little easier and sane, we have added 11 | a filter to each interactive input so that you can now type the input 12 | on the same line as the prompts from the program. The software will 13 | filter out the prompt string and read your input. We have very loose 14 | format checking so try not to backspace over the prompt or otherwise 15 | put your input else where. The software is certainly more fun to use now!! 16 | We also made the BeachBall cursor spin around while loading the unit etc. 17 | *************************************************************************** 18 | 19 | The following command is added to the dialog mode 20 | 21 | b - toggle Bus Req/Bus Ack mode on and off. 22 | 23 | Bus Request mode only works with the bus request and bus acknowledge 24 | signal lines connected to the target. It allows the user to modify the 25 | code without disrupting the target system. If you have any questions 26 | please call Grammar Engine. 27 | 28 | We have increased the number of files that can be specified in the .INI 29 | file from 15 to 55. Any line in the .INI file that starts with a * is now 30 | parsed as a comment. 31 | 32 | We have also added to the edit mode. 33 | 34 | ^ - Backs up one byte 35 | . - Same as x 36 | 37 | 38 | Hex formats supported: 39 | 40 | Motorola S-record format S1, S2, S3. 41 | Intel standard format, 64k byte limit. 42 | Intel extended format, 1m byte limit. 43 | Tektronix Hex format (Standard TEKHEX). 44 | Tektronix Extended Hex format (Extended TEKHEX). 45 | RCA COSMAC format. 46 | MOSTEK format (as used by most 6502 assemblers). 47 | Motorola DSP56001 format 48 | 49 | Note: for the last three formats, we do not have a published standard 50 | and they were added on customer request per the information supplied 51 | by them. 52 | 53 | Please report any problems to: 54 | 55 | Grammar Engine, Inc. 56 | 3314 Morse Road 57 | Columbus, Ohio 43229 58 | (614) 471-1113 (phone) 59 | (614) 475-6871 (fax) -------------------------------------------------------------------------------- /subr/ppkt.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include "netinet/ip_icmp.h" 6 | #include 7 | 8 | ppkt (bp) 9 | struct bootp_packet *bp; 10 | { 11 | register struct mon_global *mg = restore_mg(); 12 | struct ether_header *eh = &bp->bp_ether; 13 | struct ip *ip = &bp->bp_ip; 14 | struct udphdr *uh = &bp->bp_udp; 15 | struct ether_arp *ar = (struct ether_arp*) &bp->bp_ip; 16 | struct tftphdr *th = (struct tftphdr*) ((int)uh + 17 | sizeof (struct udphdr)); 18 | u_char *e; 19 | struct icmp *ic; 20 | extern struct u_char etherbcastaddr[]; 21 | 22 | printf ("d "); 23 | if (bcmp (eh->ether_dhost, etherbcastaddr, 6) == 0) 24 | printf ("bcast "); 25 | else { 26 | e = (u_char*) eh->ether_dhost; 27 | printf ("%02x%02x%02x%02x%02x%02x ", 28 | e[0], e[1], e[2], e[3], e[4], e[5]); 29 | } 30 | printf ("s "); 31 | if (bcmp (eh->ether_shost, etherbcastaddr, 6) == 0) 32 | printf ("bcast "); 33 | else { 34 | e = (u_char*) eh->ether_shost; 35 | printf ("%02x%02x%02x%02x%02x%02x ", 36 | e[0], e[1], e[2], e[3], e[4], e[5]); 37 | } 38 | 39 | switch (eh->ether_type) { 40 | 41 | case ETHERTYPE_IP: 42 | #if 1 43 | printf ("IP "); 44 | #else 45 | printf ("IP s %s ", inet_ntoa (ip->ip_src)); 46 | printf ("d %s ", inet_ntoa (ip->ip_dst)); 47 | #endif 48 | if (ip->ip_p == IPPROTO_UDP) { 49 | uh = &bp->bp_udp; 50 | printf ("UDP sp %d dp %d ", 51 | uh->uh_sport, uh->uh_dport); 52 | if (uh->uh_sport == 69 || uh->uh_dport == 69) 53 | printf ("TFTP %d ", th->th_block); 54 | } else 55 | if (ip->ip_p == IPPROTO_ICMP) { 56 | ic = (struct icmp*) &bp->bp_udp; 57 | printf ("ICMP t %d c %d\n", 58 | ic->icmp_type, ic->icmp_code); 59 | } else 60 | if (ip->ip_p == IPPROTO_RAW) { 61 | printf ("RAW"); 62 | } else 63 | printf ("?proto %d? ", ip->ip_p); 64 | break; 65 | 66 | case ETHERTYPE_ARP: 67 | printf ("ARP %s ", ar->ea_hdr.ar_op == ARPOP_REQUEST? 68 | "req" : "rep"); 69 | e = (u_char*) ar->arp_sha; 70 | printf ("sh %02x%02x%02x%02x%02x%02x sp %s ", 71 | e[0], e[1], e[2], e[3], e[4], e[5], 72 | inet_ntoa (ar->arp_spa)); 73 | e = (u_char*) ar->arp_tha; 74 | printf ("th %02x%02x%02x%02x%02x%02x tp %s ", 75 | e[0], e[1], e[2], e[3], e[4], e[5], 76 | inet_ntoa (ar->arp_tpa)); 77 | 78 | break; 79 | 80 | default: 81 | printf ("type 0x%x ", eh->ether_type); 82 | break; 83 | } 84 | printf ("\n"); 85 | } 86 | -------------------------------------------------------------------------------- /pot/minisimm24x64x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x40, 3 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x15, 0x55, 0x55, 0x55, 0x55, 0xd5, 4 | 0x1a, 0xaa, 0xaa, 0xaa, 0xa9, 0xd5, 0x1a, 0xaa, 0xaa, 0xaa, 0xa9, 0xd5, 5 | 0x1a, 0xaa, 0xaa, 0xaa, 0xa9, 0xd5, 0x1a, 0xaa, 0xaa, 0xaa, 0xa9, 0xd5, 6 | 0x1a, 0xaa, 0xaa, 0xaa, 0xa9, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x55, 0xd5, 7 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 8 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 9 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 10 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 11 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 12 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 13 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 14 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 15 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 16 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 17 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 18 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 19 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 20 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 21 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 22 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 23 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 24 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 25 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 26 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 27 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 28 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 29 | 0x1f, 0xff, 0xff, 0xff, 0xf7, 0xd5, 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 30 | 0x1f, 0xff, 0xff, 0xff, 0xf4, 0xd5, 0x15, 0x55, 0x55, 0x55, 0x57, 0xd5, 31 | 0x1a, 0xaa, 0xaa, 0xaa, 0xa9, 0xd5, 0x1a, 0xaa, 0xaa, 0xaa, 0xa9, 0xd5, 32 | 0x1a, 0xaa, 0x56, 0xaa, 0xa9, 0xd5, 0x1a, 0xa9, 0xfd, 0xaa, 0xa9, 0xd5, 33 | 0x1a, 0xa9, 0xe9, 0xa9, 0x55, 0xd5, 0x1a, 0xaa, 0x56, 0xa5, 0xff, 0xd5, 34 | 0x15, 0x55, 0x55, 0x57, 0xd5, 0x55, 0x7f, 0xff, 0xff, 0xff, 0x55, 0x55, -------------------------------------------------------------------------------- /conf/Makefile.next: -------------------------------------------------------------------------------- 1 | # @(#)Makefile.next 1.0 10/06/86 (c) 1986 NeXT 2 | # 3 | # Copyright (c) 1980, 1986 Regents of the University of California. 4 | # All rights reserved. The Berkeley software License Agreement 5 | # specifies the terms and conditions for redistribution. 6 | # 7 | # from Makefile.vax 7.1 (Berkeley) 6/5/86 8 | # 9 | # Makefile for NeXT PROM monitor 10 | # 11 | # This makefile is constructed from a machine description: 12 | # config machineid 13 | # Most changes should be made in the machine description 14 | # /sys/conf/``machineid'' 15 | # after which you should do 16 | # config machineid 17 | # Generic makefile changes should be made in 18 | # /sys/conf/Makefile.``machinetype'' 19 | # after which config should be rerun for all machines. 20 | # 21 | # -p for mach.o preload format object module 22 | LD= /bin/ld -preload -segalign 0x10 23 | C2= /lib/c2 24 | TOUCH= touch -f -c 25 | 26 | INCLUDES= -I. -I.. 27 | COPTS= ${INCLUDES} ${IDENT} -DMONITOR ${GDBOPTS} 28 | CFLAGS= -O ${COPTS} 29 | AFLAGS= 30 | LFLAGS= 31 | 32 | %OBJS 33 | 34 | %CFILES 35 | 36 | %LOAD 37 | 38 | genassym.o: ../sys/genassym.c 39 | ${CC} -c ${CFLAGS} ../sys/genassym.c 40 | 41 | assym.h: genassym.o 42 | ${CC} ${CFLAGS} genassym.o 43 | ./a.out >assym.h 44 | rm -f a.out 45 | 46 | crc: mon 47 | rm -f mon.srec 48 | ../conf/srec -T0 mon >mon.srec 49 | ../conf/srec2crc mon.srec 50 | 51 | load: mon 52 | rm -f mon.srec 53 | ../conf/srec -T0 mon >mon.srec 54 | ../conf/loadrom -r 64k -o /dev/ttya mon.srec 55 | 56 | loadice: mon 57 | rm -f mon.srec 58 | ../conf/srec -T0 mon >mon.srec 59 | ../conf/loadice -v -h -b 19200 -o /dev/ttya -r 27010 mon.srec 60 | 61 | prom: mon 62 | rm -f mon.prom 63 | ../conf/srec -3 -T0 mon >mon.prom 64 | 65 | clean: 66 | rm -f mon eddep tags *.o *.s *.h errs linterrs Makedep .depend_done \ 67 | *.srec *.prom 68 | touch Makedep 69 | 70 | lint: /tmp param.c 71 | lint -hbxn -DGENERIC ${COPTS} ${PARAM} ${CFILES} 72 | 73 | depend .depend_done: assym.h 74 | rm -f Makedep 75 | ${CC} -M ${COPTS} ${CFILES} ../sys/genassym.c | \ 76 | sed -e ':loop' \ 77 | -e 's/\.\.\/[^ /]*\/\.\./../' \ 78 | -e 't loop' | \ 79 | awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 80 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 81 | else rec = rec " " $$2 } } \ 82 | END { print rec } ' > Makedep 83 | touch .depend_done 84 | 85 | tags: 86 | /usr/ucb/ctags ${CFILES} 87 | 88 | # the ROM project doesn't install anything 89 | install: 90 | 91 | %RULES 92 | 93 | include Makedep 94 | 95 | -------------------------------------------------------------------------------- /sys/genassym.c: -------------------------------------------------------------------------------- 1 | /* @(#)genassym.c 1.0 10/12/86 (c) 1986 NeXT */ 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | main() { 10 | register struct regs *r = 0; 11 | register struct nvram_info *n = 0; 12 | register struct mon_global *mg = 0; 13 | 14 | printf ("#define R_d0 0x%x\n", &r->r_dreg[0]); 15 | printf ("#define R_d1 0x%x\n", &r->r_dreg[1]); 16 | printf ("#define R_d2 0x%x\n", &r->r_dreg[2]); 17 | printf ("#define R_d3 0x%x\n", &r->r_dreg[3]); 18 | printf ("#define R_d4 0x%x\n", &r->r_dreg[4]); 19 | printf ("#define R_d5 0x%x\n", &r->r_dreg[5]); 20 | printf ("#define R_d6 0x%x\n", &r->r_dreg[6]); 21 | printf ("#define R_d7 0x%x\n", &r->r_dreg[7]); 22 | printf ("#define R_a0 0x%x\n", &r->r_areg[0]); 23 | printf ("#define R_a1 0x%x\n", &r->r_areg[1]); 24 | printf ("#define R_a2 0x%x\n", &r->r_areg[2]); 25 | printf ("#define R_a3 0x%x\n", &r->r_areg[3]); 26 | printf ("#define R_a4 0x%x\n", &r->r_areg[4]); 27 | printf ("#define R_a5 0x%x\n", &r->r_areg[5]); 28 | printf ("#define R_a6 0x%x\n", &r->r_areg[6]); 29 | printf ("#define R_a7 0x%x\n", &r->r_areg[7]); 30 | printf ("#define R_sp 0x%x\n", &r->r_areg[7]); 31 | printf ("#define R_usp 0x%x\n", &r->r_usp); 32 | printf ("#define R_isp 0x%x\n", &r->r_isp); 33 | printf ("#define R_msp 0x%x\n", &r->r_msp); 34 | printf ("#define R_sfc 0x%x\n", &r->r_sfc); 35 | printf ("#define R_dfc 0x%x\n", &r->r_dfc); 36 | printf ("#define R_vbr 0x%x\n", &r->r_vbr); 37 | printf ("#define R_caar 0x%x\n", &r->r_caar); 38 | printf ("#define R_cacr 0x%x\n", &r->r_cacr); 39 | printf ("#define R_crph 0x%x\n", &r->r_crph); 40 | printf ("#define R_crpl 0x%x\n", &r->r_crpl); 41 | printf ("#define R_srph 0x%x\n", &r->r_srph); 42 | printf ("#define R_srpl 0x%x\n", &r->r_srpl); 43 | printf ("#define R_tc 0x%x\n", &r->r_tc); 44 | printf ("#define R_tt0 0x%x\n", &r->r_tt0); 45 | printf ("#define R_tt1 0x%x\n", &r->r_tt1); 46 | printf ("#define R_ts 0x%x\n", &r->r_ts); 47 | printf ("#define R_sr 0x%x\n", &r->r_sr); 48 | printf ("#define R_pc 0x%x\n", &r->r_pc); 49 | printf ("#define R_fmt 0x%x\n", ((int) &r->r_pc) + sizeof (int)); 50 | printf ("#define R_vor 0x%x\n", ((int) &r->r_pc) + sizeof (int)); 51 | printf ("#define MG_sid 0x%x\n", &mg->mg_sid); 52 | printf ("#define MG_nofault 0x%x\n", &mg->mg_nofault); 53 | printf ("#define SIZEOFNVRAM %d\n", sizeof (struct nvram_info)); 54 | printf ("#define N_bootcmd 0x%x\n", n->ni_bootcmd); 55 | printf ("#define N_potcontrol 0x%x\n", n->ni_pot); 56 | } 57 | -------------------------------------------------------------------------------- /pot/network80x20x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x14, 3 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 4 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 5 | 0x55, 0x55, 0x55, 0x5f, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 6 | 0x55, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x6f, 7 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0xf5, 0x55, 0x55, 8 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x7e, 0x55, 0x55, 0x55, 0x55, 9 | 0x55, 0x55, 0x55, 0x55, 0x56, 0xe5, 0x55, 0x55, 0x55, 0x55, 0xf6, 0xf9, 10 | 0x55, 0xbf, 0x97, 0xff, 0xdf, 0x57, 0xd5, 0xf5, 0x5b, 0xf9, 0x57, 0xdf, 11 | 0xd7, 0xd5, 0xf5, 0x55, 0x55, 0x55, 0xfb, 0xfe, 0x57, 0xff, 0xe5, 0x7d, 12 | 0x5f, 0x57, 0xd6, 0xf5, 0x7f, 0xfe, 0x57, 0xff, 0xd7, 0xd7, 0xd5, 0x55, 13 | 0x55, 0x56, 0xfd, 0x6f, 0x5f, 0xd6, 0xf5, 0xbd, 0x5f, 0x5b, 0xd7, 0xe5, 14 | 0xfd, 0x6f, 0x5b, 0xf5, 0x5b, 0xdf, 0x55, 0x55, 0x55, 0x57, 0xf5, 0x6f, 15 | 0x6f, 0x55, 0xf5, 0xf9, 0x5f, 0x5f, 0xd7, 0xd6, 0xf5, 0x5f, 0x5f, 0x95, 16 | 0x5f, 0xfd, 0x55, 0x55, 0x55, 0x57, 0xe5, 0x7e, 0x7f, 0xff, 0xe5, 0xf5, 17 | 0x5f, 0x6f, 0xdb, 0x97, 0xe5, 0x5f, 0x5f, 0x55, 0x5f, 0xfe, 0x55, 0x55, 18 | 0x55, 0x57, 0xd5, 0x7d, 0x7d, 0x55, 0x56, 0xf5, 0x5f, 0x7f, 0xdf, 0x57, 19 | 0xd5, 0x5f, 0x5f, 0x55, 0x5f, 0x6f, 0x55, 0x55, 0x55, 0x5b, 0xd5, 0xbd, 20 | 0x7d, 0x55, 0x57, 0xe5, 0x5f, 0xb7, 0xee, 0x57, 0xd5, 0x7e, 0x6f, 0x55, 21 | 0x6f, 0x5f, 0x55, 0x55, 0x55, 0x5f, 0x95, 0xf9, 0x7e, 0x5b, 0x57, 0xd5, 22 | 0x5b, 0xf6, 0xfd, 0x57, 0xe5, 0xfd, 0x7e, 0x55, 0x7e, 0x5b, 0x95, 0x55, 23 | 0x55, 0x5f, 0x55, 0xf5, 0x6f, 0xff, 0x57, 0xf5, 0x57, 0xd5, 0xf9, 0x56, 24 | 0xff, 0xf5, 0x7d, 0x55, 0x7d, 0x57, 0xd5, 0x55, 0x55, 0x5f, 0x55, 0xf5, 25 | 0x5b, 0xf9, 0x55, 0xf5, 0x57, 0xd5, 0xf5, 0x55, 0xbf, 0x95, 0x7d, 0x55, 26 | 0x7d, 0x57, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 27 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 28 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 29 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 30 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 31 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 32 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 33 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 34 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 35 | 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 36 | 0x55, 0x55, 0x55, 0x55, -------------------------------------------------------------------------------- /mon/tftp.h: -------------------------------------------------------------------------------- 1 | /* @(#)tftp.h 1.0 10/06/86 (c) 1986 NeXT */ 2 | 3 | #ifndef _TFTP_ 4 | #define _TFTP_ 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include "bootp.h" 22 | 23 | #define ntohl(x) (x) 24 | #define ntohs(x) (x) 25 | #define htonl(x) (x) 26 | #define htons(x) (x) 27 | 28 | #define IPPORT_TFTP 69 29 | 30 | extern u_char clientetheraddr[]; 31 | 32 | struct tftp_hdr { 33 | short th_func; 34 | union { 35 | short th_Error; 36 | short th_Bno; 37 | char th_Buf[1]; 38 | } th_un; 39 | }; 40 | 41 | #define th_error th_un.th_Error 42 | #define th_bno th_un.th_Bno 43 | #define th_buf th_un.th_Buf 44 | 45 | #ifdef notdef 46 | /* func */ 47 | #define RRQ 1 48 | #define WRQ 2 49 | #define DATA 3 50 | #define ACK 4 51 | #define ERROR 5 52 | #endif notdef 53 | 54 | /* error */ 55 | #define EUNDEF 0 56 | #define ENOTFOUND 1 57 | #define EACCESS 2 58 | #define ENOSPACE 3 59 | #define EBADOP 4 60 | #define EBADID 5 61 | #define EEXISTS 6 62 | #define ENOUSER 7 63 | #define TFTP_MAXERR 8 64 | 65 | #define TFTP_BSIZE 512 66 | 67 | struct tftp_packet { 68 | struct ether_header tp_ether; 69 | struct ip tp_ip; 70 | struct udphdr tp_udp; 71 | struct tftp_hdr tp_hdr; 72 | char tp_buf[TFTP_BSIZE]; 73 | }; 74 | 75 | #define TFTP_HDRSIZE \ 76 | (sizeof (struct ether_header) + sizeof (struct ip) + \ 77 | sizeof (struct udphdr) + sizeof (struct tftp_hdr)) 78 | 79 | /* backoffs must be masks */ 80 | #define TFTP_MIN_BACKOFF 0x7ff /* 2.048 sec */ 81 | #define TFTP_MAX_BACKOFF 0xffff /* 65.535 sec */ 82 | #define TFTP_XRETRY 50 /* # backoff intervals */ 83 | #define TFTP_RETRY 80 /* # retries after lockon FIXME */ 84 | 85 | struct tftp_softc { 86 | int time, timemask, xcount, retry, lockon, timeout; 87 | struct in_addr ts_clientipaddr; 88 | u_char ts_clientetheraddr[6]; 89 | u_char ts_serveretheraddr[6]; 90 | int ts_bno; 91 | int ts_xid; 92 | char *ts_loadp; 93 | struct bootp_packet ts_bootpx; 94 | struct bootp_packet ts_bootpr; 95 | struct tftp_packet ts_xmit; 96 | struct tftp_packet ts_recv; 97 | }; 98 | 99 | /* Types for ip input/output */ 100 | #define IPIO_TFTP 0 101 | #define IPIO_BOOTP 1 102 | 103 | #endif _TFTP_ 104 | -------------------------------------------------------------------------------- /srec/a.out.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1980 Regents of the University of California. 3 | * All rights reserved. The Berkeley software License Agreement 4 | * specifies the terms and conditions for redistribution. 5 | * 6 | * @(#)a.out.h 5.1 (Berkeley) 5/30/85 7 | */ 8 | 9 | /* 10 | * Definitions of the a.out header 11 | * and magic numbers are shared with 12 | * the kernel. 13 | */ 14 | #include 15 | 16 | /* 17 | * Macros which take exec structures as arguments and tell whether 18 | * the file has a reasonable magic number or offsets to text|symbols|strings. 19 | */ 20 | #define N_BADMAG(x) \ 21 | (((x).a_magic)!=OMAGIC && ((x).a_magic)!=NMAGIC && ((x).a_magic)!=ZMAGIC) 22 | 23 | #define N_TXTOFF(x) \ 24 | ((x).a_magic==ZMAGIC ? 0 : sizeof (struct exec)) 25 | #define N_SYMOFF(x) \ 26 | (N_TXTOFF(x) + (x).a_text+(x).a_data + (x).a_trsize+(x).a_drsize) 27 | #define N_STROFF(x) \ 28 | (N_SYMOFF(x) + (x).a_syms) 29 | 30 | /* 31 | * Format of a relocation datum. 32 | */ 33 | struct relocation_info { 34 | int r_address; /* address which is relocated */ 35 | unsigned int r_symbolnum:24, /* local symbol ordinal */ 36 | r_pcrel:1, /* was relocated pc relative already */ 37 | r_length:2, /* 0=byte, 1=word, 2=long */ 38 | r_extern:1, /* does not include value of sym referenced */ 39 | :4; /* nothing, yet */ 40 | }; 41 | 42 | /* 43 | * Format of a symbol table entry; this file is included by 44 | * and should be used if you aren't interested the a.out header 45 | * or relocation information. 46 | */ 47 | struct nlist { 48 | union { 49 | char *n_name; /* for use when in-core */ 50 | long n_strx; /* index into file string table */ 51 | } n_un; 52 | unsigned char n_type; /* type flag, i.e. N_TEXT etc; see below */ 53 | char n_other; /* unused */ 54 | short n_desc; /* see */ 55 | unsigned long n_value; /* value of this symbol (or sdb offset) */ 56 | }; 57 | #define n_hash n_desc /* used internally by ld */ 58 | 59 | /* 60 | * Simple values for n_type. 61 | */ 62 | #define N_UNDF 0x0 /* undefined */ 63 | #define N_ABS 0x2 /* absolute */ 64 | #define N_TEXT 0x4 /* text */ 65 | #define N_DATA 0x6 /* data */ 66 | #define N_BSS 0x8 /* bss */ 67 | #define N_COMM 0x12 /* common (internal to ld) */ 68 | #define N_FN 0x1f /* file name symbol */ 69 | 70 | #define N_EXT 01 /* external bit, or'ed in */ 71 | #define N_TYPE 0x1e /* mask for all the type bits */ 72 | 73 | /* 74 | * Sdb entries have some of the N_STAB bits set. 75 | * These are given in 76 | */ 77 | #define N_STAB 0xe0 /* if any of these bits set, a SDB entry */ 78 | 79 | /* 80 | * Format for namelist values. 81 | */ 82 | #define N_FORMAT "%08x" 83 | -------------------------------------------------------------------------------- /boot/srec.c: -------------------------------------------------------------------------------- 1 | /* @(#)srec.c 1.0 9/29/87 (c) 1986 NeXT */ 2 | 3 | #define DEBUG 1 4 | 5 | #if DEBUG 6 | #define dbug if (si->si_unit & 1) printf 7 | #define dbug1 if (si->si_unit & 2) printf 8 | #define dbug2 if (si->si_unit & 4) printf 9 | #endif DEBUG 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | int srec_open(), srec_close(), srec_boot(); 19 | struct protocol proto_srec = { srec_open, srec_close, srec_boot }; 20 | 21 | #if FIXME 22 | #define getch() ((u_char) (si->si_dev->d_read) (1)) 23 | #else FIXME 24 | #define getch() ((u_char) (si->si_dev->d_read) (0)) 25 | #endif FIXME 26 | 27 | srec_open (mg, si) 28 | register struct mon_global *mg; 29 | register struct sio *si; 30 | { 31 | return (si->si_dev->d_open(si)); 32 | } 33 | 34 | srec_close (mg, si) 35 | register struct mon_global *mg; 36 | register struct sio *si; 37 | { 38 | return (si->si_dev->d_close (si)); 39 | } 40 | 41 | srec_boot (mg, si, linep) 42 | struct mon_global *mg; 43 | struct sio *si; 44 | char **linep; 45 | { 46 | register u_char *bp; 47 | register int i, cnt = 0; 48 | register u_int len, addr, csum; 49 | u_char getbyte(), c; 50 | 51 | while (1) { 52 | while ((c = getch()) != 'S') 53 | ; 54 | if ((c = getch()) == '7') { 55 | len = getbyte(si); 56 | addr = 0; 57 | for (i=0; i<4; i++) 58 | addr = (addr << 8) | getbyte(si); 59 | printf ("\nstarting at 0x%x\n", addr); 60 | return (addr); 61 | } else 62 | if (c == '0') 63 | continue; 64 | else 65 | if (c != '3') { 66 | printf ("\n%d: unknown type: S%c\n", cnt, c); 67 | continue; 68 | } 69 | len = getbyte(si); 70 | csum = len; 71 | addr = 0; 72 | for (i=0; i<4; i++) { 73 | c = getbyte(si); 74 | addr = (addr << 8) | c; 75 | csum += c; 76 | } 77 | bp = (u_char*) addr; 78 | len -= 5; 79 | for (i=0; i ? @ A B C D E F 96 | */ 97 | }; 98 | 99 | u_char 100 | getbyte(si) 101 | register struct sio *si; 102 | { 103 | u_char v; 104 | 105 | v = val[getch() - '0'] << 4; 106 | v |= val[getch() - '0']; 107 | return (v); 108 | } 109 | -------------------------------------------------------------------------------- /mon/bootp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Bootstrap Protocol (BOOTP). RFC 951. 3 | */ 4 | 5 | #define iaddr_t struct in_addr 6 | 7 | struct bootp { 8 | u_char bp_op; /* packet opcode type */ 9 | #define BOOTREQUEST 1 10 | #define BOOTREPLY 2 11 | u_char bp_htype; /* hardware addr type */ 12 | u_char bp_hlen; /* hardware addr length */ 13 | u_char bp_hops; /* gateway hops */ 14 | u_long bp_xid; /* transaction ID */ 15 | u_short bp_secs; /* seconds since boot began */ 16 | u_short bp_unused; 17 | iaddr_t bp_ciaddr; /* client IP address */ 18 | iaddr_t bp_yiaddr; /* 'your' IP address */ 19 | iaddr_t bp_siaddr; /* server IP address */ 20 | iaddr_t bp_giaddr; /* gateway IP address */ 21 | u_char bp_chaddr[16]; /* client hardware address */ 22 | u_char bp_sname[64]; /* server host name */ 23 | u_char bp_file[128]; /* boot file name */ 24 | u_char bp_vend[64]; /* vendor-specific area */ 25 | }; 26 | 27 | /* 28 | * UDP port numbers, server and client. 29 | */ 30 | #define IPPORT_BOOTPS 67 31 | #define IPPORT_BOOTPC 68 32 | 33 | /* 34 | * "vendor" data permitted for Stanford boot clients. 35 | */ 36 | struct vend { 37 | u_char v_magic[4]; /* magic number */ 38 | u_long v_flags; /* flags/opcodes, etc. */ 39 | u_char v_unused[56]; /* currently unused */ 40 | }; 41 | #define VM_STANFORD "STAN" /* v_magic for Stanford */ 42 | 43 | /* v_flags values */ 44 | #define VF_PCBOOT 1 /* an IBMPC or Mac wants environment info */ 45 | #define VF_HELP 2 /* help me, I'm not registered */ 46 | 47 | #define NVMAXTEXT 56 /* don't change this, it just fits RFC951 */ 48 | struct nextvend { 49 | u_char nv_magic[4]; /* Magic number for vendor specificity */ 50 | u_char nv_version; /* NeXT protocol version */ 51 | union { 52 | u_char NV0[59]; 53 | struct { 54 | u_char NV1_opcode; /* opcode - Version 1 */ 55 | u_char NV1_xid; /* transcation id */ 56 | u_char NV1_text[NVMAXTEXT]; /* text */ 57 | u_char NV1_null; /* null terminator */ 58 | } NV1; 59 | } nv_U; 60 | }; 61 | #define nv_unused nv_U.NV0 62 | #define nv_opcode nv_U.NV1.NV1_opcode 63 | #define nv_xid nv_U.NV1.NV1_xid 64 | #define nv_text nv_U.NV1.NV1_text 65 | #define nv_null nv_U.NV1.NV1_null 66 | 67 | /* Magic number */ 68 | #define VM_NEXT "NeXT" /* v_magic for NeXT, Inc. */ 69 | 70 | /* Opcodes */ 71 | #define BPOP_OK 0 72 | #define BPOP_QUERY 1 73 | #define BPOP_QUERY_NE 2 74 | #define BPOP_ERROR 3 75 | 76 | struct bootp_packet { 77 | struct ether_header bp_ether; 78 | struct ip bp_ip; 79 | struct udphdr bp_udp; 80 | struct bootp bp_bootp; 81 | }; 82 | 83 | #define BOOTP_PKTSIZE (sizeof (struct bootp_packet)) 84 | 85 | /* backoffs must be masks */ 86 | #define BOOTP_MIN_BACKOFF 0x7ff /* 2.048 sec */ 87 | #define BOOTP_MAX_BACKOFF 0xffff /* 65.535 sec */ 88 | #define BOOTP_RETRY 6 /* # retries */ 89 | 90 | -------------------------------------------------------------------------------- /bitmaps/README: -------------------------------------------------------------------------------- 1 | 2 | BOOTING SCSI 3 | ************ 4 | 340 348 /as/keith/newbooticons/nextbox440x176x2.binary 5 | 6 | 640 390 /as/keith/newbooticons/grayscsi180x95x2.binary 7 | 8 | 686 394 /as/keith/newbooticons/graydigit68x10x2.binary 9 | 694 394 /as/keith/newbooticons/graydigit68x10x2.binary 10 | 702 394 /as/keith/newbooticons/graydigit08x10x2.binary 11 | 12 | 555 406 /as/keith/newbooticons/disk48x20x2.binary 13 | 555 426 /as/keith/newbooticons/from48x20x2.binary 14 | 555 446 /as/keith/newbooticons/loading72x20x2.binary 15 | 595 406 /as/keith/newbooticons/dots16x8x2.binary 16 | 17 | 18 | animate frames 19 | 640 415 /as/keith/newbooticons/grayscsi272x65x2.binary 20 | 640 415 /as/keith/newbooticons/grayscsi372x65x2.binary 21 | 22 | BOOTING ETHERNET 23 | **************** 24 | 25 | 340 348 /as/keith/newbooticons/nextbox.ps)run GR 26 | 27 | 552 405 /as/keith/newbooticons/network80x20x2.binary 28 | 553 426 /as/keith/newbooticons/from48x20x2.binary 29 | 553 446 /as/keith/newbooticons/loading72x20x2.binary 30 | 626 407 /as/keith/newbooticons/dots16x8x2.binary 31 | 32 | 640 395 /as/keith/newbooticons/grayethernet188x84x2.binary 33 | 34 | animate frames 35 | 640 395 /as/keith/newbooticons/grayethernet188x84x2.binary 36 | 640 416 /as/keith/newbooticons/grayethernet288x63x2.binary 37 | 640 416 /as/keith/newbooticons/grayethernet388x63x2.binary 38 | 39 | BOOTING OPTICAL 40 | *************** 41 | 340 348 /as/keith/newbooticons/nextbox440x176x2.binary 42 | 43 | 640 395 /as/keith/newbooticons/grayoptical180x84x2.binary 44 | 45 | 555 406 /as/keith/newbooticons/disk48x20x2.binary 46 | 555 426 /as/keith/newbooticons/from48x20x2.binary 47 | 555 446 /as/keith/newbooticons/loading72x20x2.binary 48 | 595 406 /as/keith/newbooticons/dots16x8x2.binary 49 | 50 | animate 51 | 640 423 /as/keith/newbooticons/grayoptical272x41x2.binary 52 | 640 423 /as/keith/newbooticons/grayoptical372x41x2.binary 53 | 54 | bad disk 55 | 4 fps 56 | 555 416 /as/keith/newbooticons/disk48x20x2.binary 57 | 555 436 /as/keith/newbooticons/bad48x20x2.binary 58 | 595 416 /as/keith/newbooticons/dots16x8x2.binary 59 | 60 | 640 423 /as/keith/newbooticons/badgraydisk280x41x2.binary 61 | 62 | insert disk 63 | 2 fps 64 | 555 406 /as/keith/newbooticons/disk48x20x2.binary 65 | 555 426 /as/keith/newbooticons/insert48x20x2.binary 66 | 555 446 /as/keith/newbooticons/please64x20x2.binary 67 | 595 406 /as/keith/newbooticons/dots16x8x2.binary 68 | 69 | 672 431 /as/keith/newbooticons/diskarrow116x17x2.binary 70 | 672 447 /as/keith/newbooticons/diskarrow316x17x2.binary 71 | 72 | flip disk 73 | 74 | 555 406 /as/keith/newbooticons/disk48x20x2.binary 75 | 555 426 /as/keith/newbooticons/flip32x20x2.binary 76 | 555 446 /as/keith/newbooticons/please64x20x2.binary 77 | 595 406 /as/keith/newbooticons/dots16x8x2.binary 78 | 79 | 664 437 /as/keith/newbooticons/flipdisk32x20x2.binary 80 | -------------------------------------------------------------------------------- /config/main.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1980 Regents of the University of California. 3 | * All rights reserved. The Berkeley software License Agreement 4 | * specifies the terms and conditions for redistribution. 5 | */ 6 | 7 | #ifndef lint 8 | char copyright[] = 9 | "@(#) Copyright (c) 1980 Regents of the University of California.\n\ 10 | All rights reserved.\n"; 11 | #endif not lint 12 | 13 | #ifndef lint 14 | static char sccsid[] = "@(#)main.c 5.2 (Berkeley) 1/11/86"; 15 | #endif not lint 16 | 17 | #include 18 | #include 19 | #include "y.tab.h" 20 | #include "config.h" 21 | 22 | /* 23 | * Config builds a set of files for building a UNIX 24 | * system given a description of the desired system. 25 | */ 26 | main(argc, argv) 27 | int argc; 28 | char **argv; 29 | { 30 | 31 | if (argc > 1 && eq("-p", argv[1])) { 32 | profiling++; 33 | argc--, argv++; 34 | } 35 | if (argc != 2) { 36 | fprintf(stderr, "usage: config [ -p ] sysname\n"); 37 | exit(1); 38 | } 39 | PREFIX = argv[1]; 40 | if (freopen(argv[1], "r", stdin) == NULL) { 41 | perror(argv[1]); 42 | exit(2); 43 | } 44 | dtab = NULL; 45 | confp = &conf_list; 46 | if (yyparse()) 47 | exit(3); 48 | switch (machine) { 49 | 50 | case MACHINE_VAX: 51 | vax_ioconf(); /* Print ioconf.c */ 52 | ubglue(); /* Create ubglue.s */ 53 | break; 54 | 55 | case MACHINE_NEXT: 56 | /* next_ioconf(); */ 57 | break; 58 | 59 | default: 60 | printf("Specify machine type, e.g. ``machine vax''\n"); 61 | exit(1); 62 | } 63 | /* symlink("../h", path("sys")); /* make genassym.c work */ 64 | makefile(); /* build Makefile */ 65 | headers(); /* make a lot of .h files */ 66 | swapconf(); /* swap config files */ 67 | printf("Don't forget to run \"make depend\"\n"); 68 | } 69 | 70 | /* 71 | * get_word 72 | * returns EOF on end of file 73 | * NULL on end of line 74 | * pointer to the word otherwise 75 | */ 76 | char * 77 | get_word(fp) 78 | register FILE *fp; 79 | { 80 | static char line[80]; 81 | register int ch; 82 | register char *cp; 83 | 84 | while ((ch = getc(fp)) != EOF) 85 | if (ch != ' ' && ch != '\t') 86 | break; 87 | if (ch == EOF) 88 | return ((char *)EOF); 89 | if (ch == '\n') 90 | return (NULL); 91 | cp = line; 92 | *cp++ = ch; 93 | while ((ch = getc(fp)) != EOF) { 94 | if (isspace(ch)) 95 | break; 96 | *cp++ = ch; 97 | } 98 | *cp = 0; 99 | if (ch == EOF) 100 | return ((char *)EOF); 101 | (void) ungetc(ch, fp); 102 | return (line); 103 | } 104 | 105 | /* 106 | * prepend the path to a filename 107 | */ 108 | char * 109 | path(file) 110 | char *file; 111 | { 112 | register char *cp; 113 | 114 | cp = malloc((unsigned)(strlen(PREFIX)+strlen(file)+5)); 115 | (void) strcpy(cp, "../"); 116 | (void) strcat(cp, PREFIX); 117 | (void) strcat(cp, "/"); 118 | (void) strcat(cp, file); 119 | return (cp); 120 | } 121 | -------------------------------------------------------------------------------- /loadice/loadice.mak: -------------------------------------------------------------------------------- 1 | PROJ = LOADICE 2 | PROJFILE = LOADICE.MAK 3 | DEBUG = 0 4 | 5 | PWBRMAKE = pwbrmake 6 | NMAKEBSC1 = set 7 | NMAKEBSC2 = nmake 8 | CC = cl 9 | CFLAGS_G = /W4 /DANSI /BATCH 10 | CFLAGS_D = /Od /Zi /Gs 11 | CFLAGS_R = /Ot /Ol /Og /Oe /Oi /Ow /Gs 12 | ASM = masm 13 | AFLAGS_G = /Mx /T 14 | AFLAGS_D = /Zi 15 | LINKER = link 16 | ILINK = ilink 17 | LRF = echo > NUL 18 | BIND = bind 19 | RC = rc 20 | IMPLIB = implib 21 | LFLAGS_G = /NOI /BATCH 22 | LFLAGS_D = /CO /NOF /NOP 23 | LFLAGS_R = /E /F /PACKC 24 | MAPFILE_D = NUL 25 | MAPFILE_R = NUL 26 | BRFLAGS = /o $(PROJ).bsc 27 | BROWSE = 0 28 | RUNFLAGS = -d -r 27040 -v -x 29 | CVFLAGS = /25 /F /R 30 | 31 | OBJS = BUILDIMG.obj LOADICE.obj SYSDEP.obj 32 | SBRS = BUILDIMG.sbr LOADICE.sbr SYSDEP.sbr 33 | 34 | all: $(PROJ).exe 35 | 36 | .SUFFIXES: .c .obj .sbr 37 | 38 | BUILDIMG.obj : BUILDIMG.C loadice.h proto.h c:\include\string.h\ 39 | c:\include\stdio.h 40 | 41 | BUILDIMG.sbr : BUILDIMG.C loadice.h proto.h c:\include\string.h\ 42 | c:\include\stdio.h 43 | 44 | LOADICE.obj : LOADICE.C c:\include\stdio.h c:\include\io.h c:\include\errno.h\ 45 | c:\include\stdlib.h c:\include\string.h c:\include\conio.h loadice.h\ 46 | proto.h 47 | 48 | LOADICE.sbr : LOADICE.C c:\include\stdio.h c:\include\io.h c:\include\errno.h\ 49 | c:\include\stdlib.h c:\include\string.h c:\include\conio.h loadice.h\ 50 | proto.h 51 | 52 | SYSDEP.obj : SYSDEP.C c:\include\stdio.h c:\include\malloc.h\ 53 | c:\include\conio.h c:\include\fcntl.h c:\include\sys\types.h\ 54 | c:\include\sys\stat.h c:\include\string.h c:\include\io.h\ 55 | c:\include\time.h loadice.h proto.h 56 | 57 | SYSDEP.sbr : SYSDEP.C c:\include\stdio.h c:\include\malloc.h\ 58 | c:\include\conio.h c:\include\fcntl.h c:\include\sys\types.h\ 59 | c:\include\sys\stat.h c:\include\string.h c:\include\io.h\ 60 | c:\include\time.h loadice.h proto.h 61 | 62 | 63 | $(PROJ).bsc : $(SBRS) 64 | $(PWBRMAKE) @<< 65 | $(BRFLAGS) $(SBRS) 66 | << 67 | 68 | $(PROJ).exe : $(OBJS) 69 | !IF $(DEBUG) 70 | $(LRF) @<<$(PROJ).lrf 71 | $(RT_OBJS: = +^ 72 | ) $(OBJS: = +^ 73 | ) 74 | $@ 75 | $(MAPFILE_D) 76 | $(LLIBS_G: = +^ 77 | ) + 78 | $(LLIBS_D: = +^ 79 | ) + 80 | $(LIBS: = +^ 81 | ) 82 | $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_D); 83 | << 84 | !ELSE 85 | $(LRF) @<<$(PROJ).lrf 86 | $(RT_OBJS: = +^ 87 | ) $(OBJS: = +^ 88 | ) 89 | $@ 90 | $(MAPFILE_R) 91 | $(LLIBS_G: = +^ 92 | ) + 93 | $(LLIBS_R: = +^ 94 | ) + 95 | $(LIBS: = +^ 96 | ) 97 | $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_R); 98 | << 99 | !ENDIF 100 | !IF $(DEBUG) 101 | $(LINKER) @$(PROJ).lrf 102 | !ELSE 103 | $(LINKER) @$(PROJ).lrf 104 | !ENDIF 105 | 106 | 107 | .c.obj : 108 | !IF $(DEBUG) 109 | $(CC) /c $(CFLAGS_G) $(CFLAGS_D) /Fo$@ $< 110 | !ELSE 111 | $(CC) /c $(CFLAGS_G) $(CFLAGS_R) /Fo$@ $< 112 | !ENDIF 113 | 114 | .c.sbr : 115 | !IF $(DEBUG) 116 | $(CC) /Zs $(CFLAGS_G) $(CFLAGS_D) /FR$@ $< 117 | !ELSE 118 | $(CC) /Zs $(CFLAGS_G) $(CFLAGS_R) /FR$@ $< 119 | !ENDIF 120 | 121 | 122 | run: $(PROJ).exe 123 | $(PROJ).exe $(RUNFLAGS) 124 | 125 | debug: $(PROJ).exe 126 | CV $(CVFLAGS) $(PROJ).exe $(RUNFLAGS) 127 | -------------------------------------------------------------------------------- /bitmaps/testings80x40x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x28, 3 | 0x31, 0x55, 0x01, 0x55, 0x02, 0x55, 0x03, 0x55, 0x04, 0x55, 0x05, 0x55, 4 | 0x06, 0x55, 0x09, 0x55, 0x0a, 0x55, 0x0b, 0x55, 0x0c, 0x55, 0x0d, 0x55, 5 | 0x0e, 0x55, 0x0f, 0x55, 0x14, 0x56, 0x01, 0x57, 0x01, 0x5b, 0x01, 0x5b, 6 | 0x02, 0x5f, 0x01, 0x5f, 0x02, 0x6e, 0x01, 0x6f, 0x01, 0x7d, 0x01, 0x7d, 7 | 0x02, 0x7e, 0x01, 0x7f, 0x01, 0x95, 0x01, 0x96, 0x01, 0x9b, 0x01, 0xb5, 8 | 0x01, 0xb9, 0x01, 0xbd, 0x01, 0xbd, 0x02, 0xbe, 0x01, 0xbf, 0x01, 0xd5, 9 | 0x01, 0xd6, 0x01, 0xd7, 0x01, 0xdb, 0x01, 0xdf, 0x01, 0xe5, 0x01, 0xef, 10 | 0x01, 0xf5, 0x01, 0xf5, 0x02, 0xf9, 0x01, 0xf9, 0x02, 0xfd, 0x01, 0xfe, 11 | 0x01, 0xff, 0x01, 0x0d, 0x06, 0x0f, 0x23, 0x06, 0x01, 0x2a, 0x04, 0x16, 12 | 0x0f, 0x23, 0x06, 0x00, 0x0e, 0x2a, 0x04, 0x1f, 0x08, 0x00, 0x0f, 0x28, 13 | 0x04, 0x2c, 0x08, 0x00, 0x19, 0x2e, 0x10, 0x2c, 0x0e, 0x30, 0x12, 0x30, 14 | 0x12, 0x0f, 0x26, 0x28, 0x0e, 0x2f, 0x2a, 0x03, 0x00, 0x0f, 0x23, 0x19, 15 | 0x2f, 0x12, 0x30, 0x23, 0x2a, 0x12, 0x0f, 0x29, 0x2c, 0x12, 0x30, 0x2a, 16 | 0x03, 0x00, 0x10, 0x23, 0x2e, 0x15, 0x19, 0x0f, 0x24, 0x2a, 0x15, 0x10, 17 | 0x2a, 0x1f, 0x19, 0x0e, 0x2a, 0x03, 0x00, 0x12, 0x1b, 0x2a, 0x12, 0x16, 18 | 0x00, 0x0f, 0x28, 0x18, 0x12, 0x23, 0x20, 0x0f, 0x28, 0x03, 0x00, 0x12, 19 | 0x0f, 0x30, 0x2f, 0x15, 0x2c, 0x0f, 0x23, 0x16, 0x12, 0x1a, 0x2d, 0x0f, 20 | 0x23, 0x03, 0x00, 0x15, 0x0f, 0x23, 0x00, 0x10, 0x30, 0x10, 0x23, 0x16, 21 | 0x12, 0x00, 0x2b, 0x10, 0x23, 0x03, 0x00, 0x18, 0x0f, 0x23, 0x01, 0x13, 22 | 0x1a, 0x1f, 0x15, 0x0e, 0x2b, 0x12, 0x1a, 0x03, 0x00, 0x16, 0x0f, 0x28, 23 | 0x1d, 0x2a, 0x15, 0x12, 0x00, 0x2c, 0x18, 0x0f, 0x28, 0x2c, 0x22, 0x04, 24 | 0x00, 0x19, 0x0e, 0x30, 0x2a, 0x30, 0x2e, 0x12, 0x23, 0x2a, 0x16, 0x0f, 25 | 0x23, 0x22, 0x30, 0x04, 0x00, 0x12, 0x00, 0x22, 0x1a, 0x19, 0x2a, 0x0f, 26 | 0x23, 0x2a, 0x16, 0x0f, 0x23, 0x15, 0x27, 0x04, 0x0b, 0x18, 0x04, 0x09, 27 | 0x0f, 0x23, 0x2e, 0x04, 0x09, 0x0f, 0x30, 0x2a, 0x04, 0x0a, 0x19, 0x05, 28 | 0x0d, 0x0d, 0x0d, 0x06, 0x12, 0x07, 0x06, 0x15, 0x07, 0x06, 0x18, 0x07, 29 | 0x01, 0x22, 0x23, 0x2a, 0x0f, 0x23, 0x22, 0x25, 0x30, 0x23, 0x22, 0x1a, 30 | 0x16, 0x22, 0x1c, 0x28, 0x02, 0x00, 0x0f, 0x30, 0x2b, 0x10, 0x25, 0x30, 31 | 0x2a, 0x16, 0x0f, 0x30, 0x28, 0x18, 0x30, 0x29, 0x2c, 0x02, 0x00, 0x12, 32 | 0x23, 0x2a, 0x2c, 0x13, 0x23, 0x2a, 0x1f, 0x12, 0x24, 0x2a, 0x22, 0x10, 33 | 0x2a, 0x1f, 0x02, 0x00, 0x12, 0x01, 0x1f, 0x14, 0x12, 0x01, 0x2c, 0x15, 34 | 0x00, 0x2a, 0x2e, 0x12, 0x23, 0x1f, 0x02, 0x00, 0x10, 0x2f, 0x00, 0x17, 35 | 0x10, 0x2f, 0x00, 0x2a, 0x19, 0x30, 0x28, 0x2c, 0x12, 0x1a, 0x2c, 0x02, 36 | 0x00, 0x0e, 0x30, 0x23, 0x16, 0x1e, 0x0e, 0x30, 0x24, 0x2a, 0x16, 0x01, 37 | 0x2a, 0x12, 0x00, 0x2a, 0x02, 0x01, 0x0f, 0x23, 0x14, 0x2a, 0x00, 0x0f, 38 | 0x25, 0x28, 0x16, 0x00, 0x0e, 0x2a, 0x15, 0x0e, 0x2a, 0x02, 0x00, 0x16, 39 | 0x10, 0x23, 0x12, 0x28, 0x16, 0x10, 0x25, 0x23, 0x18, 0x11, 0x28, 0x18, 40 | 0x0f, 0x28, 0x02, 0x00, 0x19, 0x30, 0x00, 0x12, 0x23, 0x19, 0x30, 0x0f, 41 | 0x2a, 0x15, 0x30, 0x12, 0x23, 0x16, 0x0f, 0x23, 0x2a, 0x16, 0x12, 0x00, 42 | 0x12, 0x2e, 0x00, 0x10, 0x1a, 0x12, 0x2e, 0x00, 0x2a, 0x10, 0x2c, 0x12, 43 | 0x23, 0x16, 0x0f, 0x23, 0x2a, 0x16, 0x12, 0x03, 0x15, 0x0c, 0x03, 0x21, 44 | 0x0c, 0x03, 0x2e, 0x0c, 0x03, 0x2a, 0x0c, 0x0d, -------------------------------------------------------------------------------- /bitmaps/simm32x100x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x64, 3 | 0x1f, 0x00, 0x07, 0x05, 0x01, 0x15, 0x01, 0x16, 0x01, 0x1f, 0x01, 0x35, 4 | 0x01, 0x3f, 0x01, 0x55, 0x01, 0x55, 0x02, 0x55, 0x04, 0x55, 0x06, 0x56, 5 | 0x01, 0x57, 0x01, 0x66, 0x02, 0x75, 0x01, 0x90, 0x01, 0x95, 0x01, 0x99, 6 | 0x02, 0xa0, 0x01, 0xa5, 0x02, 0xa6, 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xaa, 7 | 0x02, 0xaa, 0x05, 0xd0, 0x01, 0xe0, 0x01, 0xe9, 0x01, 0xf5, 0x01, 0xff, 8 | 0x01, 0xff, 0x05, 0x00, 0x01, 0x02, 0x0a, 0x0e, 0x02, 0x0a, 0x0e, 0x03, 9 | 0x18, 0x15, 0x0e, 0x03, 0x18, 0x15, 0x0e, 0x03, 0x18, 0x15, 0x0e, 0x03, 10 | 0x18, 0x15, 0x0e, 0x03, 0x18, 0x15, 0x0e, 0x03, 0x18, 0x15, 0x0e, 0x03, 11 | 0x18, 0x15, 0x0e, 0x03, 0x18, 0x15, 0x0e, 0x03, 0x0d, 0x16, 0x11, 0x15, 12 | 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 0x05, 0x04, 0x1e, 0x1a, 13 | 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 14 | 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x03, 0x0d, 0x16, 15 | 0x11, 0x12, 0x05, 0x03, 0x0d, 0x16, 0x11, 0x0f, 0x05, 0x04, 0x1e, 0x1a, 16 | 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 17 | 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 18 | 0x05, 0x04, 0x1e, 0x19, 0x05, 0x03, 0x0d, 0x16, 0x11, 0x12, 0x05, 0x03, 19 | 0x0d, 0x16, 0x11, 0x15, 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 20 | 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 21 | 0x05, 0x04, 0x1e, 0x19, 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 22 | 0x0e, 0x03, 0x0d, 0x16, 0x11, 0x12, 0x05, 0x03, 0x0d, 0x16, 0x11, 0x0f, 23 | 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 24 | 0x05, 0x04, 0x1e, 0x19, 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 25 | 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 0x05, 0x03, 0x0d, 0x16, 26 | 0x11, 0x12, 0x05, 0x03, 0x0d, 0x16, 0x11, 0x15, 0x0e, 0x04, 0x1e, 0x1a, 27 | 0x05, 0x04, 0x1e, 0x19, 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 28 | 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 0x05, 0x04, 0x1e, 0x1a, 29 | 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x03, 0x0d, 0x16, 0x11, 0x12, 0x05, 0x03, 30 | 0x0d, 0x16, 0x11, 0x0f, 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 31 | 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 0x05, 0x04, 0x1e, 0x1a, 32 | 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 33 | 0x05, 0x03, 0x0d, 0x16, 0x11, 0x12, 0x05, 0x03, 0x0d, 0x16, 0x11, 0x15, 34 | 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 0x05, 0x04, 0x1e, 0x1a, 35 | 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 36 | 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x03, 0x0d, 0x16, 37 | 0x11, 0x12, 0x05, 0x03, 0x0d, 0x16, 0x11, 0x0f, 0x05, 0x04, 0x1e, 0x1a, 38 | 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x19, 39 | 0x05, 0x04, 0x1e, 0x1a, 0x05, 0x04, 0x1e, 0x1b, 0x0e, 0x04, 0x1e, 0x1a, 40 | 0x05, 0x04, 0x1e, 0x19, 0x05, 0x03, 0x0d, 0x16, 0x11, 0x12, 0x05, 0x03, 41 | 0x16, 0x15, 0x0b, 0x17, 0x15, 0x0e, 0x03, 0x16, 0x13, 0x17, 0x15, 0x0e, 42 | 0x03, 0x16, 0x14, 0x15, 0x16, 0x15, 0x07, 0x0e, 0x03, 0x16, 0x14, 0x15, 43 | 0x16, 0x10, 0x07, 0x0e, 0x03, 0x16, 0x13, 0x16, 0x10, 0x07, 0x0e, 0x03, 44 | 0x16, 0x15, 0x0b, 0x16, 0x07, 0x1d, 0x1c, 0x02, 0x09, 0x0c, 0x08, 0x02, 45 | 0x09, 0x0c, 0x08, 0x06, 0x1e, 0x08, 0x00, 0x00, -------------------------------------------------------------------------------- /loadice/readme: -------------------------------------------------------------------------------- 1 | LoadICE Version 1.4b 2 | 3 | 4 | See the 'release' file for major features and differences 5 | from the old software: 6 | 7 | DISTRIBUTION MEDIA CONTENTS: 8 | 9 | The files that are included on the diskette are: 10 | 11 | 1 readme - this file 12 | 2 release - release notes 13 | 3 loadice.h - header file of definitions 14 | 4 loadice.c - source code for command shell 15 | 5 buildimg.c - source code for image builder 16 | 6 sysdep.c - source code for system dependent stuff 17 | 7 makefile.* - make files to create 'loadice.exe' file 18 | 8 loadice2.hlp - help file for 'command' line 19 | 9 loadice.hlp - help file for 'dialog' mode 20 | 10 release.ini - example initialization file 21 | 11 loadice.exe - the executable image of loadice command 22 | 12 *.obj - object files for corresponding c modules 23 | 13 hex.exe - prints image files in hex 24 | 14 loadice.vms - command file for VMS 25 | 15 *.tut - tutorial files 26 | 16 loadice.ini - initialization file for tutorial 27 | 28 | UNIX USERS: We have learned that on several UNIX machines the tty 29 | device does not have read/write permissions set for other than 30 | root. Use 'chmod' command to set '/dev/ttyx' to allow LoadICE to work 31 | from any user process. 32 | 33 | INSTALLATION NOTES: 34 | 35 | PC and COMPATIBLES: Copy the 'loadice.exe' file to your command 36 | directory. Use file 'loadice.ini' and command line arguments to 37 | specify the operating parameters when invoking 'loadice'. Use 'batch' 38 | files to invoke command etc. Use the source files on the distribution 39 | diskette if you wish to make some changes to the code. Use 40 | 'makefile.pc' and the 'make' program utility to make new 41 | 'loadice.exe' file. 42 | 43 | UNIX MACHINES: Transfer software with some file transfer utility such 44 | as kermit. Use 'makefile.unx' to create the command 'loadice'. Define 45 | the compiler flags (-DUNIX, -DATNT or -DBSD) as appropriate for your 46 | system. The ATNT define makes it an AT&T UNIX based and BSD makes it a 47 | Berkley Standard Distribution based. In addition to these defines there 48 | is -DPI_BLOCK for compiling the version of code that sends out an entire 49 | command sequence on single 'write' instead of just one character. 50 | 51 | You must specify the output device (either in file 'loadice.ini' or 52 | on the command line) in form of '/dev/ttyn' etc. 53 | 54 | VMS USERS: Transfer the software to VMS machine via some utility such 55 | as kermit. Edit the source files to remove NULLs from the end that 56 | are sometimes left by kermit. Use the command file 'makefile.com' to 57 | invoke the compilation and linking of the executable module. The 58 | command to load the Promice is invoked by a DCL file named 59 | 'loadice.vms'. Do @loadice.vms and that will setup 'loadice' as 60 | a command name, then on you should be able to type the command line 61 | version of 'loadice' command as described in the manual. You may also 62 | choose to define some of the command line arguments in loadice.vms so 63 | that they don't have to be typed on the command line every time. 64 | 65 | OTHER SYSTEMS: The software is all written in C. Typically you will 66 | need to provide some code for every routine in 'sysdep.c' in order to 67 | port the software to other environments. 68 | 69 | 70 | Report any problems to: 71 | 72 | Grammar Engine, Inc. 73 | 3314 Morse Road 74 | Columbus, Ohio 43229 75 | (614) 471-1113 76 | -------------------------------------------------------------------------------- /subr/helvetica.h: -------------------------------------------------------------------------------- 1 | { 0, 0, 0, 0, 0 }, /* */ 2 | { 148, 20, 2, 14, 0 }, /* ! */ 3 | { 220, 13, 3, 5, -9 }, /* " */ 4 | { 166, 20, 10, 13, 0 }, /* # */ 5 | { 176, 18, 9, 16, 2 }, /* $ */ 6 | { 185, 20, 14, 13, 0 }, /* % */ 7 | { 206, 20, 12, 13, 0 }, /* & */ 8 | { 235, 13, 2, 5, -9 }, /* ' */ 9 | { 195, 0, 4, 18, 4 }, /* ( */ 10 | { 201, 0, 4, 18, 4 }, /* ) */ 11 | { 226, 26, 5, 7, -6 }, /* * */ 12 | { 218, 21, 8, 10, -1 }, /* + */ 13 | { 232, 17, 2, 5, 3 }, /* , */ 14 | { 0, 0, 0, 0, 0 }, /* - */ 15 | { 237, 20, 2, 2, 0 }, /* . */ 16 | { 240, 20, 5, 14, 0 }, /* / */ 17 | { 62, 20, 8, 13, 0 }, /* 0 */ 18 | { 70, 20, 5, 13, 0 }, /* 1 */ 19 | { 75, 20, 8, 13, 0 }, /* 2 */ 20 | { 83, 20, 8, 13, 0 }, /* 3 */ 21 | { 91, 20, 9, 13, 0 }, /* 4 */ 22 | { 100, 20, 8, 13, 0 }, /* 5 */ 23 | { 108, 20, 8, 13, 0 }, /* 6 */ 24 | { 116, 20, 8, 13, 0 }, /* 7 */ 25 | { 124, 20, 8, 13, 0 }, /* 8 */ 26 | { 132, 20, 8, 13, 0 }, /* 9 */ 27 | { 230, 4, 2, 10, 0 }, /* : */ 28 | { 230, 1, 2, 13, 3 }, /* ; */ 29 | { 228, 37, 8, 9, -2 }, /* < */ 30 | { 0, 0, 0, 0, 0 }, /* = */ 31 | { 236, 37, 8, 9, -2 }, /* > */ 32 | { 221, 35, 7, 14, 0 }, /* ? */ 33 | { 150, 18, 16, 16, 1 }, /* @ */ 34 | { 1, 35, 12, 14, 0 }, /* A */ 35 | { 13, 35, 11, 14, 0 }, /* B */ 36 | { 24, 35, 12, 14, 0 }, /* C */ 37 | { 36, 35, 11, 14, 0 }, /* D */ 38 | { 47, 35, 9, 14, 0 }, /* E */ 39 | { 56, 35, 9, 14, 0 }, /* F */ 40 | { 65, 35, 12, 14, 0 }, /* G */ 41 | { 77, 35, 11, 14, 0 }, /* H */ 42 | { 88, 35, 2, 14, 0 }, /* I */ 43 | { 90, 35, 8, 14, 0 }, /* J */ 44 | { 98, 35, 12, 14, 0 }, /* K */ 45 | { 110, 35, 8, 14, 0 }, /* L */ 46 | { 118, 35, 14, 14, 0 }, /* M */ 47 | { 132, 35, 11, 14, 0 }, /* N */ 48 | { 143, 35, 13, 14, 0 }, /* O */ 49 | { 156, 35, 10, 14, 0 }, /* P */ 50 | { 166, 34, 13, 15, 1 }, /* Q */ 51 | { 179, 35, 10, 14, 0 }, /* R */ 52 | { 189, 35, 11, 14, 0 }, /* S */ 53 | { 200, 35, 10, 14, 0 }, /* T */ 54 | { 210, 35, 11, 14, 0 }, /* U */ 55 | { 1, 20, 12, 14, 0 }, /* V */ 56 | { 13, 20, 16, 14, 0 }, /* W */ 57 | { 29, 20, 11, 14, 0 }, /* X */ 58 | { 40, 20, 12, 14, 0 }, /* Y */ 59 | { 52, 20, 10, 14, 0 }, /* Z */ 60 | { 239, 0, 4, 18, 4 }, /* [ */ 61 | { 248, 4, 5, 14, 0 }, /* \ */ 62 | { 243, 0, 4, 18, 4 }, /* ] */ 63 | { 199, 29, 7, 4, -9 }, /* ^ */ 64 | { 220, 4, 9, 1, 0 }, /* _ */ 65 | { 0, 0, 0, 0, 0 }, /* ` */ 66 | { 1, 4, 7, 10, 0 }, /* a */ 67 | { 8, 4, 9, 14, 0 }, /* b */ 68 | { 17, 4, 8, 10, 0 }, /* c */ 69 | { 25, 4, 9, 14, 0 }, /* d */ 70 | { 34, 4, 8, 10, 0 }, /* e */ 71 | { 42, 4, 6, 14, 0 }, /* f */ 72 | { 48, 0, 9, 14, 4 }, /* g */ 73 | { 57, 4, 8, 14, 0 }, /* h */ 74 | { 67, 4, 2, 14, 0 }, /* i */ 75 | { 65, 0, 4, 18, 4 }, /* j */ 76 | { 69, 4, 8, 14, 0 }, /* k */ 77 | { 77, 4, 2, 14, 0 }, /* l */ 78 | { 79, 4, 12, 10, 0 }, /* m */ 79 | { 91, 4, 8, 10, 0 }, /* n */ 80 | { 99, 4, 9, 10, 0 }, /* o */ 81 | { 108, 0, 9, 14, 4 }, /* p */ 82 | { 117, 0, 9, 14, 4 }, /* q */ 83 | { 126, 4, 5, 10, 0 }, /* r */ 84 | { 131, 4, 7, 10, 0 }, /* s */ 85 | { 138, 4, 6, 13, 0 }, /* t */ 86 | { 144, 4, 8, 10, 0 }, /* u */ 87 | { 152, 4, 8, 10, 0 }, /* v */ 88 | { 160, 4, 12, 10, 0 }, /* w */ 89 | { 172, 4, 8, 10, 0 }, /* x */ 90 | { 180, 0, 8, 14, 4 }, /* y */ 91 | { 188, 4, 7, 10, 0 }, /* z */ 92 | { 205, 0, 6, 18, 4 }, /* { */ 93 | { 218, 0, 1, 18, 4 }, /* | */ 94 | { 211, 0, 6, 18, 4 }, /* } */ 95 | { 0, 0, 0, 0, 0 }, /* ~ */ 96 | { 0, 0, 0, 0, 0 }, /*  */ 97 | -------------------------------------------------------------------------------- /bitmaps/testing88x40x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x28, 3 | 0x36, 0x55, 0x01, 0x55, 0x02, 0x55, 0x03, 0x55, 0x04, 0x55, 0x05, 0x55, 4 | 0x06, 0x55, 0x07, 0x55, 0x08, 0x55, 0x09, 0x55, 0x0b, 0x55, 0x0c, 0x55, 5 | 0x0d, 0x55, 0x0e, 0x55, 0x10, 0x55, 0x11, 0x55, 0x16, 0x56, 0x01, 0x57, 6 | 0x01, 0x5b, 0x01, 0x5f, 0x01, 0x5f, 0x02, 0x6e, 0x01, 0x6f, 0x01, 0x7d, 7 | 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x95, 0x01, 0x96, 0x01, 0x9b, 0x01, 0x9f, 8 | 0x01, 0xb5, 0x01, 0xb9, 0x01, 0xbb, 0x01, 0xbd, 0x01, 0xbd, 0x02, 0xbe, 9 | 0x01, 0xbf, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 0x01, 0xdb, 0x01, 0xdf, 10 | 0x01, 0xe5, 0x01, 0xef, 0x01, 0xf5, 0x01, 0xf5, 0x02, 0xf6, 0x01, 0xf7, 11 | 0x01, 0xf7, 0x02, 0xf9, 0x01, 0xf9, 0x02, 0xfd, 0x01, 0xfe, 0x01, 0xff, 12 | 0x01, 0x0f, 0x08, 0x11, 0x25, 0x09, 0x01, 0x2c, 0x04, 0x17, 0x11, 0x25, 13 | 0x09, 0x00, 0x10, 0x2c, 0x04, 0x21, 0x0b, 0x00, 0x11, 0x2a, 0x04, 0x31, 14 | 0x0b, 0x00, 0x19, 0x33, 0x12, 0x31, 0x10, 0x35, 0x13, 0x35, 0x13, 0x11, 15 | 0x28, 0x2a, 0x10, 0x34, 0x2c, 0x05, 0x00, 0x11, 0x25, 0x19, 0x34, 0x13, 16 | 0x35, 0x25, 0x2c, 0x13, 0x11, 0x2b, 0x31, 0x13, 0x35, 0x2c, 0x05, 0x00, 17 | 0x12, 0x25, 0x33, 0x16, 0x19, 0x11, 0x26, 0x2c, 0x16, 0x12, 0x2c, 0x21, 18 | 0x19, 0x10, 0x2c, 0x05, 0x00, 0x13, 0x1b, 0x2c, 0x13, 0x17, 0x00, 0x11, 19 | 0x2a, 0x18, 0x13, 0x25, 0x22, 0x11, 0x2a, 0x05, 0x00, 0x13, 0x11, 0x35, 20 | 0x34, 0x16, 0x31, 0x11, 0x25, 0x17, 0x13, 0x1a, 0x32, 0x11, 0x25, 0x05, 21 | 0x00, 0x16, 0x11, 0x25, 0x00, 0x12, 0x35, 0x12, 0x25, 0x17, 0x13, 0x00, 22 | 0x2d, 0x12, 0x25, 0x05, 0x00, 0x18, 0x11, 0x25, 0x01, 0x14, 0x1a, 0x21, 23 | 0x16, 0x10, 0x2d, 0x13, 0x1a, 0x05, 0x00, 0x17, 0x11, 0x2a, 0x1e, 0x2c, 24 | 0x16, 0x13, 0x00, 0x31, 0x18, 0x11, 0x2a, 0x31, 0x24, 0x06, 0x00, 0x19, 25 | 0x10, 0x35, 0x2c, 0x35, 0x33, 0x13, 0x25, 0x2c, 0x17, 0x11, 0x25, 0x24, 26 | 0x35, 0x06, 0x00, 0x13, 0x00, 0x24, 0x1a, 0x19, 0x2c, 0x11, 0x25, 0x2c, 27 | 0x17, 0x11, 0x25, 0x16, 0x29, 0x06, 0x0c, 0x18, 0x06, 0x0a, 0x11, 0x25, 28 | 0x33, 0x06, 0x0a, 0x11, 0x35, 0x2c, 0x06, 0x0b, 0x19, 0x07, 0x0f, 0x0f, 29 | 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x11, 0x28, 0x31, 0x23, 0x00, 0x16, 0x2a, 30 | 0x17, 0x24, 0x1c, 0x2a, 0x10, 0x34, 0x00, 0x30, 0x25, 0x13, 0x02, 0x00, 31 | 0x11, 0x2b, 0x34, 0x35, 0x1a, 0x35, 0x31, 0x18, 0x35, 0x2b, 0x31, 0x13, 32 | 0x35, 0x1a, 0x35, 0x2f, 0x25, 0x16, 0x02, 0x00, 0x12, 0x2c, 0x24, 0x12, 33 | 0x27, 0x2c, 0x21, 0x24, 0x12, 0x2c, 0x21, 0x19, 0x12, 0x26, 0x33, 0x11, 34 | 0x2a, 0x17, 0x02, 0x00, 0x13, 0x25, 0x33, 0x12, 0x28, 0x25, 0x17, 0x33, 35 | 0x13, 0x25, 0x22, 0x11, 0x27, 0x2a, 0x10, 0x2c, 0x1f, 0x02, 0x00, 0x13, 36 | 0x1a, 0x31, 0x13, 0x1d, 0x35, 0x32, 0x13, 0x1a, 0x32, 0x11, 0x27, 0x25, 37 | 0x00, 0x2d, 0x02, 0x00, 0x13, 0x00, 0x2c, 0x14, 0x01, 0x2c, 0x13, 0x00, 38 | 0x2d, 0x12, 0x27, 0x25, 0x00, 0x2e, 0x2a, 0x02, 0x00, 0x16, 0x10, 0x2c, 39 | 0x16, 0x13, 0x00, 0x10, 0x2c, 0x16, 0x10, 0x2d, 0x13, 0x1c, 0x25, 0x00, 40 | 0x20, 0x25, 0x02, 0x00, 0x18, 0x11, 0x2a, 0x18, 0x13, 0x1b, 0x27, 0x2a, 41 | 0x18, 0x11, 0x2a, 0x31, 0x19, 0x13, 0x1a, 0x00, 0x19, 0x1a, 0x02, 0x00, 42 | 0x17, 0x11, 0x25, 0x17, 0x12, 0x35, 0x27, 0x25, 0x17, 0x11, 0x25, 0x24, 43 | 0x33, 0x13, 0x01, 0x19, 0x00, 0x2c, 0x17, 0x13, 0x00, 0x17, 0x11, 0x25, 44 | 0x17, 0x10, 0x34, 0x11, 0x25, 0x17, 0x11, 0x25, 0x16, 0x2a, 0x13, 0x01, 45 | 0x15, 0x00, 0x2c, 0x17, 0x13, 0x0e, 0x21, 0x03, 0x0d, 0x10, 0x31, 0x03, 46 | 0x0d, 0x11, 0x2c, 0x03, 0x0d, 0x11, 0x25, 0x03, 0x0f, 0x00, 0x00, 0x00, -------------------------------------------------------------------------------- /bitmaps/cube88x88x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 3 | 0x20, 0x00, 0x15, 0x15, 0x01, 0x1a, 0x01, 0x55, 0x01, 0x55, 0x0a, 0x55, 4 | 0x0f, 0x55, 0x14, 0x5f, 0x01, 0x6a, 0x01, 0x6f, 0x01, 0x95, 0x01, 0xaa, 5 | 0x01, 0xaa, 0x04, 0xaa, 0x08, 0xaa, 0x09, 0xaa, 0x0a, 0xaa, 0x14, 0xab, 6 | 0x01, 0xaf, 0x01, 0xb5, 0x01, 0xba, 0x01, 0xbf, 0x01, 0xea, 0x01, 0xef, 7 | 0x01, 0xf5, 0x01, 0xfa, 0x01, 0xfe, 0x01, 0xff, 0x01, 0xff, 0x02, 0xff, 8 | 0x08, 0xff, 0x0a, 0xff, 0x15, 0x00, 0x18, 0x01, 0x06, 0x18, 0x02, 0x10, 9 | 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x0c, 10 | 0x15, 0x1e, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 11 | 0x02, 0x0c, 0x13, 0x04, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 12 | 0x0c, 0x18, 0x02, 0x0c, 0x15, 0x1e, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 13 | 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x13, 0x04, 0x08, 0x0c, 0x18, 0x02, 14 | 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x15, 0x1e, 0x08, 0x0c, 15 | 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x13, 0x04, 16 | 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 17 | 0x15, 0x1e, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 18 | 0x02, 0x0c, 0x13, 0x04, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 19 | 0x0c, 0x18, 0x02, 0x0c, 0x15, 0x1e, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 20 | 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x13, 0x04, 0x08, 0x0c, 0x18, 0x02, 21 | 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x15, 0x1e, 0x08, 0x0c, 22 | 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x13, 0x04, 23 | 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 24 | 0x15, 0x1e, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 25 | 0x02, 0x0c, 0x13, 0x04, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 26 | 0x0c, 0x18, 0x02, 0x0c, 0x15, 0x1e, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 27 | 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x13, 0x09, 0x1d, 0x0a, 0x08, 0x0c, 28 | 0x18, 0x02, 0x0c, 0x14, 0x12, 0x1d, 0x0b, 0x08, 0x0c, 0x18, 0x02, 0x0c, 29 | 0x15, 0x17, 0x1d, 0x15, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 30 | 0x0c, 0x18, 0x02, 0x0c, 0x13, 0x04, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x14, 31 | 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x15, 0x1e, 0x08, 0x0c, 0x18, 0x02, 32 | 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x13, 0x04, 0x08, 0x0c, 33 | 0x18, 0x02, 0x0c, 0x14, 0x0f, 0x08, 0x0c, 0x18, 0x02, 0x0c, 0x15, 0x1e, 34 | 0x08, 0x0c, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 35 | 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 36 | 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 37 | 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 38 | 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 39 | 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 0x02, 0x10, 0x18, 40 | 0x02, 0x10, 0x18, 0x02, 0x0e, 0x11, 0x0f, 0x18, 0x02, 0x0e, 0x12, 0x16, 41 | 0x0e, 0x18, 0x02, 0x0e, 0x15, 0x19, 0x0e, 0x18, 0x02, 0x0e, 0x1b, 0x1a, 42 | 0x0e, 0x18, 0x02, 0x0d, 0x11, 0x1c, 0x0e, 0x18, 0x02, 0x0d, 0x12, 0x1c, 43 | 0x16, 0x0d, 0x18, 0x02, 0x0d, 0x11, 0x1c, 0x0e, 0x18, 0x02, 0x0e, 0x1b, 44 | 0x1a, 0x0e, 0x18, 0x02, 0x0e, 0x15, 0x19, 0x0e, 0x18, 0x02, 0x0e, 0x12, 45 | 0x16, 0x0e, 0x18, 0x02, 0x0e, 0x11, 0x0f, 0x18, 0x02, 0x10, 0x18, 0x02, 46 | 0x10, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x03, 0x1c, 0x05, 0x07, 0x1b, 0x18, 47 | 0x03, 0x03, 0x1c, 0x05, 0x07, 0x1b, 0x18, 0x03, -------------------------------------------------------------------------------- /bitmaps/graybaddisk80x41x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x29, 3 | 0x33, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x01, 0x01, 0x04, 4 | 0x01, 0x04, 0x02, 0x05, 0x01, 0x10, 0x01, 0x11, 0x01, 0x11, 0x02, 0x11, 5 | 0x03, 0x15, 0x01, 0x40, 0x01, 0x40, 0x02, 0x41, 0x01, 0x44, 0x01, 0x44, 6 | 0x02, 0x45, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 7 | 0x01, 0x55, 0x01, 0x55, 0x02, 0x55, 0x03, 0x55, 0x04, 0x55, 0x06, 0xa8, 8 | 0x01, 0xaa, 0x01, 0xaa, 0x02, 0xaa, 0x03, 0xaa, 0x04, 0xaa, 0x06, 0xab, 9 | 0x01, 0xae, 0x01, 0xaf, 0x01, 0xba, 0x02, 0xbc, 0x01, 0xbf, 0x01, 0xea, 10 | 0x01, 0xfa, 0x01, 0xfa, 0x02, 0xfc, 0x01, 0xfe, 0x01, 0xff, 0x01, 0xff, 11 | 0x02, 0xff, 0x03, 0xff, 0x04, 0xff, 0x05, 0x15, 0x24, 0x21, 0x1d, 0x17, 12 | 0x18, 0x09, 0x00, 0x05, 0x0f, 0x29, 0x21, 0x26, 0x15, 0x24, 0x21, 0x27, 13 | 0x18, 0x11, 0x0f, 0x00, 0x04, 0x2d, 0x21, 0x26, 0x15, 0x24, 0x20, 0x23, 14 | 0x2c, 0x10, 0x09, 0x08, 0x00, 0x05, 0x04, 0x2e, 0x29, 0x20, 0x26, 0x16, 15 | 0x2d, 0x20, 0x28, 0x2c, 0x18, 0x10, 0x0f, 0x08, 0x00, 0x04, 0x2e, 0x2d, 16 | 0x20, 0x26, 0x16, 0x20, 0x23, 0x2e, 0x2c, 0x14, 0x00, 0x08, 0x01, 0x04, 17 | 0x2f, 0x29, 0x1f, 0x28, 0x2a, 0x16, 0x20, 0x25, 0x2e, 0x2c, 0x11, 0x0f, 18 | 0x01, 0x04, 0x2f, 0x2a, 0x20, 0x2a, 0x16, 0x20, 0x28, 0x2e, 0x2c, 0x14, 19 | 0x03, 0x09, 0x2f, 0x2d, 0x20, 0x2a, 0x16, 0x20, 0x2f, 0x2c, 0x0d, 0x0f, 20 | 0x01, 0x08, 0x04, 0x30, 0x20, 0x2a, 0x16, 0x1f, 0x23, 0x2f, 0x2c, 0x14, 21 | 0x03, 0x0f, 0x30, 0x29, 0x1f, 0x2a, 0x16, 0x1f, 0x25, 0x2f, 0x2c, 0x0d, 22 | 0x02, 0x0d, 0x07, 0x30, 0x2a, 0x1f, 0x2a, 0x16, 0x1f, 0x28, 0x2f, 0x2c, 23 | 0x13, 0x0d, 0x00, 0x0d, 0x04, 0x09, 0x30, 0x2d, 0x1f, 0x2a, 0x16, 0x1f, 24 | 0x30, 0x2c, 0x0d, 0x01, 0x04, 0x05, 0x12, 0x31, 0x1f, 0x2a, 0x16, 0x1e, 25 | 0x23, 0x30, 0x2c, 0x0d, 0x00, 0x0e, 0x09, 0x18, 0x31, 0x29, 0x1e, 0x2a, 26 | 0x16, 0x1e, 0x23, 0x30, 0x2c, 0x0d, 0x00, 0x06, 0x10, 0x14, 0x31, 0x29, 27 | 0x1e, 0x2a, 0x16, 0x1e, 0x25, 0x30, 0x2c, 0x0d, 0x05, 0x0d, 0x09, 0x0c, 28 | 0x18, 0x31, 0x2a, 0x1e, 0x2a, 0x16, 0x1e, 0x25, 0x30, 0x2c, 0x0f, 0x00, 29 | 0x05, 0x12, 0x18, 0x0c, 0x31, 0x2a, 0x1e, 0x2a, 0x16, 0x1e, 0x28, 0x30, 30 | 0x2c, 0x0d, 0x0b, 0x12, 0x18, 0x31, 0x2d, 0x1e, 0x2a, 0x16, 0x1e, 0x28, 31 | 0x30, 0x2c, 0x14, 0x05, 0x10, 0x1a, 0x31, 0x2d, 0x1e, 0x2a, 0x16, 0x1e, 32 | 0x31, 0x2c, 0x0d, 0x0a, 0x10, 0x19, 0x32, 0x1e, 0x2a, 0x16, 0x1e, 0x31, 33 | 0x2c, 0x10, 0x12, 0x17, 0x1a, 0x32, 0x1e, 0x2a, 0x16, 0x23, 0x31, 0x2c, 34 | 0x14, 0x0a, 0x12, 0x19, 0x32, 0x29, 0x2a, 0x16, 0x23, 0x31, 0x2c, 0x10, 35 | 0x12, 0x1b, 0x32, 0x29, 0x2a, 0x16, 0x23, 0x31, 0x2c, 0x18, 0x14, 0x12, 36 | 0x1a, 0x32, 0x29, 0x2a, 0x16, 0x23, 0x31, 0x2c, 0x10, 0x12, 0x1b, 0x32, 37 | 0x29, 0x2a, 0x16, 0x23, 0x31, 0x2c, 0x1c, 0x32, 0x29, 0x2a, 0x16, 0x25, 38 | 0x31, 0x2c, 0x12, 0x0c, 0x1b, 0x32, 0x2b, 0x16, 0x25, 0x31, 0x2c, 0x1c, 39 | 0x32, 0x2b, 0x16, 0x25, 0x31, 0x2c, 0x1c, 0x32, 0x2b, 0x16, 0x25, 0x31, 40 | 0x2c, 0x1c, 0x32, 0x2b, 0x16, 0x25, 0x31, 0x2c, 0x1c, 0x32, 0x2b, 0x16, 41 | 0x25, 0x31, 0x2c, 0x1c, 0x32, 0x2b, 0x16, 0x25, 0x31, 0x2c, 0x1c, 0x32, 42 | 0x2b, 0x16, 0x25, 0x31, 0x2c, 0x1c, 0x32, 0x2b, 0x16, 0x25, 0x31, 0x2c, 43 | 0x1c, 0x32, 0x2b, 0x16, 0x25, 0x31, 0x2c, 0x1c, 0x32, 0x2b, 0x16, 0x25, 44 | 0x31, 0x2c, 0x1c, 0x32, 0x2b, 0x16, 0x25, 0x31, 0x2c, 0x1c, 0x32, 0x2b, 45 | 0x16, 0x23, 0x31, 0x2c, 0x1c, 0x32, 0x29, 0x2a, 0x16, 0x23, 0x31, 0x2c, 46 | 0x1c, 0x32, 0x29, 0x2a, 0x16, 0x23, 0x31, 0x2c, 0x1c, 0x32, 0x29, 0x2a, 47 | 0x16, 0x23, 0x31, 0x2c, 0x22, 0x32, 0x29, 0x2a, -------------------------------------------------------------------------------- /bitmaps/cube86x88x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x5a, 3 | 0x21, 0x00, 0x15, 0x00, 0x16, 0x15, 0x01, 0x1a, 0x01, 0x55, 0x01, 0x55, 4 | 0x0a, 0x55, 0x0f, 0x55, 0x14, 0x5f, 0x01, 0x6a, 0x01, 0x6f, 0x01, 0x95, 5 | 0x01, 0xaa, 0x01, 0xaa, 0x04, 0xaa, 0x08, 0xaa, 0x09, 0xaa, 0x0a, 0xaa, 6 | 0x14, 0xab, 0x01, 0xaf, 0x01, 0xb5, 0x01, 0xba, 0x01, 0xbf, 0x01, 0xea, 7 | 0x01, 0xef, 0x01, 0xf5, 0x01, 0xfa, 0x01, 0xfe, 0x01, 0xff, 0x01, 0xff, 8 | 0x02, 0xff, 0x08, 0xff, 0x0a, 0xff, 0x16, 0x00, 0x1c, 0x02, 0x07, 0x1c, 9 | 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 10 | 0x03, 0x0d, 0x16, 0x1f, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 11 | 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x05, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 12 | 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x16, 0x1f, 0x09, 0x0d, 0x1c, 0x03, 13 | 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x05, 0x09, 0x0d, 14 | 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x16, 0x1f, 15 | 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 16 | 0x14, 0x05, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 17 | 0x03, 0x0d, 0x16, 0x1f, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 18 | 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x05, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 19 | 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x16, 0x1f, 0x09, 0x0d, 0x1c, 0x03, 20 | 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x05, 0x09, 0x0d, 21 | 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x16, 0x1f, 22 | 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 23 | 0x14, 0x05, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 24 | 0x03, 0x0d, 0x16, 0x1f, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 25 | 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x05, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 26 | 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x16, 0x1f, 0x09, 0x0d, 0x1c, 0x03, 27 | 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x0a, 0x1e, 0x0b, 28 | 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x13, 0x1e, 0x0c, 0x09, 0x0d, 0x1c, 29 | 0x03, 0x0d, 0x16, 0x18, 0x1e, 0x16, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 30 | 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x05, 0x09, 0x0d, 0x1c, 0x03, 31 | 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x16, 0x1f, 0x09, 0x0d, 32 | 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x14, 0x05, 33 | 0x09, 0x0d, 0x1c, 0x03, 0x0d, 0x15, 0x10, 0x09, 0x0d, 0x1c, 0x03, 0x0d, 34 | 0x16, 0x1f, 0x09, 0x0d, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 35 | 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 36 | 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 37 | 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 38 | 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 39 | 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 40 | 0x11, 0x1c, 0x03, 0x11, 0x1c, 0x03, 0x0f, 0x12, 0x10, 0x1c, 0x03, 0x0f, 41 | 0x13, 0x17, 0x0f, 0x1c, 0x03, 0x0f, 0x16, 0x1a, 0x0f, 0x1c, 0x03, 0x0f, 42 | 0x1c, 0x1b, 0x0f, 0x1c, 0x03, 0x0e, 0x12, 0x1d, 0x0f, 0x1c, 0x03, 0x0e, 43 | 0x13, 0x1d, 0x17, 0x0e, 0x1c, 0x03, 0x0e, 0x12, 0x1d, 0x0f, 0x1c, 0x03, 44 | 0x0f, 0x1c, 0x1b, 0x0f, 0x1c, 0x03, 0x0f, 0x16, 0x1a, 0x0f, 0x1c, 0x03, 45 | 0x0f, 0x13, 0x17, 0x0f, 0x1c, 0x03, 0x0f, 0x12, 0x10, 0x1c, 0x03, 0x11, 46 | 0x1c, 0x03, 0x11, 0x1c, 0x20, 0x20, 0x04, 0x1d, 0x06, 0x08, 0x1c, 0x19, 47 | 0x08, 0x04, 0x1d, 0x06, 0x08, 0x1c, 0x19, 0x08, 0x01, 0x01, 0x00, 0x00, -------------------------------------------------------------------------------- /srec2crc/main.c: -------------------------------------------------------------------------------- 1 | /* 2 | * HISTORY 3 | * 4 | * 90.06.23 John Seamons (jks) at NeXT 5 | * Modified to work with 1 Mbit ROMs and the ROM address space on 6 | * 040 based machine where the upper address bits are non-zero. 7 | * 8 | * 89.09.01 Bassanio (blaw) at NeXT 9 | * Created 10 | * 11 | */ 12 | 13 | 14 | #include 15 | 16 | typedef unsigned long int INT_U4B; /* integer, unsigned, 4 bytes long */ 17 | 18 | void errorexit_usage(char *progName) 19 | #define USAGE "filename" 20 | #define USAGE_EG "mon.srec" 21 | { 22 | fprintf(stderr, " %s", progName); 23 | fprintf(stderr, " %s\n", USAGE); 24 | fprintf(stderr, " e.g. %s", progName); 25 | fprintf(stderr, " %s\n", USAGE_EG); 26 | exit(1); 27 | } 28 | 29 | 30 | void errorexit_file(char *fileName) 31 | { 32 | fprintf(stderr, " Can not open: %s\n", fileName); 33 | exit(1); 34 | } 35 | 36 | void errorexit_general(char *msg) 37 | { 38 | fprintf(stderr, msg); 39 | exit(1); 40 | } 41 | 42 | #define MAXLINESIZE 150 43 | #define SHEADER "S3" 44 | #define N_SHEADER 2 45 | /* (32 * 1024 * 4) = 128 KiloBytes */ 46 | #define KB128 32768 47 | 48 | INT_U4B buffer[KB128]; 49 | 50 | main(argc, argv) 51 | int argc; 52 | char **argv; 53 | { 54 | char *progName, *srecFileName; 55 | char tempstr[40]; 56 | FILE *source; 57 | INT_U4B *bufptr, value; 58 | char linebuf[MAXLINESIZE], *lineptr; 59 | int end, nBytes; 60 | register int i; 61 | long dAdr; 62 | 63 | 64 | progName = *argv++; 65 | if (argc != 2) 66 | errorexit_usage(progName); 67 | 68 | srecFileName = *argv++; 69 | if ((source = fopen(srecFileName, "r")) == NULL) 70 | errorexit_file(srecFileName); 71 | 72 | for (i = 0; i < KB128; i++) 73 | buffer[i] = 0; 74 | 75 | for (linebuf[0] = '\0'; fgets(linebuf, MAXLINESIZE, source) != NULL;) { 76 | if (strncmp(linebuf, SHEADER, N_SHEADER) == 0) { 77 | sscanf(&linebuf[N_SHEADER], "%2X%8X", &nBytes, &dAdr); 78 | nBytes -= 5; /* subtract address & sumcheck bytes */ 79 | bufptr = &buffer[0]; 80 | bufptr += (dAdr / 4); 81 | lineptr = &linebuf[N_SHEADER + 10]; 82 | for (i = 0, end = nBytes / 4; i < end; i++) { 83 | sscanf(lineptr, "%8X", bufptr); 84 | bufptr++; 85 | lineptr += 8; 86 | } 87 | } 88 | } 89 | 90 | { 91 | INT_U4B sumCheck; 92 | unsigned char *bytesptr; 93 | 94 | bytesptr = (unsigned char *)buffer; 95 | for (i = 0, sumCheck = 0; i < (KB128 * 4); i++) 96 | sumCheck += *bytesptr++; 97 | printf(" Byte-wide hex sum (should match DATA I/O 288): %08X\n", sumCheck); 98 | } 99 | 100 | { 101 | INT_U4B resetPC, crcValue; 102 | int bytesCnt; 103 | unsigned char *bytesptr; 104 | 105 | resetPC = buffer[1] & 0xffffff; /* ignore upper address bits */ 106 | { 107 | bytesCnt = resetPC - 8; 108 | bytesptr = (unsigned char *)buffer; 109 | 110 | crcValue = calculateCRC(bytesptr, bytesCnt); 111 | printf(" Ethernet hex CRC: %08X\n", crcValue); 112 | } 113 | { 114 | bytesCnt = KB128 * 4 - resetPC; 115 | bytesptr = (unsigned char *)buffer; 116 | 117 | bytesptr += resetPC; 118 | 119 | crcValue = calculateCRC(bytesptr, bytesCnt); 120 | printf(" Monitor hex CRC: %08X\n", crcValue); 121 | } 122 | 123 | 124 | } 125 | } 126 | 127 | -------------------------------------------------------------------------------- /bitmaps/badgraydisk80x41x2.squ: -------------------------------------------------------------------------------- 1 | 2 | 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x29, 3 | 0x34, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x01, 0x01, 0x04, 4 | 0x01, 0x04, 0x02, 0x05, 0x01, 0x10, 0x01, 0x11, 0x01, 0x11, 0x02, 0x11, 5 | 0x03, 0x15, 0x01, 0x40, 0x01, 0x40, 0x02, 0x41, 0x01, 0x44, 0x01, 0x44, 6 | 0x02, 0x45, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 7 | 0x01, 0x55, 0x01, 0x55, 0x02, 0x55, 0x03, 0x55, 0x04, 0x55, 0x06, 0xa8, 8 | 0x01, 0xaa, 0x01, 0xaa, 0x02, 0xaa, 0x03, 0xaa, 0x04, 0xaa, 0x06, 0xab, 9 | 0x01, 0xae, 0x01, 0xaf, 0x01, 0xb5, 0x01, 0xba, 0x01, 0xbc, 0x01, 0xbf, 10 | 0x01, 0xea, 0x01, 0xf5, 0x01, 0xfa, 0x01, 0xfc, 0x01, 0xfe, 0x01, 0xff, 11 | 0x01, 0xff, 0x02, 0xff, 0x03, 0xff, 0x04, 0xff, 0x05, 0x15, 0x24, 0x21, 12 | 0x1d, 0x17, 0x18, 0x09, 0x00, 0x05, 0x0f, 0x2a, 0x21, 0x27, 0x26, 0x15, 13 | 0x24, 0x21, 0x28, 0x18, 0x11, 0x0f, 0x00, 0x04, 0x2e, 0x21, 0x27, 0x26, 14 | 0x15, 0x24, 0x20, 0x23, 0x2d, 0x10, 0x09, 0x08, 0x00, 0x05, 0x04, 0x2f, 15 | 0x2a, 0x20, 0x27, 0x26, 0x16, 0x2e, 0x20, 0x29, 0x2d, 0x18, 0x10, 0x0f, 16 | 0x08, 0x00, 0x04, 0x2f, 0x2e, 0x20, 0x27, 0x26, 0x16, 0x20, 0x23, 0x2f, 17 | 0x2d, 0x14, 0x00, 0x08, 0x01, 0x04, 0x30, 0x2a, 0x1f, 0x29, 0x2b, 0x16, 18 | 0x20, 0x25, 0x2f, 0x2d, 0x11, 0x0f, 0x01, 0x04, 0x30, 0x2c, 0x20, 0x2b, 19 | 0x16, 0x20, 0x29, 0x2f, 0x2d, 0x14, 0x03, 0x09, 0x30, 0x2e, 0x20, 0x2b, 20 | 0x16, 0x20, 0x30, 0x2d, 0x0d, 0x0f, 0x01, 0x08, 0x04, 0x31, 0x20, 0x2b, 21 | 0x16, 0x1f, 0x23, 0x30, 0x2d, 0x14, 0x03, 0x0f, 0x31, 0x2a, 0x1f, 0x2b, 22 | 0x16, 0x1f, 0x25, 0x30, 0x2d, 0x0d, 0x02, 0x0d, 0x07, 0x31, 0x2c, 0x1f, 23 | 0x2b, 0x16, 0x1f, 0x29, 0x30, 0x2d, 0x13, 0x0d, 0x00, 0x0d, 0x04, 0x09, 24 | 0x31, 0x2e, 0x1f, 0x2b, 0x16, 0x1f, 0x31, 0x2d, 0x0d, 0x01, 0x04, 0x05, 25 | 0x12, 0x32, 0x1f, 0x2b, 0x16, 0x1e, 0x23, 0x31, 0x2d, 0x0d, 0x00, 0x0e, 26 | 0x09, 0x18, 0x32, 0x2a, 0x1e, 0x2b, 0x16, 0x1e, 0x23, 0x31, 0x2d, 0x0d, 27 | 0x00, 0x06, 0x10, 0x14, 0x32, 0x2a, 0x1e, 0x2b, 0x16, 0x1e, 0x25, 0x31, 28 | 0x2d, 0x0d, 0x05, 0x0d, 0x09, 0x0c, 0x18, 0x32, 0x2c, 0x1e, 0x2b, 0x16, 29 | 0x1e, 0x25, 0x31, 0x2d, 0x0f, 0x00, 0x05, 0x12, 0x18, 0x0c, 0x32, 0x2c, 30 | 0x1e, 0x2b, 0x16, 0x1e, 0x29, 0x31, 0x2d, 0x0d, 0x0b, 0x12, 0x18, 0x32, 31 | 0x2e, 0x1e, 0x2b, 0x16, 0x1e, 0x29, 0x31, 0x2d, 0x14, 0x05, 0x10, 0x1a, 32 | 0x32, 0x2e, 0x1e, 0x2b, 0x16, 0x1e, 0x32, 0x2d, 0x0d, 0x0a, 0x10, 0x19, 33 | 0x33, 0x1e, 0x2b, 0x16, 0x1e, 0x32, 0x2d, 0x10, 0x12, 0x17, 0x1a, 0x33, 34 | 0x1e, 0x2b, 0x16, 0x23, 0x32, 0x2d, 0x14, 0x0a, 0x12, 0x19, 0x33, 0x2a, 35 | 0x2b, 0x16, 0x23, 0x32, 0x2d, 0x10, 0x12, 0x1b, 0x33, 0x2a, 0x2b, 0x16, 36 | 0x23, 0x32, 0x2d, 0x18, 0x14, 0x12, 0x1a, 0x33, 0x2a, 0x2b, 0x16, 0x23, 37 | 0x32, 0x2d, 0x10, 0x12, 0x1b, 0x33, 0x2a, 0x2b, 0x16, 0x23, 0x32, 0x2d, 38 | 0x1c, 0x33, 0x2a, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x12, 0x0c, 0x1b, 0x33, 39 | 0x2c, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x25, 40 | 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x1c, 0x33, 41 | 0x2c, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x25, 42 | 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x1c, 0x33, 43 | 0x2c, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x25, 44 | 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x1c, 0x33, 45 | 0x2c, 0x2b, 0x16, 0x25, 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x25, 46 | 0x32, 0x2d, 0x1c, 0x33, 0x2c, 0x2b, 0x16, 0x23, 0x32, 0x2d, 0x1c, 0x33, 47 | 0x2a, 0x2b, 0x16, 0x23, 0x32, 0x2d, 0x1c, 0x33, 0x2a, 0x2b, 0x16, 0x23, 48 | 0x32, 0x2d, 0x1c, 0x33, 0x2a, 0x2b, 0x16, 0x23, 0x32, 0x2d, 0x22, 0x33, 49 | 0x2a, 0x2b, 0x00, 0x00, -------------------------------------------------------------------------------- /config/config.l: -------------------------------------------------------------------------------- 1 | %{ 2 | 3 | /* 4 | * Copyright (c) 1980 Regents of the University of California. 5 | * All rights reserved. The Berkeley software License Agreement 6 | * specifies the terms and conditions for redistribution. 7 | * 8 | * @(#)config.l 5.2 (Berkeley) 4/18/86 9 | */ 10 | 11 | #include 12 | #include "y.tab.h" 13 | #include "config.h" 14 | 15 | #define tprintf if (do_trace) printf 16 | 17 | /* 18 | * Key word table 19 | */ 20 | 21 | struct kt { 22 | char *kt_name; 23 | int kt_val; 24 | } key_words[] = { 25 | { "and", AND }, 26 | { "args", ARGS }, 27 | { "at", AT }, 28 | { "config", CONFIG }, 29 | { "controller", CONTROLLER }, 30 | { "cpu", CPU }, 31 | { "csr", CSR }, 32 | { "device", DEVICE }, 33 | { "disk", DISK }, 34 | { "drive", DRIVE }, 35 | { "dst", DST }, 36 | { "dumps", DUMPS }, 37 | { "flags", FLAGS }, 38 | { "hz", HZ }, 39 | { "ident", IDENT }, 40 | { "machine", MACHINE }, 41 | { "major", MAJOR }, 42 | { "makeoptions", MAKEOPTIONS }, 43 | { "master", MASTER }, 44 | { "maxusers", MAXUSERS }, 45 | { "mba", MBA }, 46 | { "minor", MINOR }, 47 | { "nexus", NEXUS }, 48 | { "on", ON }, 49 | { "options", OPTIONS }, 50 | { "priority", PRIORITY }, 51 | { "pseudo-device",PSEUDO_DEVICE }, 52 | { "root", ROOT }, 53 | { "size", SIZE }, 54 | { "slave", SLAVE }, 55 | { "swap", SWAP }, 56 | { "tape", DEVICE }, 57 | { "timezone", TIMEZONE }, 58 | { "trace", TRACE }, 59 | { "uba", UBA }, 60 | { "vector", VECTOR }, 61 | { 0, 0 }, 62 | }; 63 | %} 64 | WORD [A-Za-z_][-A-Za-z_]* 65 | %% 66 | {WORD} { 67 | int i; 68 | 69 | if ((i = kw_lookup(yytext)) == -1) 70 | { 71 | yylval.str = yytext; 72 | tprintf("id(%s) ", yytext); 73 | return ID; 74 | } 75 | tprintf("(%s) ", yytext); 76 | return i; 77 | } 78 | \"[^"]+\" { 79 | yytext[strlen(yytext)-1] = '\0'; 80 | yylval.str = yytext + 1; 81 | return ID; 82 | } 83 | 0[0-7]* { 84 | yylval.val = octal(yytext); 85 | tprintf("#O:%o ", yylval.val); 86 | return NUMBER; 87 | } 88 | 0x[0-9a-fA-F]+ { 89 | yylval.val = hex(yytext); 90 | tprintf("#X:%x ", yylval.val); 91 | return NUMBER; 92 | } 93 | [1-9][0-9]* { 94 | yylval.val = atoi(yytext); 95 | tprintf("#D:%d ", yylval.val); 96 | return NUMBER; 97 | } 98 | [0-9]"."[0-9]* { 99 | double atof(); 100 | yylval.val = (int) (60 * atof(yytext) + 0.5); 101 | return FPNUMBER; 102 | } 103 | "-" { 104 | return MINUS; 105 | } 106 | "?" { 107 | yylval.val = -1; 108 | tprintf("? "); 109 | return NUMBER; 110 | } 111 | \n/[ \t] { 112 | yyline++; 113 | tprintf("\n... "); 114 | } 115 | \n { 116 | yyline++; 117 | tprintf("\n"); 118 | return SEMICOLON; 119 | } 120 | #.* { /* Ignored (comment) */; } 121 | [ \t]* { /* Ignored (white space) */; } 122 | ";" { return SEMICOLON; } 123 | "," { return COMMA; } 124 | "=" { return EQUALS; } 125 | "@" { return AT; } 126 | . { return yytext[0]; } 127 | 128 | %% 129 | /* 130 | * kw_lookup 131 | * Look up a string in the keyword table. Returns a -1 if the 132 | * string is not a keyword otherwise it returns the keyword number 133 | */ 134 | 135 | kw_lookup(word) 136 | register char *word; 137 | { 138 | register struct kt *kp; 139 | 140 | for (kp = key_words; kp->kt_name != 0; kp++) 141 | if (eq(word, kp->kt_name)) 142 | return kp->kt_val; 143 | return -1; 144 | } 145 | 146 | /* 147 | * Number conversion routines 148 | */ 149 | 150 | octal(str) 151 | char *str; 152 | { 153 | int num; 154 | 155 | (void) sscanf(str, "%o", &num); 156 | return num; 157 | } 158 | 159 | hex(str) 160 | char *str; 161 | { 162 | int num; 163 | 164 | (void) sscanf(str+2, "%x", &num); 165 | return num; 166 | } 167 | -------------------------------------------------------------------------------- /pot/POT.h: -------------------------------------------------------------------------------- 1 | /* POTCodes.h 4/1/88 2 | 3 | Result codes from the POT 4 | */ 5 | 6 | #ifndef _POT_ 7 | #define _POT_ 8 | 9 | 10 | #define POT_PASSED 0 11 | /* #define PRAM_TEST_FAILED 1 not used */ 12 | /* #define PROM_TEST_FAILED 2 not used */ 13 | /* #define MAIN_RAM_TEST_FAILED 3 not used */ 14 | /* #define VIDEO_RAM_TEST_FAILED not assigned */ 15 | #define FPU_TEST_FAILED 4 16 | #define SCC_CONTROLLER_TEST_FAILED 5 17 | #define SCSI_CONTROLLER_TEST_FAILED 6 18 | #define ETHERNET_CONTROLLER_TEST_FAILED 7 19 | #define MO_CONTROLLER_TEST_FAILED 8 20 | #define RTC_TEST_FAILED 9 21 | #define TBG_TEST_FAILED 10 22 | 23 | /* #define DSP_TEST_FAILED 11 not used */ 24 | 25 | #define SYSTEM_TIMER_TEST_FAILED 12 26 | #define EVENT_COUNTER_TEST_FAILED 13 27 | #define SOUND_OUT_TEST_FAILED 14 28 | 29 | #define NO_SUCH_TEST -1 30 | 31 | /* EKG LED blink counts */ 32 | #define BLINK_CRC1 1 33 | #define BLINK_CRC2 2 34 | #define BLINK_VRAM 3 35 | #define BLINK_NVRAM 4 36 | 37 | #ifndef ASSEMBLER 38 | 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | #include 53 | #include 54 | /* 55 | Constants used by the tests 56 | */ 57 | 58 | #define SCC_TEST_CHAR '@' 59 | #define SCC_PORT_A (char *)(P_SCC+1) 60 | #define SCC_PORT_B (char *)P_SCC 61 | 62 | #define SCSI_BASE (char *)P_SCSI 63 | #define SCSI_DMA_CTRL 0x20 64 | 65 | 66 | /* 67 | Structures used by the tests 68 | */ 69 | 70 | #define MAX_DMA_BUFFER_SIZE 16 71 | #define CHIP_SLOP 16 72 | #define NUMBER_OF_READ_BUFFERS 4 73 | 74 | 75 | struct dma_buf { 76 | u_char *bufptr; 77 | u_int dmacsr; 78 | u_char done, devcsr; 79 | u_char data[MAX_DMA_BUFFER_SIZE+CHIP_SLOP]; 80 | }; 81 | 82 | struct dma_channel { 83 | u_char *next; 84 | u_char *limit; 85 | u_char *start; 86 | u_char *stop; 87 | }; 88 | 89 | struct scc_dev { 90 | char b_reg0; 91 | char a_reg0; 92 | char b_data; 93 | char a_data; 94 | }; 95 | 96 | struct scc_tc { 97 | struct scc_dev *dev_regs; 98 | u_int *dmacsr; 99 | struct dma_channel *dma_regs; 100 | short wb; 101 | short rb; 102 | struct dma_buf rbuf[NUMBER_OF_READ_BUFFERS]; 103 | u_char *tbuf; 104 | u_char tdata[MAX_DMA_BUFFER_SIZE+CHIP_SLOP]; 105 | u_char xdone; 106 | }; 107 | 108 | #define UNCODED_DISK_BLOCK_SIZE 1024 109 | #define CODED_DISK_BLOCK_SIZE 1296 110 | 111 | struct disk_dev { 112 | u_char sector_id[3]; 113 | u_char sector_cnt; 114 | u_char interrupt_status; 115 | u_char interrupt_mask; 116 | u_char control_2; 117 | u_char control_1; 118 | u_short csr; 119 | u_char data_error_status; 120 | u_char correction_count; 121 | u_char initialization; 122 | u_char format; 123 | u_char data_mark; 124 | u_char not_used; 125 | u_char flag_strategy[7]; 126 | }; 127 | 128 | struct disk_tc { 129 | struct disk_dev *dev_regs; 130 | u_int *dmacsr; 131 | struct dma_channel *dma_regs; 132 | short wb; 133 | short rb; 134 | struct dma_buf rbuf[NUMBER_OF_READ_BUFFERS]; 135 | u_char *tbuf; 136 | u_char tdata[MAX_DMA_BUFFER_SIZE+CHIP_SLOP]; 137 | u_char xdone; 138 | }; 139 | 140 | #define DISK_STATUS_CLEAR 0xfc 141 | #define DISK_ECC_SELECT 0x40 142 | #define DISK_ECC_DECODE 0x20 143 | #define DISK_ECC_ENCODE 0 144 | #define DISK_ECC_WRITE 0x40 145 | #define DISK_ECC_READ 0x80 146 | 147 | #define SGP_SPKREN 0x10 148 | #define SGP_LOWPASS 0x08 149 | #define SGP_VSCCK 0x04 150 | #define SGP_VSCD 0x02 151 | #define SGP_VSCS 0x01 152 | 153 | #define VOLUME_RCHAN 0x80 154 | #define VOLUME_LCHAN 0x40 155 | 156 | #endif ASSEMBLER 157 | #endif _POT_ 158 | -------------------------------------------------------------------------------- /mon/global.h: -------------------------------------------------------------------------------- 1 | /* @(#)global.h 1.0 10/12/86 (c) 1986 NeXT */ 2 | 3 | /* 4 | * HISTORY 5 | * 28-Jun-90 John Seamons (jks) at NeXT 6 | * Added mg_machine_type & mg_board_rev fields. 7 | * 8 | * 9-Apr-90 Mike Paquette (mpaque) at NeXT 9 | * Sync with ROM version. 10 | * 11 | * 07-Mar-90 Doug Mitchell at NeXT 12 | * Added mg_fdgp. 13 | * 14 | * 15-Mar-90 John Seamons (jks) at NeXT 15 | * Sync with ROM version. 16 | */ 17 | 18 | #ifndef _GLOBAL_ 19 | #define _GLOBAL_ 20 | 21 | /* 22 | * The ROM monitor uses the old structure alignment for backward 23 | * compatibility with previous ROMs. The old alignment is enabled 24 | * with the following pragma. The kernel uses the "MG" macro to 25 | * construct an old alignment offset into the mon_global structure. 26 | * The kernel file should be copied from the "assym.h" 27 | * found in the build directory of the current ROM release. 28 | * It will contain the proper old alignment offset constants. 29 | */ 30 | #if MONITOR 31 | #pragma CC_OLD_STORAGE_LAYOUT_ON 32 | #else MONITOR 33 | #import 34 | #define MG(type, off) \ 35 | ((type) ((u_int) (mg) + off)) 36 | #endif MONITOR 37 | 38 | #import 39 | #import 40 | #import 41 | #import 42 | #import 43 | #import 44 | #import 45 | #import 46 | 47 | #define LMAX 128 48 | #define NBOOTFILE 64 49 | #define NADDR 8 50 | 51 | struct mon_global { 52 | char mg_simm[N_SIMM]; /* MUST BE FIRST (accesed early by locore) */ 53 | char mg_flags; /* MUST BE SECOND */ 54 | #define MGF_LOGINWINDOW 0x80 55 | #define MGF_UART_SETUP 0x40 56 | #define MGF_UART_STOP 0x20 57 | #define MGF_UART_TYPE_AHEAD 0x10 58 | #define MGF_ANIM_RUN 0x08 59 | #define MGF_SCSI_INTR 0x04 60 | #define MGF_KM_EVENT 0x02 61 | #define MGF_KM_TYPE_AHEAD 0x01 62 | u_int mg_sid, mg_pagesize, mg_mon_stack, mg_vbr; 63 | struct nvram_info mg_nvram; 64 | char mg_inetntoa[18]; 65 | char mg_inputline[LMAX]; 66 | struct mon_region mg_region[N_SIMM]; 67 | caddr_t mg_alloc_base, mg_alloc_brk; 68 | char *mg_boot_dev, *mg_boot_arg, *mg_boot_info, *mg_boot_file; 69 | char mg_bootfile[NBOOTFILE]; 70 | enum SIO_ARGS mg_boot_how; 71 | struct km_mon km; 72 | int mon_init; 73 | struct sio *mg_si; 74 | int mg_time; 75 | char *mg_sddp; 76 | char *mg_dgp; 77 | char *mg_s5cp; 78 | char *mg_odc, *mg_odd; 79 | char mg_radix; 80 | int mg_dmachip; 81 | int mg_diskchip; 82 | volatile int *mg_intrstat; 83 | volatile int *mg_intrmask; 84 | void (*mg_nofault)(); 85 | char fmt; 86 | int addr[NADDR], na; 87 | int mx, my; /* mouse location */ 88 | u_int cursor_save[2][32]; 89 | int (*mg_getc)(), (*mg_try_getc)(), (*mg_putc)(); 90 | int (*mg_alert)(), (*mg_alert_confirm)(); 91 | caddr_t (*mg_alloc)(); 92 | int (*mg_boot_slider)(); 93 | volatile u_char *eventc_latch; 94 | volatile u_int event_high; 95 | struct animation *mg_animate; 96 | int mg_anim_time; 97 | void (*mg_scsi_intr)(); 98 | int mg_scsi_intrarg; 99 | short mg_minor, mg_seq; 100 | int (*mg_anim_run)(); 101 | short mg_major; 102 | char *mg_clientetheraddr; 103 | int mg_console_i; 104 | int mg_console_o; 105 | #define CONS_I_KBD 0 106 | #define CONS_I_SCC_A 1 107 | #define CONS_I_SCC_B 2 108 | #define CONS_I_NET 3 109 | #define CONS_O_BITMAP 0 110 | #define CONS_O_SCC_A 1 111 | #define CONS_O_SCC_B 2 112 | #define CONS_O_NET 3 113 | char *test_msg; 114 | /* Next entry should be km_coni. Mach depends on this! */ 115 | struct km_console_info km_coni; /* Console configuration info. See kmreg.h */ 116 | char *mg_fdgp; 117 | char mg_machine_type, mg_board_rev; 118 | int (*mg_as_tune)(); 119 | int mg_flags2; 120 | #define MGF2_PARITY 0x80000000 121 | }; 122 | 123 | struct mon_global *restore_mg(); 124 | caddr_t mon_alloc(); 125 | 126 | #endif _GLOBAL_ 127 | 128 | 129 | -------------------------------------------------------------------------------- /dev/enreg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Register description for the Fujitsu Ethernet Data Link Controller (MB8795) 3 | * and the Fujitsu Manchester Encoder/Decoder (MB502). 4 | */ 5 | 6 | /* The Transmit Status register (Address 0) */ 7 | 8 | #define EN_TXSTAT_READY 0x80 /* Ready for Packet (Not used)*/ 9 | #define EN_TXSTAT_BUSY 0x40 /* Receive Carrier Detect */ 10 | #define EN_TXSTAT_TXRECV 0x20 /* Last transmission received */ 11 | #define EN_TXSTAT_SHORTED 0x10 /* Possible Coax Short */ 12 | #define EN_TXSTAT_UNDERFLOW 0x08 /* Data underflow on Xmit */ 13 | /* A write clears status bit */ 14 | #define EN_TXSTAT_COLLERR 0x04 /* Collision detected */ 15 | /* A write clears status bit */ 16 | #define EN_TXSTAT_COLLERR16 0x02 /* 16th Collision error */ 17 | /* A write clears status bit */ 18 | #define EN_TXSTAT_PARERR 0x01 /* Parity Error in TX Data */ 19 | /* A write clears status bit */ 20 | 21 | #define EN_TXSTAT_CLEAR 0xff 22 | 23 | /* The Transmit Mask register (Address 1) (All RW) */ 24 | #define EN_TXMASK_READYIE 0x80 /* Tx Int on packet ready */ 25 | #define EN_TXMASK_TXRXIE 0x20 /* Tx Int on transmit recv'd */ 26 | #define EN_TXMASK_UNDERFLOWIE 0x08 /* Tx Int on underflow */ 27 | #define EN_TXMASK_COLLIE 0x04 /* Tx Int on collision */ 28 | #define EN_TXMASK_COLL16IE 0x02 /* Tx Int on 16th collision */ 29 | #define EN_TXMASK_PARERRIE 0x01 /* Tx Int on parity error */ 30 | 31 | /* Receiver Status register (Address 2) */ 32 | 33 | #define EN_RXSTAT_OK 0x80 /* Packet received is correct */ 34 | /* A write clears status bit */ 35 | #define EN_RXSTAT_RESET 0x10 /* Reset packet (not used) */ 36 | #define EN_RXSTAT_SHORT 0x08 /* < minimum length */ 37 | /* A write clears status bit */ 38 | #define EN_RXSTAT_ALIGNERR 0x04 /* Alignment error */ 39 | /* A write clears status bit */ 40 | #define EN_RXSTAT_CRCERR 0x02 /* Bad CRC */ 41 | /* A write clears status bit */ 42 | #define EN_RXSTAT_OVERFLOW 0x01 /* Receive FIFO overflow */ 43 | /* A write clears status bit */ 44 | 45 | #define EN_RXSTAT_CLEAR 0xff /* Clear all bits (really 9f?) */ 46 | 47 | /* Receiver Mask register (Address 3) (All RW) */ 48 | #define EN_RXMASK_OKIE 0x80 /* Rx Int on packet ok */ 49 | #define EN_RXMASK_RESETIE 0x10 /* Rx Int on reset packet */ 50 | #define EN_RXMASK_SHORTIE 0x08 /* Rx Int on 51 | #define EN_RXMASK_ALIGNERRIE 0x04 /* Rx Int on align error */ 52 | #define EN_RXMASK_CRCERRIE 0x02 /* Rx Int on CRC error */ 53 | #define EN_RXMASK_OVERFLOWIE 0x01 /* Rx Int on overflow error */ 54 | 55 | /* Transmitter Mode register (Address 4) (All RW) */ 56 | #define EN_TXMODE_COLLMASK 0xF0 /* (Read only) collisions */ 57 | #define EN_TXMODE_PARIGNORE 0x08 /* Ignore parity (not used)*/ 58 | #define EN_TXMODE_TM 0x04 /* not used ??? */ 59 | #define EN_TXMODE_NO_LBC 0x02 /* Loop back control disabled */ 60 | #define EN_TXMODE_DISCONTENT 0x01 /* Disable contention (Rx carrier) */ 61 | 62 | /* Receiver Mode register (Address 5) (All RW) */ 63 | #define EN_RXMODE_TEST 0x80 /* Must be zero for normal op */ 64 | #define EN_RXMODE_ADDRSIZE 0x10 /* Reduces NODE match to 5 chars */ 65 | #define EN_RXMODE_SHORTENABLE 0x08 /* Rx packets >= 0x10 bytes */ 66 | #define EN_RXMODE_RESETENABLE 0x04 /* One for reset pkt enable */ 67 | #define EN_RXMODE_PROMISCUOUS 0x03 /* Accept all packets */ 68 | #define EN_RXMODE_NORMAL 0x02 /* Accept Broad/multicasts */ 69 | #define EN_RXMODE_LIMITED_MULTI 0x01 /* Accept Broad/limited multicasts */ 70 | #define EN_RXMODE_OFF 0x00 /* Accept no packets */ 71 | 72 | /* Reset Control register */ 73 | #define EN_RESET 0x80 /* Generate reset */ 74 | 75 | struct en_regs { 76 | char en_txstat; /* Tx status */ 77 | char en_txmask; /* Tx interrupt condition mask */ 78 | char en_rxstat; /* Rx status */ 79 | char en_rxmask; /* Rx interrupt condition mask */ 80 | char en_txmode; /* Tx control/mode register */ 81 | char en_rxmode; /* Rx control/mode register */ 82 | char en_reset; /* Device reset */ 83 | char en_notused[1]; /* Not used */ 84 | char en_enetaddr[6]; /* Physical ethernet address */ 85 | }; 86 | 87 | #define ENTX_EOP 0x80000000 88 | #define ENRX_EOP 0x80000000 /* End of packet */ 89 | #define ENRX_BOP 0x40000000 /* Start of packet */ 90 | -------------------------------------------------------------------------------- /config/config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1980 Regents of the University of California. 3 | * All rights reserved. The Berkeley software License Agreement 4 | * specifies the terms and conditions for redistribution. 5 | * 6 | * @(#)config.h 5.3 (Berkeley) 4/18/86 7 | */ 8 | 9 | /* 10 | * Config. 11 | */ 12 | #include 13 | 14 | #define NODEV ((dev_t)-1) 15 | 16 | struct file_list { 17 | struct file_list *f_next; 18 | char *f_fn; /* the name */ 19 | u_char f_type; /* see below */ 20 | u_char f_flags; /* see below */ 21 | short f_special; /* requires special make rule */ 22 | char *f_needs; 23 | /* 24 | * Random values: 25 | * swap space parameters for swap areas 26 | * root device, etc. for system specifications 27 | */ 28 | union { 29 | struct { /* when swap specification */ 30 | dev_t fuw_swapdev; 31 | int fuw_swapsize; 32 | } fuw; 33 | struct { /* when system specification */ 34 | dev_t fus_rootdev; 35 | dev_t fus_argdev; 36 | dev_t fus_dumpdev; 37 | } fus; 38 | } fun; 39 | #define f_swapdev fun.fuw.fuw_swapdev 40 | #define f_swapsize fun.fuw.fuw_swapsize 41 | #define f_rootdev fun.fus.fus_rootdev 42 | #define f_argdev fun.fus.fus_argdev 43 | #define f_dumpdev fun.fus.fus_dumpdev 44 | }; 45 | 46 | /* 47 | * Types. 48 | */ 49 | #define DRIVER 1 50 | #define NORMAL 2 51 | #define INVISIBLE 3 52 | #define PROFILING 4 53 | #define SYSTEMSPEC 5 54 | #define SWAPSPEC 6 55 | 56 | /* 57 | * Attributes (flags). 58 | */ 59 | #define CONFIGDEP 1 60 | 61 | struct idlst { 62 | char *id; 63 | struct idlst *id_next; 64 | }; 65 | 66 | struct device { 67 | int d_type; /* CONTROLLER, DEVICE, UBA or MBA */ 68 | struct device *d_conn; /* what it is connected to */ 69 | char *d_name; /* name of device (e.g. rk11) */ 70 | struct idlst *d_vec; /* interrupt vectors */ 71 | int d_pri; /* interrupt priority */ 72 | int d_addr; /* address of csr */ 73 | int d_unit; /* unit number */ 74 | int d_drive; /* drive number */ 75 | int d_slave; /* slave number */ 76 | #define QUES -1 /* -1 means '?' */ 77 | #define UNKNOWN -2 /* -2 means not set yet */ 78 | int d_dk; /* if init 1 set to number for iostat */ 79 | int d_flags; /* nlags for device init */ 80 | struct device *d_next; /* Next one in list */ 81 | }; 82 | #define TO_NEXUS (struct device *)-1 83 | 84 | struct config { 85 | char *c_dev; 86 | char *s_sysname; 87 | }; 88 | 89 | /* 90 | * Config has a global notion of which machine type is 91 | * being used. It uses the name of the machine in choosing 92 | * files and directories. Thus if the name of the machine is ``vax'', 93 | * it will build from ``Makefile.vax'' and use ``../vax/inline'' 94 | * in the makerules, etc. 95 | */ 96 | int machine; 97 | char *machinename; 98 | #define MACHINE_VAX 1 99 | #define MACHINE_NEXT 2 100 | 101 | /* 102 | * For each machine, a set of CPU's may be specified as supported. 103 | * These and the options (below) are put in the C flags in the makefile. 104 | */ 105 | struct cputype { 106 | char *cpu_name; 107 | struct cputype *cpu_next; 108 | } *cputype; 109 | 110 | /* 111 | * A set of options may also be specified which are like CPU types, 112 | * but which may also specify values for the options. 113 | * A separate set of options may be defined for make-style options. 114 | */ 115 | struct opt { 116 | char *op_name; 117 | char *op_value; 118 | struct opt *op_next; 119 | } *opt, *mkopt; 120 | 121 | char *ident; 122 | char *ns(); 123 | char *tc(); 124 | char *qu(); 125 | char *get_word(); 126 | char *path(); 127 | char *raise(); 128 | 129 | int do_trace; 130 | 131 | char *index(); 132 | char *rindex(); 133 | char *malloc(); 134 | char *strcpy(); 135 | char *strcat(); 136 | char *sprintf(); 137 | 138 | #if MACHINE_VAX 139 | int seen_mba, seen_uba; 140 | #endif 141 | 142 | struct device *connect(); 143 | struct device *dtab; 144 | dev_t nametodev(); 145 | char *devtoname(); 146 | 147 | char errbuf[80]; 148 | int yyline; 149 | 150 | struct file_list *ftab, *conf_list, **confp; 151 | char *PREFIX; 152 | 153 | int timezone, hadtz; 154 | int dst; 155 | int profiling; 156 | 157 | int maxusers; 158 | 159 | #define eq(a,b) (!strcmp(a,b)) 160 | -------------------------------------------------------------------------------- /config/mkheaders.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1980 Regents of the University of California. 3 | * All rights reserved. The Berkeley software License Agreement 4 | * specifies the terms and conditions for redistribution. 5 | */ 6 | 7 | #ifndef lint 8 | static char sccsid[] = "@(#)mkheaders.c 5.1 (Berkeley) 5/8/85"; 9 | #endif not lint 10 | 11 | /* 12 | * Make all the .h files for the optional entries 13 | */ 14 | 15 | #include 16 | #include 17 | #include "config.h" 18 | #include "y.tab.h" 19 | 20 | headers() 21 | { 22 | register struct file_list *fl; 23 | 24 | for (fl = ftab; fl != 0; fl = fl->f_next) 25 | if (fl->f_needs != 0) 26 | do_count(fl->f_needs, fl->f_needs, 1); 27 | } 28 | 29 | /* 30 | * count all the devices of a certain type and recurse to count 31 | * whatever the device is connected to 32 | */ 33 | do_count(dev, hname, search) 34 | register char *dev, *hname; 35 | int search; 36 | { 37 | register struct device *dp, *mp; 38 | register int count; 39 | 40 | for (count = 0,dp = dtab; dp != 0; dp = dp->d_next) 41 | if (dp->d_unit != -1 && eq(dp->d_name, dev)) { 42 | if (dp->d_type == PSEUDO_DEVICE) { 43 | count = 44 | dp->d_slave != UNKNOWN ? dp->d_slave : 1; 45 | break; 46 | } 47 | count++; 48 | /* 49 | * Allow holes in unit numbering, 50 | * assumption is unit numbering starts 51 | * at zero. 52 | */ 53 | if (dp->d_unit + 1 > count) 54 | count = dp->d_unit + 1; 55 | if (search) { 56 | mp = dp->d_conn; 57 | if (mp != 0 && mp != (struct device *)-1 && 58 | mp->d_conn != (struct device *)-1) { 59 | do_count(mp->d_name, hname, 0); 60 | search = 0; 61 | } 62 | } 63 | } 64 | do_header(dev, hname, count); 65 | } 66 | 67 | do_header(dev, hname, count) 68 | char *dev, *hname; 69 | int count; 70 | { 71 | char *file, *name, *inw, *toheader(), *tomacro(); 72 | struct file_list *fl, *fl_head; 73 | FILE *inf, *outf; 74 | int inc, oldcount; 75 | 76 | file = toheader(hname); 77 | name = tomacro(dev); 78 | inf = fopen(file, "r"); 79 | oldcount = -1; 80 | if (inf == 0) { 81 | outf = fopen(file, "w"); 82 | if (outf == 0) { 83 | perror(file); 84 | exit(1); 85 | } 86 | fprintf(outf, "#define %s %d\n", name, count); 87 | (void) fclose(outf); 88 | return; 89 | } 90 | fl_head = 0; 91 | for (;;) { 92 | char *cp; 93 | if ((inw = get_word(inf)) == 0 || inw == (char *)EOF) 94 | break; 95 | if ((inw = get_word(inf)) == 0 || inw == (char *)EOF) 96 | break; 97 | inw = ns(inw); 98 | cp = get_word(inf); 99 | if (cp == 0 || cp == (char *)EOF) 100 | break; 101 | inc = atoi(cp); 102 | if (eq(inw, name)) { 103 | oldcount = inc; 104 | inc = count; 105 | } 106 | cp = get_word(inf); 107 | if (cp == (char *)EOF) 108 | break; 109 | fl = (struct file_list *) malloc(sizeof *fl); 110 | fl->f_fn = inw; 111 | fl->f_type = inc; 112 | fl->f_next = fl_head; 113 | fl_head = fl; 114 | } 115 | (void) fclose(inf); 116 | if (count == oldcount) { 117 | for (fl = fl_head; fl != 0; fl = fl->f_next) 118 | free((char *)fl); 119 | return; 120 | } 121 | if (oldcount == -1) { 122 | fl = (struct file_list *) malloc(sizeof *fl); 123 | fl->f_fn = name; 124 | fl->f_type = count; 125 | fl->f_next = fl_head; 126 | fl_head = fl; 127 | } 128 | outf = fopen(file, "w"); 129 | if (outf == 0) { 130 | perror(file); 131 | exit(1); 132 | } 133 | for (fl = fl_head; fl != 0; fl = fl->f_next) { 134 | fprintf(outf, "#define %s %d\n", 135 | fl->f_fn, count ? fl->f_type : 0); 136 | free((char *)fl); 137 | } 138 | (void) fclose(outf); 139 | } 140 | 141 | /* 142 | * convert a dev name to a .h file name 143 | */ 144 | char * 145 | toheader(dev) 146 | char *dev; 147 | { 148 | static char hbuf[80]; 149 | 150 | (void) strcpy(hbuf, path(dev)); 151 | (void) strcat(hbuf, ".h"); 152 | return (hbuf); 153 | } 154 | 155 | /* 156 | * convert a dev name to a macro name 157 | */ 158 | char *tomacro(dev) 159 | register char *dev; 160 | { 161 | static char mbuf[20]; 162 | register char *cp; 163 | 164 | cp = mbuf; 165 | *cp++ = 'N'; 166 | while (*dev) 167 | *cp++ = toupper(*dev++); 168 | *cp++ = 0; 169 | return (mbuf); 170 | } 171 | --------------------------------------------------------------------------------