Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Small System (long)

54 views
Skip to first unread message

Bruce Culbertson

unread,
Nov 11, 1988, 8:05:27 PM11/11/88
to
There has been much discussion about simple 32k systems. I actually
built one and here it is. I originally ran TDS on it. I am now well
along porting Minix to it. I wrote an assembler, linker, and library
archiver which run on generic C machines (UNIX, PC-DOS, etc.). I
could post them if there is interest. I also made small modifications
to GCC to make it compatible with my assembler.

Bruce Culbertson
culb...@hplabs.hp.com

#---------------------------------- cut here ----------------------------------
# This is a shell archive. Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by Bruce Culbertson <culberts@hplwbc> on Fri Nov 11 16:48:07 1988
#
# This archive contains:
# README netlist partlist dramcpal
# memcspal nmipal rfshpal
#

LANG=""; export LANG

echo x - README
cat >README <<'@EOF'
This is the hardware design for a simple computer based on the National
Semiconductor NS32016 microprocessor. A wire-wrap prototype has been
built and tested running at 10MHz. It consists of the basic National
chipset (CPU, TCU, MMU, FPU, ICU, DMA), memory (64K EPROM, 64K SRAM,
multiples of 2M DRAM), and I/O (2 UARTS, IBM-PC compatible floppy, SCSI).
The chip count is in the vicinity of 50 IC's. It was designed to run in
a stand-alone configuration with a terminal attached via RS-232.

The design is specified by two files: a netlist and a parts list. The
netlist consists of a number of triples. A triple is a part name, a pin
number, and the net to which the part/pin is attached. In some cases,
there is an exclamation mark and a comment following triple, before the
end of the line.

The parts list consists of pairs: a part name, matching a name used in the
netlist; and the type of that part, e.g. 74ALS00. Some lines have comments
similar to those in the netlist.

There are a few special nets:

gnd ground plane
+5v 5 volt power plane
+tie_high logic one (up to about 8 of these may be tied together and
connected to +5v through a resister between 1K and 5K ohms)
n/c no connection

Some nets must be pulled high with a resister, e.g. to create a wire-and.
This is indicated in the netlist by connecting the net to a part called
"pullup". Ignore the pin numbers on the pullup pseudo-part. SIP's can
be used here if convenient.

Of course, there are many details of good engineering practice which the
design files fail to convey. A prototype board with effective low
inductance ground and power planes is recommended. Bypass capacitors
should be used liberally. In the DRAM region, in particular, I
recommend using .47uf monolithics. Pay attention to recommendations
in the National manuals about power and grounding on particular pins.

In some cases the design reflects particular parts which were available
to me. For example, two delay lines are indicated simply because I did
not have a single part with an appropriate delay. The delay lines could
have been avoided all together had I had a DRAM controller capable of
driving one megabyte DRAM's. The 20ns tap on the delay line has worked
well for me. The delay lines could be replaced with a chain of buffers,
though this could introduce some temperature sensitivity.

I would be interested in hearing from people using this design. Good
luck.

Bruce Culbertson
culb...@hplabs.hp.com
@EOF

chmod 666 README

echo x - netlist
cat >netlist <<'@EOF'
cpu 1 +cpu_a<22>
cpu 2 +cpu_a<21>
cpu 3 +cpu_a<20>
cpu 4 +cpu_a<19>
cpu 5 +cpu_a<18>
cpu 6 +cpu_a<17>
cpu 7 +cpu_a<16>
cpu 8 +cpu_ad<15>
cpu 9 +cpu_ad<14>
cpu 10 +cpu_ad<13>
cpu 11 +cpu_ad<12>
cpu 12 +cpu_ad<11>
cpu 13 +cpu_ad<10>
cpu 14 +cpu_ad<9>
cpu 15 +cpu_ad<8>
cpu 16 +cpu_ad<7>
cpu 17 +cpu_ad<6>
cpu 18 +cpu_ad<5>
cpu 19 +cpu_ad<4>
cpu 20 +cpu_ad<3>
cpu 21 +cpu_ad<2>
cpu 22 +cpu_ad<1>
cpu 23 +cpu_ad<0>
cpu 24 gnd !connect to cpu.25 -- not gnd plane
cpu 25 gnd
cpu 26 +phi1 !short
cpu 27 +phi2 !short
cpu 28 +rdy
cpu 29 +bbg
cpu 30 -hold
cpu 31 -hlda_mmu
cpu 32 -hbe
cpu 33 -flt
cpu 34 -abt
cpu 35 -spc
cpu 36 -supervisor
cpu 37 -ads
cpu 38 -ddin
cpu 39 -pfs
cpu 40 +st3
cpu 41 +st2
cpu 42 +st1
cpu 43 +st0
cpu 44 n/c !-ilo
cpu 45 -nmi
cpu 46 -int
cpu 47 +cpu_a<23>
cpu 48 +5v
bbg_cap1 1 +bbg
bbg_cap1 2 gnd
bbg_cap2 1 +bbg !-pin
bbg_cap2 2 gnd !+pin
mmu 1 +cpu_a<22>
mmu 2 +cpu_a<21>
mmu 3 +cpu_a<20>
mmu 4 +cpu_a<19>
mmu 5 +cpu_a<18>
mmu 6 +cpu_a<17>
mmu 7 +cpu_a<16>
mmu 8 +cpu_ad<15>
mmu 9 +cpu_ad<14>
mmu 10 +cpu_ad<13>
mmu 11 +cpu_ad<12>
mmu 12 +cpu_ad<11>
mmu 13 +cpu_ad<10>
mmu 14 +cpu_ad<9>
mmu 15 +cpu_ad<8>
mmu 16 +cpu_ad<7>
mmu 17 +cpu_ad<6>
mmu 18 +cpu_ad<5>
mmu 19 +cpu_ad<4>
mmu 20 +cpu_ad<3>
mmu 21 +cpu_ad<2>
mmu 22 +cpu_ad<1>
mmu 23 +cpu_ad<0>
mmu 24 gnd !attach to pin 25 -- not gnd plane
mmu 25 gnd
mmu 26 +phi1
mmu 27 +phi2
mmu 28 +rdy
mmu 29 -system_reset
mmu 30 -hold
mmu 31 -hlda_mmu
mmu 32 -hlda
mmu 33 -flt
mmu 34 -abt
mmu 35 -spc
mmu 36 -supervisor
mmu 37 -ads
mmu 38 -ddin
mmu 39 -pfs
mmu 40 +st3
mmu 41 +st2
mmu 42 +st1
mmu 43 +st0
mmu 44 -pav
mmu 45 n/c !-mmu_int
mmu 46 +mmu_a24
mmu 47 +cpu_a<23>
mmu 48 +5v
fpu 1 +cpu_ad<10>
fpu 2 +cpu_ad<9>
fpu 3 +cpu_ad<8>
fpu 4 +cpu_ad<7>
fpu 5 +cpu_ad<6>
fpu 6 +cpu_ad<5>
fpu 7 +cpu_ad<4>
fpu 8 +cpu_ad<3>
fpu 9 +cpu_ad<2>
fpu 10 +cpu_ad<1>
fpu 11 +cpu_ad<0>
fpu 12 gnd
fpu 13 gnd
fpu 14 +cttl
fpu 15 -system_reset
fpu 16 +cpu_ad<15>
fpu 17 +cpu_ad<14>
fpu 18 +cpu_ad<13>
fpu 19 +cpu_ad<12>
fpu 20 +cpu_ad<11>
fpu 21 -spc
fpu 22 +st1
fpu 23 +st0
fpu 24 +5v
icu 1 +uart1_ir !ir15
icu 2 -int
icu 3 +st1 !better: (+st1)(-adr<6>)
icu 4 +uart2_ir !ir14
icu 5 +fdc_ir !ir12
icu 6 +scsi_ir !ir10
icu 7 -dma_ir !ir8
icu 8 n/c !ir6
icu 9 n/c !ir4
icu 10 n/c !ir2
icu 11 n/c !ir0
icu 12 +io_data<7>
icu 13 +io_data<6>
icu 14 +io_data<5>
icu 15 +io_data<4>
icu 16 +io_data<3>
icu 17 +io_data<2>
icu 18 +io_data<1>
icu 19 +io_data<0>
icu 20 gnd
icu 21 -io_cs_fffe
icu 22 +adr<1>
icu 23 +adr<2>
icu 24 +adr<3>
icu 25 +adr<4>
icu 26 +adr<5>
icu 27 -system_reset
icu 28 gnd !-hbe
icu 29 n/c !count output
icu 30 -rd
icu 31 -wr
icu 32 +cttl
icu 33 n/c !ir1
icu 34 n/c !ir3
icu 35 n/c !ir5
icu 36 n/c !ir7
icu 37 n/c !ir9
icu 38 n/c !ir11
icu 39 n/c !ir13
icu 40 +5v
tcu 1 -dbe
tcu 2 gnd
tcu 3 -rd
tcu 4 -wr
tcu 5 -ddin
tcu 6 -pav
tcu 7 -rst_sw
tcu 8 -system_reset
tcu 9 +rdy
tcu 10 +phi2
tcu 11 +phi1
tcu 12 gnd
tcu 13 +tcu_clk_in !+xin
tcu 14 n/c !+xout
tcu 15 +fclk
tcu 16 +cttl
tcu 17 -tso
tcu 18 +tie_high !-wait8
tcu 19 +tie_high !-wait4
tcu 20 -eprom_cs !-wait2
tcu 21 +tie_high !-wait1
tcu 22 -cwait
tcu 23 -io_cs_fff0 !-per (-uart_cs)
tcu 24 +5v
rst_sw 1 gnd
rst_sw 2 -rst_sw
rst_cap 1 gnd
rst_cap 2 -rst_sw
rst_diode 1 +5v
rst_diode 2 -rst_sw
rst_res 1 +5v
rst_res 2 -rst_sw
tcu_osc 1 n/c
tcu_osc 7 gnd
tcu_osc 8 +tcu_clk_in !actually pin1 on HP clock
tcu_osc 14 +5v
ph1_cap 1 gnd
ph1_cap 2 +phi1
ph2_cap 1 gnd
ph2_cap 2 +phi2
eprom_e 1 +5v !vpp
eprom_e 2 +adr<13>
eprom_e 3 +adr<8>
eprom_e 4 +adr<7>
eprom_e 5 +adr<6>
eprom_e 6 +adr<5>
eprom_e 7 +adr<4>
eprom_e 8 +adr<3>
eprom_e 9 +adr<2>
eprom_e 10 +adr<1>
eprom_e 11 +mem_data<0>
eprom_e 12 +mem_data<1>
eprom_e 13 +mem_data<2>
eprom_e 14 gnd
eprom_e 15 +mem_data<3>
eprom_e 16 +mem_data<4>
eprom_e 17 +mem_data<5>
eprom_e 18 +mem_data<6>
eprom_e 19 +mem_data<7>
eprom_e 20 -eprom_cs
eprom_e 21 +adr<11>
eprom_e 22 -rd !-oe
eprom_e 23 +adr<12>
eprom_e 24 +adr<10>
eprom_e 25 +adr<9>
eprom_e 26 +adr<14>
eprom_e 27 +eprom_a15
eprom_e 28 +5v
eprom_o 1 +5v !vpp
eprom_o 2 +adr<13>
eprom_o 3 +adr<8>
eprom_o 4 +adr<7>
eprom_o 5 +adr<6>
eprom_o 6 +adr<5>
eprom_o 7 +adr<4>
eprom_o 8 +adr<3>
eprom_o 9 +adr<2>
eprom_o 10 +adr<1>
eprom_o 11 +mem_data<8>
eprom_o 12 +mem_data<9>
eprom_o 13 +mem_data<10>
eprom_o 14 gnd
eprom_o 15 +mem_data<11>
eprom_o 16 +mem_data<12>
eprom_o 17 +mem_data<13>
eprom_o 18 +mem_data<14>
eprom_o 19 +mem_data<15>
eprom_o 20 -eprom_cs
eprom_o 21 +adr<11>
eprom_o 22 -rd !-oe
eprom_o 23 +adr<12>
eprom_o 24 +adr<10>
eprom_o 25 +adr<9>
eprom_o 26 +adr<14>
eprom_o 27 +eprom_a15
eprom_o 28 +5v
sram_e 1 +adr<15>
sram_e 2 +adr<13>
sram_e 3 +adr<8>
sram_e 4 +adr<7>
sram_e 5 +adr<6>
sram_e 6 +adr<5>
sram_e 7 +adr<4>
sram_e 8 +adr<3>
sram_e 9 +adr<2>
sram_e 10 +adr<1>
sram_e 11 +mem_data<0>
sram_e 12 +mem_data<1>
sram_e 13 +mem_data<2>
sram_e 14 gnd
sram_e 15 +mem_data<3>
sram_e 16 +mem_data<4>
sram_e 17 +mem_data<5>
sram_e 18 +mem_data<6>
sram_e 19 +mem_data<7>
sram_e 20 -sram_cs
sram_e 21 +adr<11>
sram_e 22 -rd !-oe
sram_e 23 +adr<12>
sram_e 24 +adr<10>
sram_e 25 +adr<9>
sram_e 26 +adr<14>
sram_e 27 -wr_e !(-wr)+(+adr<0>)
sram_e 28 +5v
sram_o 1 +adr<15>
sram_o 2 +adr<13>
sram_o 3 +adr<8>
sram_o 4 +adr<7>
sram_o 5 +adr<6>
sram_o 6 +adr<5>
sram_o 7 +adr<4>
sram_o 8 +adr<3>
sram_o 9 +adr<2>
sram_o 10 +adr<1>
sram_o 11 +mem_data<8>
sram_o 12 +mem_data<9>
sram_o 13 +mem_data<10>
sram_o 14 gnd
sram_o 15 +mem_data<11>
sram_o 16 +mem_data<12>
sram_o 17 +mem_data<13>
sram_o 18 +mem_data<14>
sram_o 19 +mem_data<15>
sram_o 20 -sram_cs
sram_o 21 +adr<11>
sram_o 22 -rd !-oe
sram_o 23 +adr<12>
sram_o 24 +adr<10>
sram_o 25 +adr<9>
sram_o 26 +adr<14>
sram_o 27 -wr_o !(-wr)+(-hbe)
sram_o 28 +5v
mem_data_xcv_e 1 -ddin_buf !+mem_data_out
mem_data_xcv_e 2 +cpu_ad<0>
mem_data_xcv_e 3 +cpu_ad<1>
mem_data_xcv_e 4 +cpu_ad<2>
mem_data_xcv_e 5 +cpu_ad<3>
mem_data_xcv_e 6 +cpu_ad<4>
mem_data_xcv_e 7 +cpu_ad<5>
mem_data_xcv_e 8 +cpu_ad<6>
mem_data_xcv_e 9 +cpu_ad<7>
mem_data_xcv_e 10 gnd
mem_data_xcv_e 11 +mem_data<7>
mem_data_xcv_e 12 +mem_data<6>
mem_data_xcv_e 13 +mem_data<5>
mem_data_xcv_e 14 +mem_data<4>
mem_data_xcv_e 15 +mem_data<3>
mem_data_xcv_e 16 +mem_data<2>
mem_data_xcv_e 17 +mem_data<1>
mem_data_xcv_e 18 +mem_data<0>
mem_data_xcv_e 19 -mem_data_oe
mem_data_xcv_e 20 +5v
mem_data_xcv_o 1 -ddin_buf !+mem_data_out
mem_data_xcv_o 2 +cpu_ad<8>
mem_data_xcv_o 3 +cpu_ad<9>
mem_data_xcv_o 4 +cpu_ad<10>
mem_data_xcv_o 5 +cpu_ad<11>
mem_data_xcv_o 6 +cpu_ad<12>
mem_data_xcv_o 7 +cpu_ad<13>
mem_data_xcv_o 8 +cpu_ad<14>
mem_data_xcv_o 9 +cpu_ad<15>
mem_data_xcv_o 10 gnd
mem_data_xcv_o 11 +mem_data<15>
mem_data_xcv_o 12 +mem_data<14>
mem_data_xcv_o 13 +mem_data<13>
mem_data_xcv_o 14 +mem_data<12>
mem_data_xcv_o 15 +mem_data<11>
mem_data_xcv_o 16 +mem_data<10>
mem_data_xcv_o 17 +mem_data<9>
mem_data_xcv_o 18 +mem_data<8>
mem_data_xcv_o 19 -mem_data_oe
mem_data_xcv_o 20 +5v
io_data_xcv_e 1 -ddin_buf !+io_data_out
io_data_xcv_e 2 +cpu_ad<0>
io_data_xcv_e 3 +cpu_ad<1>
io_data_xcv_e 4 +cpu_ad<2>
io_data_xcv_e 5 +cpu_ad<3>
io_data_xcv_e 6 +cpu_ad<4>
io_data_xcv_e 7 +cpu_ad<5>
io_data_xcv_e 8 +cpu_ad<6>
io_data_xcv_e 9 +cpu_ad<7>
io_data_xcv_e 10 gnd
io_data_xcv_e 11 +io_data<7>
io_data_xcv_e 12 +io_data<6>
io_data_xcv_e 13 +io_data<5>
io_data_xcv_e 14 +io_data<4>
io_data_xcv_e 15 +io_data<3>
io_data_xcv_e 16 +io_data<2>
io_data_xcv_e 17 +io_data<1>
io_data_xcv_e 18 +io_data<0>
io_data_xcv_e 19 -io_edata_oe
io_data_xcv_e 20 +5v
io_data_xcv_o 1 -ddin_buf !+io_data_out
io_data_xcv_o 2 +cpu_ad<8>
io_data_xcv_o 3 +cpu_ad<9>
io_data_xcv_o 4 +cpu_ad<10>
io_data_xcv_o 5 +cpu_ad<11>
io_data_xcv_o 6 +cpu_ad<12>
io_data_xcv_o 7 +cpu_ad<13>
io_data_xcv_o 8 +cpu_ad<14>
io_data_xcv_o 9 +cpu_ad<15>
io_data_xcv_o 10 gnd
io_data_xcv_o 11 +io_data<7>
io_data_xcv_o 12 +io_data<6>
io_data_xcv_o 13 +io_data<5>
io_data_xcv_o 14 +io_data<4>
io_data_xcv_o 15 +io_data<3>
io_data_xcv_o 16 +io_data<2>
io_data_xcv_o 17 +io_data<1>
io_data_xcv_o 18 +io_data<0>
io_data_xcv_o 19 +tie_high !-io_odata_oe
io_data_xcv_o 20 +5v
adr_latch_l 1 gnd !-oe, maybe +hlda later
adr_latch_l 2 +adr<0>
adr_latch_l 3 +cpu_ad<0>
adr_latch_l 4 +cpu_ad<2>
adr_latch_l 5 +adr<2>
adr_latch_l 6 +adr<4>
adr_latch_l 7 +cpu_ad<4>
adr_latch_l 8 +cpu_ad<6>
adr_latch_l 9 +adr<6>
adr_latch_l 10 gnd
adr_latch_l 11 +pav !transparent hi
adr_latch_l 12 +adr<7>
adr_latch_l 13 +cpu_ad<7>
adr_latch_l 14 +cpu_ad<5>
adr_latch_l 15 +adr<5>
adr_latch_l 16 +adr<3>
adr_latch_l 17 +cpu_ad<3>
adr_latch_l 18 +cpu_ad<1>
adr_latch_l 19 +adr<1>
adr_latch_l 20 +5v
adr_latch_m 1 gnd !-oe, maybe +hlda later
adr_latch_m 2 +adr<8>
adr_latch_m 3 +cpu_ad<8>
adr_latch_m 4 +cpu_ad<10>
adr_latch_m 5 +adr<10>
adr_latch_m 6 +adr<12>
adr_latch_m 7 +cpu_ad<12>
adr_latch_m 8 +cpu_ad<14>
adr_latch_m 9 +adr<14>
adr_latch_m 10 gnd
adr_latch_m 11 +pav !transparent hi
adr_latch_m 12 +adr<15>
adr_latch_m 13 +cpu_ad<15>
adr_latch_m 14 +cpu_ad<13>
adr_latch_m 15 +adr<13>
adr_latch_m 16 +adr<11>
adr_latch_m 17 +cpu_ad<11>
adr_latch_m 18 +cpu_ad<9>
adr_latch_m 19 +adr<9>
adr_latch_m 20 +5v
adr_buf_h 1 gnd !-oe, maybe +hlda later
adr_buf_h 2 +cpu_a<16>
adr_buf_h 3 +adr<17>
adr_buf_h 4 +cpu_a<18>
adr_buf_h 5 +adr<19>
adr_buf_h 6 +cpu_a<20>
adr_buf_h 7 +adr<21>
adr_buf_h 8 +cpu_a<22>
adr_buf_h 9 +adr<23>
adr_buf_h 10 gnd
adr_buf_h 11 +cpu_a<23>
adr_buf_h 12 +adr<22>
adr_buf_h 13 +cpu_a<21>
adr_buf_h 14 +adr<20>
adr_buf_h 15 +cpu_a<19>
adr_buf_h 16 +adr<18>
adr_buf_h 17 +cpu_a<17>
adr_buf_h 18 +adr<16>
adr_buf_h 19 gnd !-oe, maybe +hlda later
adr_buf_h 20 +5v
uart1 1 +io_data<0>
uart1 2 +io_data<1>
uart1 3 +io_data<2>
uart1 4 +io_data<3>
uart1 5 +io_data<4>
uart1 6 +io_data<5>
uart1 7 +io_data<6>
uart1 8 +io_data<7>
uart1 9 +uart1_clk_out
uart1 10 -rxd1
uart1 11 -txd1
uart1 12 -adr<6> !+cs, cs = 0xfff08x
uart1 13 +adr<7> !+cs
uart1 14 -io_cs_fff0 !-cs
uart1 15 +uart1_clk_out
uart1 16 +uart_xtal1
uart1 17 +uart_xtal2
uart1 18 -wr !-dostr (data out strobe)
uart1 19 gnd !+dostr (or'd with -dostr)
uart1 20 gnd
uart1 21 -rd !-distr
uart1 22 gnd !+distr (or'd with -distr)
uart1 23 n/c !out: driver disable
uart1 24 n/c !out: cs
uart1 25 gnd !-adr strobe
uart1 26 +adr<3>
uart1 27 +adr<2>
uart1 28 +adr<1>
uart1 29 n/c
uart1 30 +uart1_ir
uart1 31 n/c !-out2
uart1 32 -rts1
uart1 33 n/c !-dtr
uart1 34 n/c !-out1
uart1 35 +system_reset
uart1 36 -cts1
uart1 37 gnd !-dsr
uart1 38 gnd !-dcd
uart1 39 gnd !-ri
uart1 40 +5v
uart2 1 +io_data<0>
uart2 2 +io_data<1>
uart2 3 +io_data<2>
uart2 4 +io_data<3>
uart2 5 +io_data<4>
uart2 6 +io_data<5>
uart2 7 +io_data<6>
uart2 8 +io_data<7>
uart2 9 +uart2_clk_out
uart2 10 -rxd2
uart2 11 -txd2
uart2 12 +adr<6> !cs = 0xfff0cx
uart2 13 +adr<7>
uart2 14 -io_cs_fff0
uart2 15 +uart2_clk_out
uart2 16 +uart_xtal1
uart2 17 +uart_xtal2
uart2 18 -wr
uart2 19 gnd
uart2 20 gnd
uart2 21 -rd
uart2 22 gnd
uart2 23 n/c
uart2 24 n/c
uart2 25 gnd
uart2 26 +adr<3>
uart2 27 +adr<2>
uart2 28 +adr<1>
uart2 29 n/c
uart2 30 +uart2_ir
uart2 31 n/c
uart2 32 -rts2
uart2 33 n/c !-dtr
uart2 34 n/c
uart2 35 +system_reset
uart2 36 -cts2
uart2 37 gnd !-dsr
uart2 38 gnd !-dcd
uart2 39 gnd !-ri
uart2 40 +5v
uart_xtal 1 +uart_xtal1
uart_xtal 2 +uart_xtal3
uart_s_res 1 +uart_xtal2
uart_s_res 2 +uart_xtal3
uart_p_res 1 +uart_xtal1
uart_p_res 2 +uart_xtal3
uart_cap1 1 +uart_xtal1
uart_cap1 2 gnd
uart_cap2 1 +uart_xtal3
uart_cap2 2 gnd
rs232_rcv 1 +rxd1_rs232
rs232_rcv 2 n/c
rs232_rcv 3 -rxd1
rs232_rcv 4 +cts1_rs232
rs232_rcv 5 n/c
rs232_rcv 6 -cts1
rs232_rcv 7 gnd
rs232_rcv 8 -cts2
rs232_rcv 9 n/c
rs232_rcv 10 +cts2_rs232
rs232_rcv 11 -rxd2
rs232_rcv 12 n/c
rs232_rcv 13 +rxd2_rs232
rs232_rcv 14 +5v
rs232_drv 1 -12v
rs232_drv 2 -txd1
rs232_drv 3 +txd1_rs232
rs232_drv 4 -rts1
rs232_drv 5 -rts1
rs232_drv 6 +rts1_rs232
rs232_drv 7 gnd
rs232_drv 8 +rts2_rs232
rs232_drv 9 -rts2
rs232_drv 10 -rts2
rs232_drv 11 +txd2_rs232
rs232_drv 12 -txd2
rs232_drv 13 -txd2
rs232_drv 14 +12v
io_decode1 1 +adr<23>
io_decode1 2 +adr<22>
io_decode1 3 +adr<21>
io_decode1 4 +adr<20>
io_decode1 5 +adr<19>
io_decode1 6 +adr<18>
io_decode1 7 +adr<17>
io_decode1 8 gnd
io_decode1 9 -io_cs !low for adr=0xfffxxx
io_decode1 10 +adr<16>
io_decode1 11 +adr<15>
io_decode1 12 +adr<14>
io_decode1 13 +adr<13>
io_decode1 14 +adr<12>
io_decode1 15 +tie_high
io_decode1 16 +5v
dma_decode 1 +adr<23>
dma_decode 2 +adr<22>
dma_decode 3 +adr<21>
dma_decode 4 +adr<20>
dma_decode 5 +adr<19>
dma_decode 6 +adr<18>
dma_decode 7 +adr<17>
dma_decode 8 gnd
dma_decode 9 -dma_cs1 !low for adr=0xffecxx
dma_decode 10 +adr<16>
dma_decode 11 +adr<15>
dma_decode 12 +adr<14>
dma_decode 13 +adr<13>
dma_decode 14 +adr<11>
dma_decode 15 +adr<10>
dma_decode 16 +5v
io_decode2 1 +adr<9>
io_decode2 2 +adr<10>
io_decode2 3 +adr<11>
io_decode2 4 -io_cs !-enable
io_decode2 5 +adr<8> !-enable
io_decode2 6 +tie_high !+enable
io_decode2 7 -io_cs_fffe !icu
io_decode2 8 gnd
io_decode2 9 n/c !-io_cs_fffc
io_decode2 10 n/c !-io_cs_fffa formerly dma controller
io_decode2 11 -io_cs_fff8 !scsi -dack
io_decode2 12 -io_cs_fff6 !scsi -cs
io_decode2 13 -io_cs_fff4 !floppy controller
io_decode2 14 n/c !-io_cs_fff2
io_decode2 15 -io_cs_fff0 !uart's
io_decode2 16 +5v
or_1 1 -wr
or_1 2 +adr<0>
or_1 3 -wr_e !write even byte
or_1 4 -dbe !change later for DMA
or_1 5 -io_cs !change later for DMA
or_1 6 -io_edata_oe !change later for DMA
or_1 7 gnd
or_1 8 -mem_data_oe
or_1 9 +adr<23> !change for ram beyond 8meg
or_1 10 -dbe
or_1 11 -wr_o !write odd byte
or_1 12 -hbe_buf
or_1 13 -wr
or_1 14 +5v
invert_1 1 +adr<6>
invert_1 2 -adr<6> !for uarts
invert_1 3 -pav
invert_1 4 +pav !for adr latches
invert_1 5 -system_reset
invert_1 6 +system_reset !for uarts
invert_1 7 gnd
invert_1 8 +ddin_buf
invert_1 9 -ddin !was -ddin_buf
invert_1 10 -dma_req1
invert_1 11 +dma_req1
invert_1 12 -dma_req0
invert_1 13 +dma_req0
invert_1 14 +5v
3st_buf1 1 -hlda
3st_buf1 2 -hbe
3st_buf1 3 -hbe_buf
3st_buf1 4 +tie_high
3st_buf1 5 -ddin
3st_buf1 6 -ddin_buf
3st_buf1 7 gnd
3st_buf1 8 n/c
3st_buf1 9 gnd
3st_buf1 10 gnd
3st_buf1 11 n/c
3st_buf1 12 gnd
3st_buf1 13 gnd
3st_buf1 14 +5v
memcspal 1 +adr<15>
memcspal 2 +adr<16>
memcspal 3 +adr<17>
memcspal 4 +adr<18>
memcspal 5 +adr<19>
memcspal 6 +adr<20>
memcspal 7 +adr<21>
memcspal 8 +adr<22>
memcspal 9 +adr<23>
memcspal 10 gnd
memcspal 11 +swap_jumper
memcspal 12 -eprom_cs
memcspal 13 +eprom_a15
memcspal 14 -sram_cs
memcspal 15 -dram_cs
memcspal 16 n/c
memcspal 17 n/c
memcspal 18 n/c
memcspal 19 n/c
memcspal 20 +5v
nmipal 1 +cttl
nmipal 2 -nmi_up
nmipal 3 -nmi_down
nmipal 4 -tso
nmipal 5 n/c
nmipal 6 n/c
nmipal 7 n/c
nmipal 8 n/c
nmipal 9 n/c
nmipal 10 gnd
nmipal 11 gnd !-oe
nmipal 12 -nmi
nmipal 13 n/c
nmipal 14 n/c
nmipal 15 n/c
nmipal 16 n/c
nmipal 17 n/c
nmipal 18 n/c
nmipal 19 n/c
nmipal 20 +5v
nmi_sw 1 -nmi_up
nmi_sw 2 gnd
nmi_sw 3 -nmi_down
pullup 1 -spc
pullup 2 -int
pullup 3 -hold
pullup 4 +mmu_a24
pullup 5 -nmi_up
pullup 6 -nmi_down
pullup 7 +swap_jumper
pullup 8 -pav
pullup 9 -cwait
uart_header 1 +uart_xtal2
uart_header 2 +uart_xtal1
uart_header 3 n/c
uart_header 4 gnd
uart_header 5 +txd1_rs232
uart_header 6 +rts1_rs232
uart_header 7 +cts1_rs232
uart_header 8 +rxd1_rs232
uart_header 9 +rxd2_rs232
uart_header 10 +cts2_rs232
uart_header 11 +rts2_rs232
uart_header 12 +txd2_rs232
uart_header 13 gnd
uart_header 14 n/c
uart_header 15 gnd
uart_header 16 +uart_xtal3
sw_header 1 -nmi_up
sw_header 2 -nmi_down
sw_header 3 -rst_sw
sw_header 4 gnd
sw_header 5 n/c
sw_header 6 n/c
sw_header 7 gnd
sw_header 8 +swap_jumper
sw_header 9 n/c
sw_header 10 n/c
sw_header 11 n/c
sw_header 12 n/c
sw_header 13 n/c
sw_header 14 +5v
or_2 1 -dma_cs1
or_2 2 +adr<12>
or_2 3 -dma_cs !low for adr=0xffecxx
or_2 4 gnd !unused gate
or_2 5 gnd
or_2 6
or_2 7 gnd
or_2 8 -we_h0
or_2 9 +ddin_buf
or_2 10 -hbe_buf
or_2 11 -we_l0
or_2 12 +ddin_buf
or_2 13 +adr<0>
or_2 14 +5v
scsi_ctl 1 +io_data<0>
scsi_ctl 2 -sc_db<7>
scsi_ctl 3 -sc_db<6>
scsi_ctl 4 -sc_db<5>
scsi_ctl 5 -sc_db<4>
scsi_ctl 6 -sc_db<3>
scsi_ctl 7 -sc_db<2>
scsi_ctl 8 -sc_db<1>
scsi_ctl 9 -sc_db<0>
scsi_ctl 10 -sc_dbp
scsi_ctl 11 gnd
scsi_ctl 12 -sc_sel
scsi_ctl 13 -sc_bsy
scsi_ctl 14 -sc_ack
scsi_ctl 15 -sc_atn
scsi_ctl 16 -sc_rst
scsi_ctl 17 -sc_io
scsi_ctl 18 -sc_cd
scsi_ctl 19 -sc_msg
scsi_ctl 20 -sc_req
scsi_ctl 21 -io_cs_fff6 !-cs
scsi_ctl 22 +dma_req1
scsi_ctl 23 +scsi_ir !int req
scsi_ctl 24 -rd
scsi_ctl 25 n/c !ready
scsi_ctl 26 -io_cs_fff8 !-dack
scsi_ctl 27 +tie_high !-eop
scsi_ctl 28 -system_reset
scsi_ctl 29 -wr
scsi_ctl 30 +adr<1>
scsi_ctl 31 +5v
scsi_ctl 32 +adr<2>
scsi_ctl 33 +adr<3>
scsi_ctl 34 +io_data<7>
scsi_ctl 35 +io_data<6>
scsi_ctl 36 +io_data<5>
scsi_ctl 37 +io_data<4>
scsi_ctl 38 +io_data<3>
scsi_ctl 39 +io_data<2>
scsi_ctl 40 +io_data<1>
sc_pullup1 1 -sc_db<7>
sc_pullup1 2 -sc_db<6>
sc_pullup1 3 -sc_db<5>
sc_pullup1 4 -sc_db<4>
sc_pullup1 5 -sc_db<3>
sc_pullup1 6 -sc_db<2>
sc_pullup1 7 -sc_db<1>
sc_pullup1 8 -sc_db<0>
sc_pullup1 9 -sc_dbp
sc_pullup1 10 +5v
sc_pullup2 1 -sc_sel
sc_pullup2 2 -sc_bsy
sc_pullup2 3 -sc_ack
sc_pullup2 4 -sc_atn
sc_pullup2 5 -sc_rst
sc_pullup2 6 -sc_io
sc_pullup2 7 -sc_cd
sc_pullup2 8 -sc_msg
sc_pullup2 9 -sc_req
sc_pullup2 10 +5v
sc_pulldown1 1 -sc_db<7>
sc_pulldown1 2 -sc_db<6>
sc_pulldown1 3 -sc_db<5>
sc_pulldown1 4 -sc_db<4>
sc_pulldown1 5 -sc_db<3>
sc_pulldown1 6 -sc_db<2>
sc_pulldown1 7 -sc_db<1>
sc_pulldown1 8 -sc_db<0>
sc_pulldown1 9 -sc_dbp
sc_pulldown1 10 gnd
sc_pulldown2 1 -sc_sel
sc_pulldown2 2 -sc_bsy
sc_pulldown2 3 -sc_ack
sc_pulldown2 4 -sc_atn
sc_pulldown2 5 -sc_rst
sc_pulldown2 6 -sc_io
sc_pulldown2 7 -sc_cd
sc_pulldown2 8 -sc_msg
sc_pulldown2 9 -sc_req
sc_pulldown2 10 gnd
sc_conn 1 gnd
sc_conn 2 -sc_db<0>
sc_conn 3 gnd
sc_conn 4 -sc_db<1>
sc_conn 5 gnd
sc_conn 6 -sc_db<2>
sc_conn 7 gnd
sc_conn 8 -sc_db<3>
sc_conn 9 gnd
sc_conn 10 -sc_db<4>
sc_conn 11 gnd
sc_conn 12 -sc_db<5>
sc_conn 13 gnd
sc_conn 14 -sc_db<6>
sc_conn 15 gnd
sc_conn 16 -sc_db<7>
sc_conn 17 gnd
sc_conn 18 -sc_dbp
sc_conn 19 gnd
sc_conn 20 gnd
sc_conn 21 gnd
sc_conn 22 gnd
sc_conn 23 gnd
sc_conn 24 gnd
sc_conn 25 n/c
sc_conn 26 +sc_term
sc_conn 27 gnd
sc_conn 28 gnd
sc_conn 29 gnd
sc_conn 30 gnd
sc_conn 31 gnd
sc_conn 32 -sc_atn
sc_conn 33 gnd
sc_conn 34 gnd
sc_conn 35 gnd
sc_conn 36 -sc_bsy
sc_conn 37 gnd
sc_conn 38 -sc_ack
sc_conn 39 gnd
sc_conn 40 -sc_rst
sc_conn 41 gnd
sc_conn 42 -sc_msg
sc_conn 43 gnd
sc_conn 44 -sc_sel
sc_conn 45 gnd
sc_conn 46 -sc_cd
sc_conn 47 gnd
sc_conn 48 -sc_req
sc_conn 49 gnd
sc_conn 50 -sc_io
sc_diode 1 +5v !anode
sc_diode 2 +sc_term
dma_ctl 1 +cpu_a<22>
dma_ctl 2 +cpu_a<21>
dma_ctl 3 +cpu_a<20>
dma_ctl 4 +cpu_a<19>
dma_ctl 5 +cpu_a<18>
dma_ctl 6 +cpu_a<17>
dma_ctl 7 +cpu_a<16>
dma_ctl 8 +cpu_ad<15>
dma_ctl 9 +cpu_ad<14>
dma_ctl 10 +cpu_ad<13>
dma_ctl 11 +cpu_ad<12>
dma_ctl 12 +cpu_ad<11>
dma_ctl 13 +cpu_ad<10>
dma_ctl 14 +cpu_ad<9>
dma_ctl 15 +cpu_ad<8>
dma_ctl 16 +cpu_ad<7>
dma_ctl 17 +cpu_ad<6>
dma_ctl 18 +cpu_ad<5>
dma_ctl 19 +cpu_ad<4>
dma_ctl 20 +cpu_ad<3>
dma_ctl 21 +cpu_ad<2>
dma_ctl 22 +cpu_ad<1>
dma_ctl 23 +cpu_ad<0>
dma_ctl 24 gnd
dma_ctl 25 +cttl
dma_ctl 26 +rdy
dma_ctl 27 -pav !needs pullup
dma_ctl 28 n/c !-iowr
dma_ctl 29 n/c !-iord
dma_ctl 30 -ddin
dma_ctl 31 -hbe_buf
dma_ctl 32 -dma_ack0 !fdc channel
dma_ctl 33 -dma_req0
dma_ctl 34 n/c !-dma_ack1
dma_ctl 35 -dma_req1 !scsi channel
dma_ctl 36 n/c !-dma_ack2
dma_ctl 37 +tie_high !-dma_req2
dma_ctl 38 n/c !-dma_ack3
dma_ctl 39 +tie_high !-dma_req3
dma_ctl 40 -hlda
dma_ctl 41 -hold
dma_ctl 42 -dma_ir !int
dma_ctl 43 -system_reset
dma_ctl 44 n/c !-bgrt
dma_ctl 45 +tie_high !-breq
dma_ctl 46 -dma_cs !cs = 0xffecxx
dma_ctl 47 +cpu_a<23>
dma_ctl 48 +5v
dramc 1 +rfshclk
dramc 2 +cttl
dramc 3 +tie_high !m0
dramc 4 +tie_high !15ns ras hold
dramc 5 -mode !m2
dramc 6 +tie_high !-ads
dramc 7 +adr<1>
dramc 8 +adr<2>
dramc 9 +adr<3>
dramc 10 +adr<4>
dramc 11 +adr<5>
dramc 12 +adr<6>
dramc 13 gnd
dramc 14 +adr<7>
dramc 15 +adr<8>
dramc 16 +adr<9>
dramc 17 +adr<10>
dramc 18 +adr<11>
dramc 19 +adr<12>
dramc 20 +adr<13>
dramc 21 +adr<14>
dramc 22 +adr<15>
dramc 23 +adr<16>
dramc 24 +adr<17> !dram change was +tie_high
dramc 25 +adr<18> !dram change was gnd
dramc 26 +adr<22> !b1
dramc 27 +adr<21> !b0
dramc 28 -ras01
dramc 29 -ras11 !200000-3fffff
dramc 30 -ras21 !400000-5fffff
dramc 31 -ras31 !600000-7fffff
dramc 32 -cas1
dramc 33 +dram_adr1<8> !dram change was +dram_mux_sel
dramc 34 +dram_adr1<7>
dramc 35 +dram_adr1<6>
dramc 36 +5v
dramc 37 +dram_adr1<5>
dramc 38 gnd
dramc 39 +dram_adr1<4>
dramc 40 +dram_adr1<3>
dramc 41 +dram_adr1<2>
dramc 42 +dram_adr1<1>
dramc 43 +dram_adr1<0>
dramc 44 n/c !-we
dramc 45 +tie_high !-win
dramc 46 +rfio
dramc 47 -dram_cs
dramc 48 -rasin
dramc_cap1 1 gnd !close to dramc pin 38
dramc_cap1 2 +5v !close to dramc pin 36
dramc_cap2 1 gnd !close to dramc pin 38
dramc_cap2 2 +5v !close to dramc pin 36
dram_delay0 1 -rasin
dram_delay0 2 n/c
dram_delay0 3 n/c !20%
dram_delay0 4 n/c !40%
dram_delay0 5 n/c !60%
dram_delay0 6 n/c !80%
dram_delay0 7 gnd
dram_delay0 8 +ras_dly100 !100% this tap seems to work
dram_delay0 9 n/c !90%
dram_delay0 10 n/c !70%
dram_delay0 11 n/c !50%
dram_delay0 12 n/c !30%
dram_delay0 13 n/c !10%
dram_delay0 14 +5v
dram_delay1 1 +ras_dly100 !more delay if needed
dram_delay1 2 n/c
dram_delay1 3 n/c !120%
dram_delay1 4 n/c !140%
dram_delay1 5 n/c !160%
dram_delay1 6 n/c !180%
dram_delay1 7 gnd
dram_delay1 8 n/c !200%
dram_delay1 9 n/c !190%
dram_delay1 10 n/c !170%
dram_delay1 11 n/c !150%
dram_delay1 12 n/c !130%
dram_delay1 13 n/c !110%
dram_delay1 14 +5v
rfshpal 1 +cttl
rfshpal 2 gnd
rfshpal 3 gnd
rfshpal 4 gnd
rfshpal 5 gnd
rfshpal 6 gnd
rfshpal 7 gnd
rfshpal 8 gnd
rfshpal 9 gnd
rfshpal 10 gnd
rfshpal 11 gnd
rfshpal 12 n/c
rfshpal 13 n/c
rfshpal 14 n/c
rfshpal 15 n/c
rfshpal 16 n/c
rfshpal 17 n/c
rfshpal 18 n/c
rfshpal 19 +rfshclk
rfshpal 20 +5v
dramcpal 1 +fclk
dramcpal 2 -tso
dramcpal 3 +rfio
dramcpal 4 -pav
dramcpal 5 -ddin_buf
dramcpal 6 +tie_high !-waitwr
dramcpal 7 +cttl
dramcpal 8 -dram_cs
dramcpal 9 +tie_high !-waitrd
dramcpal 10 gnd
dramcpal 11 gnd !-oe
dramcpal 12 -cwait
dramcpal 13 n/c !4dly
dramcpal 14 n/c !3dly
dramcpal 15 n/c !2dly
dramcpal 16 -mode
dramcpal 17 -rasin
dramcpal 18 n/c !-cycled
dramcpal 19 n/c !-incy
dramcpal 20 +5v
dram_mux 1 +ras_dly100 !dram change was +dram_mux_sel
dram_mux 2 gnd !dram change was +adr<17>
dram_mux 3 gnd !dram change was +adr<18>
dram_mux 4 n/c !dram change was +dram_adr0<8>
dram_mux 5 +adr<19>
dram_mux 6 +adr<20>
dram_mux 7 +dram_adr0<9>
dram_mux 8 gnd
dram_mux 9 n/c
dram_mux 10 gnd
dram_mux 11 gnd
dram_mux 12 n/c
dram_mux 13 gnd
dram_mux 14 gnd
dram_mux 15 gnd !enable
dram_mux 16 +5v
dram_drv 1 gnd
dram_drv 2 -we_l0
dram_drv 3 n/c !dram change was +dram_adr1<8>
dram_drv 4 -we_h0
dram_drv 5 +dram_adr1<9>
dram_drv 6 gnd !dram change was -cas1
dram_drv 7 n/c !dram change was -cas3
dram_drv 8 gnd !dram change was -cas3
dram_drv 9 n/c !dram change was -cas5
dram_drv 10 gnd
dram_drv 11 gnd !dram change was -cas4
dram_drv 12 n/c !dram change was -cas4
dram_drv 13 gnd !dram change was -cas2
dram_drv 14 n/c !dram change was -cas2
dram_drv 15 +dram_adr0<9>
dram_drv 16 -we_h1
dram_drv 17 gnd !dram change was +dram_adr0<8>
dram_drv 18 -we_l1
dram_drv 19 gnd
dram_drv 20 +5v
dram_term1 1 +dram_adr1<0>
dram_term1 2 +dram_adr1<1>
dram_term1 3 +dram_adr1<2>
dram_term1 4 +dram_adr1<3>
dram_term1 5 +dram_adr1<4>
dram_term1 6 +dram_adr1<5>
dram_term1 7 +dram_adr1<6>
dram_term1 8 +dram_adr1<7>
dram_term1 9 +dram_adr2<7>
dram_term1 10 +dram_adr2<6>
dram_term1 11 +dram_adr2<5>
dram_term1 12 +dram_adr2<4>
dram_term1 13 +dram_adr2<3>
dram_term1 14 +dram_adr2<2>
dram_term1 15 +dram_adr2<1>
dram_term1 16 +dram_adr2<0>
dram_term2 1 n/c !WBC has pullup here
dram_term2 2 -ras31
dram_term2 3 -ras21
dram_term2 4 -ras11
dram_term2 5 -ras01
dram_term2 6 -cas1
dram_term2 7 +dram_adr1<8>
dram_term2 8 n/c
dram_term2 9 n/c
dram_term2 10 +dram_adr2<8>
dram_term2 11 -cas2
dram_term2 12 n/c !-ras02
dram_term2 13 -ras12
dram_term2 14 n/c !-ras22
dram_term2 15 n/c !-ras32
dram_term2 16 n/c !WBC has pullup here
dram_term3 1 n/c
dram_term3 2 n/c
dram_term3 3 n/c
dram_term3 4 n/c
dram_term3 5 +dram_adr2<9>
dram_term3 6 -we_l2
dram_term3 7 -we_h2
dram_term3 8 n/c
dram_term3 9 n/c
dram_term3 10 -we_h1
dram_term3 11 -we_l1
dram_term3 12 +dram_adr1<9>
dram_term3 13 n/c
dram_term3 14 n/c
dram_term3 15 n/c
dram_term3 16 n/c
dram0 1 +mem_data<0>
dram0 2 -we_l2
dram0 3 -ras12
dram0 4 n/c
dram0 5 +dram_adr2<0>
dram0 6 +dram_adr2<1>
dram0 7 +dram_adr2<2>
dram0 8 +dram_adr2<3>
dram0 9 +5v
dram0 10 +dram_adr2<4>
dram0 11 +dram_adr2<5>
dram0 12 +dram_adr2<6>
dram0 13 +dram_adr2<7>
dram0 14 +dram_adr2<8>
dram0 15 +dram_adr2<9>
dram0 16 -cas2 !dram change was -cas6
dram0 17 +mem_data<0>
dram0 18 gnd
dram1 1 +mem_data<1>
dram1 2 -we_l2
dram1 3 -ras12
dram1 4 n/c
dram1 5 +dram_adr2<0>
dram1 6 +dram_adr2<1>
dram1 7 +dram_adr2<2>
dram1 8 +dram_adr2<3>
dram1 9 +5v
dram1 10 +dram_adr2<4>
dram1 11 +dram_adr2<5>
dram1 12 +dram_adr2<6>
dram1 13 +dram_adr2<7>
dram1 14 +dram_adr2<8>
dram1 15 +dram_adr2<9>
dram1 16 -cas2 !dram change was -cas6
dram1 17 +mem_data<1>
dram1 18 gnd
dram2 1 +mem_data<2>
dram2 2 -we_l2
dram2 3 -ras12
dram2 4 n/c
dram2 5 +dram_adr2<0>
dram2 6 +dram_adr2<1>
dram2 7 +dram_adr2<2>
dram2 8 +dram_adr2<3>
dram2 9 +5v
dram2 10 +dram_adr2<4>
dram2 11 +dram_adr2<5>
dram2 12 +dram_adr2<6>
dram2 13 +dram_adr2<7>
dram2 14 +dram_adr2<8>
dram2 15 +dram_adr2<9>
dram2 16 -cas2 !dram change was -cas6
dram2 17 +mem_data<2>
dram2 18 gnd
dram3 1 +mem_data<3>
dram3 2 -we_l2
dram3 3 -ras12
dram3 4 n/c
dram3 5 +dram_adr2<0>
dram3 6 +dram_adr2<1>
dram3 7 +dram_adr2<2>
dram3 8 +dram_adr2<3>
dram3 9 +5v
dram3 10 +dram_adr2<4>
dram3 11 +dram_adr2<5>
dram3 12 +dram_adr2<6>
dram3 13 +dram_adr2<7>
dram3 14 +dram_adr2<8>
dram3 15 +dram_adr2<9>
dram3 16 -cas2 !dram change was -cas6
dram3 17 +mem_data<3>
dram3 18 gnd
dram4 1 +mem_data<4>
dram4 2 -we_l2
dram4 3 -ras12
dram4 4 n/c
dram4 5 +dram_adr2<0>
dram4 6 +dram_adr2<1>
dram4 7 +dram_adr2<2>
dram4 8 +dram_adr2<3>
dram4 9 +5v
dram4 10 +dram_adr2<4>
dram4 11 +dram_adr2<5>
dram4 12 +dram_adr2<6>
dram4 13 +dram_adr2<7>
dram4 14 +dram_adr2<8>
dram4 15 +dram_adr2<9>
dram4 16 -cas2 !dram change was -cas6
dram4 17 +mem_data<4>
dram4 18 gnd
dram5 1 +mem_data<5>
dram5 2 -we_l2
dram5 3 -ras12
dram5 4 n/c
dram5 5 +dram_adr2<0>
dram5 6 +dram_adr2<1>
dram5 7 +dram_adr2<2>
dram5 8 +dram_adr2<3>
dram5 9 +5v
dram5 10 +dram_adr2<4>
dram5 11 +dram_adr2<5>
dram5 12 +dram_adr2<6>
dram5 13 +dram_adr2<7>
dram5 14 +dram_adr2<8>
dram5 15 +dram_adr2<9>
dram5 16 -cas2 !dram change was -cas6
dram5 17 +mem_data<5>
dram5 18 gnd
dram6 1 +mem_data<6>
dram6 2 -we_l2
dram6 3 -ras12
dram6 4 n/c
dram6 5 +dram_adr2<0>
dram6 6 +dram_adr2<1>
dram6 7 +dram_adr2<2>
dram6 8 +dram_adr2<3>
dram6 9 +5v
dram6 10 +dram_adr2<4>
dram6 11 +dram_adr2<5>
dram6 12 +dram_adr2<6>
dram6 13 +dram_adr2<7>
dram6 14 +dram_adr2<8>
dram6 15 +dram_adr2<9>
dram6 16 -cas2 !dram change was -cas6
dram6 17 +mem_data<6>
dram6 18 gnd
dram7 1 +mem_data<7>
dram7 2 -we_l2
dram7 3 -ras12
dram7 4 n/c
dram7 5 +dram_adr2<0>
dram7 6 +dram_adr2<1>
dram7 7 +dram_adr2<2>
dram7 8 +dram_adr2<3>
dram7 9 +5v
dram7 10 +dram_adr2<4>
dram7 11 +dram_adr2<5>
dram7 12 +dram_adr2<6>
dram7 13 +dram_adr2<7>
dram7 14 +dram_adr2<8>
dram7 15 +dram_adr2<9>
dram7 16 -cas2 !dram change was -cas6
dram7 17 +mem_data<7>
dram7 18 gnd
dram8 1 +mem_data<8>
dram8 2 -we_h2
dram8 3 -ras12
dram8 4 n/c
dram8 5 +dram_adr2<0>
dram8 6 +dram_adr2<1>
dram8 7 +dram_adr2<2>
dram8 8 +dram_adr2<3>
dram8 9 +5v
dram8 10 +dram_adr2<4>
dram8 11 +dram_adr2<5>
dram8 12 +dram_adr2<6>
dram8 13 +dram_adr2<7>
dram8 14 +dram_adr2<8>
dram8 15 +dram_adr2<9>
dram8 16 -cas2 !dram change was -cas6
dram8 17 +mem_data<8>
dram8 18 gnd
dram9 1 +mem_data<9>
dram9 2 -we_h2
dram9 3 -ras12
dram9 4 n/c
dram9 5 +dram_adr2<0>
dram9 6 +dram_adr2<1>
dram9 7 +dram_adr2<2>
dram9 8 +dram_adr2<3>
dram9 9 +5v
dram9 10 +dram_adr2<4>
dram9 11 +dram_adr2<5>
dram9 12 +dram_adr2<6>
dram9 13 +dram_adr2<7>
dram9 14 +dram_adr2<8>
dram9 15 +dram_adr2<9>
dram9 16 -cas2 !dram change was -cas6
dram9 17 +mem_data<9>
dram9 18 gnd
dram10 1 +mem_data<10>
dram10 2 -we_h2
dram10 3 -ras12
dram10 4 n/c
dram10 5 +dram_adr2<0>
dram10 6 +dram_adr2<1>
dram10 7 +dram_adr2<2>
dram10 8 +dram_adr2<3>
dram10 9 +5v
dram10 10 +dram_adr2<4>
dram10 11 +dram_adr2<5>
dram10 12 +dram_adr2<6>
dram10 13 +dram_adr2<7>
dram10 14 +dram_adr2<8>
dram10 15 +dram_adr2<9>
dram10 16 -cas2 !dram change was -cas6
dram10 17 +mem_data<10>
dram10 18 gnd
dram11 1 +mem_data<11>
dram11 2 -we_h2
dram11 3 -ras12
dram11 4 n/c
dram11 5 +dram_adr2<0>
dram11 6 +dram_adr2<1>
dram11 7 +dram_adr2<2>
dram11 8 +dram_adr2<3>
dram11 9 +5v
dram11 10 +dram_adr2<4>
dram11 11 +dram_adr2<5>
dram11 12 +dram_adr2<6>
dram11 13 +dram_adr2<7>
dram11 14 +dram_adr2<8>
dram11 15 +dram_adr2<9>
dram11 16 -cas2 !dram change was -cas6
dram11 17 +mem_data<11>
dram11 18 gnd
dram12 1 +mem_data<12>
dram12 2 -we_h2
dram12 3 -ras12
dram12 4 n/c
dram12 5 +dram_adr2<0>
dram12 6 +dram_adr2<1>
dram12 7 +dram_adr2<2>
dram12 8 +dram_adr2<3>
dram12 9 +5v
dram12 10 +dram_adr2<4>
dram12 11 +dram_adr2<5>
dram12 12 +dram_adr2<6>
dram12 13 +dram_adr2<7>
dram12 14 +dram_adr2<8>
dram12 15 +dram_adr2<9>
dram12 16 -cas2 !dram change was -cas6
dram12 17 +mem_data<12>
dram12 18 gnd
dram13 1 +mem_data<13>
dram13 2 -we_h2
dram13 3 -ras12
dram13 4 n/c
dram13 5 +dram_adr2<0>
dram13 6 +dram_adr2<1>
dram13 7 +dram_adr2<2>
dram13 8 +dram_adr2<3>
dram13 9 +5v
dram13 10 +dram_adr2<4>
dram13 11 +dram_adr2<5>
dram13 12 +dram_adr2<6>
dram13 13 +dram_adr2<7>
dram13 14 +dram_adr2<8>
dram13 15 +dram_adr2<9>
dram13 16 -cas2 !dram change was -cas6
dram13 17 +mem_data<13>
dram13 18 gnd
dram14 1 +mem_data<14>
dram14 2 -we_h2
dram14 3 -ras12
dram14 4 n/c
dram14 5 +dram_adr2<0>
dram14 6 +dram_adr2<1>
dram14 7 +dram_adr2<2>
dram14 8 +dram_adr2<3>
dram14 9 +5v
dram14 10 +dram_adr2<4>
dram14 11 +dram_adr2<5>
dram14 12 +dram_adr2<6>
dram14 13 +dram_adr2<7>
dram14 14 +dram_adr2<8>
dram14 15 +dram_adr2<9>
dram14 16 -cas2 !dram change was -cas6
dram14 17 +mem_data<14>
dram14 18 gnd
dram15 1 +mem_data<15>
dram15 2 -we_h2
dram15 3 -ras12
dram15 4 n/c
dram15 5 +dram_adr2<0>
dram15 6 +dram_adr2<1>
dram15 7 +dram_adr2<2>
dram15 8 +dram_adr2<3>
dram15 9 +5v
dram15 10 +dram_adr2<4>
dram15 11 +dram_adr2<5>
dram15 12 +dram_adr2<6>
dram15 13 +dram_adr2<7>
dram15 14 +dram_adr2<8>
dram15 15 +dram_adr2<9>
dram15 16 -cas2 !dram change was -cas6
dram15 17 +mem_data<15>
dram15 18 gnd
fdc 1 -dma_ack0
fdc 2 -rd
fdc 3 -wr
fdc 4 -io_cs_fff4
fdc 5 +adr<1>
fdc 6 +io_data<0>
fdc 7 +io_data<1>
fdc 8 +io_data<2>
fdc 9 +io_data<3>
fdc 10 +io_data<4>
fdc 11 +io_data<5>
fdc 12 +io_data<6>
fdc 13 +io_data<7>
fdc 14 +dma_req0
fdc 15 gnd !terminal count
fdc 16 +fdb_idx
fdc 17 +fdc_ir
fdc 18 +system_reset
fdc 19 +fdc_clk
fdc 20 n/c !crystal
fdc 21 gnd
fdc 22 gnd !retain values on reset
fdc 23 +fdb_rddata
fdc 24 +fdb_ld !low density
fdc 25 gnd
fdc 26 gnd !separate connection to plane
fdc 27 +fdb_we
fdc 28 n/c !mfm if external pll
fdc 29 +motor
fdc 30 +fdb_hdsel
fdc 31 n/c !drive sel 1
fdc 32 +drv_sel0
fdc 33 +fdb_wrdata
fdc 34 +fdb_trk0
fdc 35 +fdb_wp
fdc 36 +tie_high !+fdb_rdy
fdc 37 n/c !+fdb_hld 8" drives only
fdc 38 +fdb_stp
fdc 39 +fdb_dir
fdc 40 +5v
fd_drv1 1 +drv_sel0
fd_drv1 2 +drv_sel0
fd_drv1 3 -fdb_ds1
fd_drv1 4 -drv_sel0
fd_drv1 5 -drv_sel0
fd_drv1 6 -fdb_ds0
fd_drv1 7 gnd
fd_drv1 8 -fdb_motor0
fd_drv1 9 +motor
fd_drv1 10 -drv_sel0
fd_drv1 11 -fdb_motor1
fd_drv1 12 +motor
fd_drv1 13 +drv_sel0
fd_drv1 14 +5v
fd_drv2 1 +fdb_dir
fd_drv2 2 -fdb_dir
fd_drv2 3 +fdb_stp
fd_drv2 4 -fdb_stp
fd_drv2 5 +fdb_hdsel
fd_drv2 6 -fdb_hdsel
fd_drv2 7 gnd
fd_drv2 8 -fdb_we
fd_drv2 9 +fdb_we
fd_drv2 10 -fdb_wrdata
fd_drv2 11 +fdb_wrdata
fd_drv2 12 -fdb_ld
fd_drv2 13 +fdb_ld
fd_drv2 14 +5v
fd_rcv 1 +drv_sel0
fd_rcv 2 -drv_sel0
fd_rcv 3 gnd
fd_rcv 4 n/c
fd_rcv 5 -fdb_rddata
fd_rcv 6 +fdb_rddata
fd_rcv 7 gnd
fd_rcv 8 +fdb_idx
fd_rcv 9 -fdb_idx
fd_rcv 10 +fdb_wp
fd_rcv 11 -fdb_wp
fd_rcv 12 +fdb_trk0
fd_rcv 13 -fdb_trk0
fd_rcv 14 +5v
fd_osc 1 n/c
fd_osc 7 gnd
fd_osc 8 +fdc_clk
fd_osc 14 +5v
fd_conn 1 gnd
fd_conn 2 -fdb_ld
fd_conn 3 gnd
fd_conn 4 n/c !not used
fd_conn 5 gnd
fd_conn 6 n/c !not used
fd_conn 7 gnd
fd_conn 8 -fdb_idx
fd_conn 9 gnd
fd_conn 10 -fdb_motor0
fd_conn 11 gnd
fd_conn 12 -fdb_ds1
fd_conn 13 gnd
fd_conn 14 -fdb_ds0
fd_conn 15 gnd
fd_conn 16 -fdb_motor1
fd_conn 17 gnd
fd_conn 18 -fdb_dir
fd_conn 19 gnd
fd_conn 20 -fdb_stp !low=toward spindle
fd_conn 21 gnd
fd_conn 22 -fdb_wrdata
fd_conn 23 gnd
fd_conn 24 -fdb_we
fd_conn 25 gnd
fd_conn 26 -fdb_trk0
fd_conn 27 gnd
fd_conn 28 -fdb_wp
fd_conn 29 gnd
fd_conn 30 -fdb_rddata
fd_conn 31 gnd
fd_conn 32 -fdb_hdsel !low=head1, hi=head0
fd_conn 33 gnd
fd_conn 34 n/c !door open
fd_pullup 1 +5v
fd_pullup 2 +fdc_clk !fake MOS level
fd_pullup 3 -fdb_ld
fd_pullup 4 -fdb_trk0
fd_pullup 5 -fdb_wp
fd_pullup 6 -fdb_idx
fd_pullup 7 -fdb_rddata
fd_pullup 8 n/c
@EOF

chmod 644 netlist

echo x - partlist
cat >partlist <<'@EOF'
cpu ns32016
bbg_cap1 capacitor !1000 pf disc ceramic
bbg_cap2 capacitor !1mf tantalum +=pin2
mmu ns32082
fpu ns32081
icu ns32202
tcu ns32201
rst_sw switch !spst normally open
rst_cap capacitor !10uf
rst_diode diode !anode = pin2
rst_res resistor !10k
tcu_osc oscillator !14 pin 16MHz or 20MHz
ph1_cap capacitor !25pf
ph2_cap capacitor !25pf
eprom_e 27256
eprom_o 27256
sram_e 43256
sram_o 43256
mem_data_xcv_e 74f245
mem_data_xcv_o 74f245
io_data_xcv_e 74als245 !less load than 74f245
io_data_xcv_o 74als245 !this part can be deleted with current I/O
adr_latch_l 74als373 !if available use 74als573
adr_latch_m 74als373 !if available use 74als573
adr_buf_h 74als244 !if available use 74als541
uart1 ns16450
uart2 ns16450
uart_xtal crystal !1.8433MHz
uart_s_res resister !1.5k
uart_p_res resister !1meg
uart_cap1 capacitor !30pf
uart_cap2 capacitor !60pf
rs232_rcv 1489
rs232_drv 1488
io_decode1 74als133
dma_decode 74als133
io_decode2 74als138
or_1 74als32
invert_1 74als04
3st_buf1 74ls126
memcspal memcspal !PAL16L8
nmipal nmipal !PAL16R8
nmi_sw switch !momentary spdt 1=up 2=common 3=down
sw_header dip_header !14 pin header for mounting discreet parts
uart_header dip_header !16 pin header for mounting uart osc parts
or_2 74ALS32
scsi_ctl NCR5380 !NCR SCSI controller
sc_pullup1 resisters !9x220 ohm resister SIP
sc_pullup2 resisters !9x220 ohm resister SIP
sc_pulldown1 resisters !9x330 ohm resister SIP
sc_pulldown2 resisters !9x330 ohm resister SIP
sc_conn connector !50 pin for ribbon cable
sc_diode diode !safety diode for SCSI termination supply
dma_ctl ns32203
dramc DP8419
dramc_cap1 capacitor !1uf ceramic
dramc_cap2 capacitor !tantilum
dram_delay0 DDU-7-20 !20ns delay line
dram_delay1 DDU-7-20 !20ns delay line use if needed
rfshpal pal16r8 !refresh counter
dramcpal pal16r6 !fast pal, dramc interface
dram_mux 74as157
dram_drv 74as244
dram_term1 resister_pack !8 resisters 50ohm
dram_term2 resister_pack !8 resisters 50ohm
dram_term3 resister_pack !8 resisters 50ohm
dram0 TC51100P-10 !megabit dram
dram1 TC51100P-10
dram2 TC51100P-10
dram3 TC51100P-10
dram4 TC51100P-10
dram5 TC51100P-10
dram6 TC51100P-10
dram7 TC51100P-10
dram8 TC51100P-10
dram9 TC51100P-10
dram10 TC51100P-10
dram11 TC51100P-10
dram12 TC51100P-10
dram13 TC51100P-10
dram14 TC51100P-10
dram15 TC51100P-10
fdc 82072 !Intel
fd_drv1 74ls38
fd_drv2 7406
fd_rcv 74ls14
fd_osc oscillator !24MHz with 2.2K pullup for CMOS levels
fd_conn connector !34 pin ribbon
fd_pullup resister_pack !300-2.2K 15 resister common rail
@EOF

chmod 644 partlist

echo x - dramcpal
cat >dramcpal <<'@EOF'
PAL16R6
BRUCE CULBERTSON 23 APRIL 1988
INTERFACE CONTROL PAL FOR USE WITH 8419 DRAM CONTROLLER. DESIGN SAME AS
NSC DP84412.
FCLK /TSO RFIO /ADS /DDIN /WAITWR CTTL /CS /WAITRD GND
/OE /CWAIT /4DLY /3DLY /2DLY /MODE /RASIN /CYCLED /INCY VCC

RASIN := INCY*/CYCLED*/MODE*/CTTL*DDIN +
INCY*/MODE*2DLY*/WAITWR +
/CS*INCY*/MODE*2DLY +
CS*INCY*/MODE*2DLY*WAITWR*/CTTL +
RASIN*INCY*/MODE*2DLY

CYCLED := /MODE*2DLY*/WAITWR*/DDIN*/CTTL +
/MODE*2DLY*/WAITRD*DDIN*/CTTL +
/MODE*2DLY*/4DLY*WAITRD*DDIN*/CTTL +
/MODE*2DLY*/4DLY*WAITWR*/DDIN*/CTTL +
CYCLED*TSO*/MODE +
CYCLED*/MODE*CTTL

MODE := /RFIO*/INCY*/2DLY*/CTTL +
MODE*/3DLY +
MODE*/4DLY +
MODE*CTTL

2DLY := MODE*/4DLY*/CTTL +
2DLY*CTTL +
INCY*/CYCLED*/MODE*/3DLY*4DLY*/CTTL +
CS*DDIN*WAITRD*INCY*/MODE*2DLY*/3DLY*/4DLY +
CS*/DDIN*WAITWR*INCY*/MODE*2DLY*/3DLY*4DLY

3DLY := 2DLY*/4DLY*/CTTL +
3DLY*CTTL

4DLY := 3DLY*/CTTL +
4DLY*CTTL +
/INCY*/MODE*/CTTL +
INCY*/MODE*/2DLY*/CTTL

IF (VCC) INCY = ADS*/MODE +
CS*TSO*/CYCLED*/MODE*/2DLY*4DLY +
INCY*/CYCLED +
INCY*2DLY

IF (CS) CWAIT = CS*TSO*/CYCLED*/MODE*/2DLY*4DLY +
CS*TSO*MODE +
CS*INCY*/CYCLED*DDIN*WAITRD*/MODE*2DLY*/3DLY*4DLY +
CS*INCY*/CYCLED*/DDIN*WAITWR*/MODE*2DLY*/3DLY*4DLY
@EOF

chmod 644 dramcpal

echo x - memcspal
cat >memcspal <<'@EOF'
PAL16L8 PAL DESIGN SPECIFICATION
BRUCE CULBERTSON 4 OCT 1987
MEMORY CHIP SELECT PAL FOR NS32000 COMPUTER

A15 A16 A17 A18 A19 A20 A21 A22 A23 GND
SWAP /PROM PROMA15 /SRAM /DRAM NC NC NC NC VCC

; PROM CHIP SELECT: 0-7FFF AND 18000-1FFFF
PROM = /A23 * /A22 * /A21 * /A20 * /A19 * /A18 * /A17 * /A16 * /A15 +
/A23 * /A22 * /A21 * /A20 * /A19 * /A18 * /A17 * A16 * A15

; PROM MOST SIGNIFICANT ADDRESS BIT: A15 XOR SWAP
/PROMA15 = SWAP * A15 +
/SWAP * /A15

; SRAM CHIP SELECT: 8000-17FFF
SRAM = /A23 * /A22 * /A21 * /A20 * /A19 * /A18 * /A17 * /A16 * A15 +
/A23 * /A22 * /A21 * /A20 * /A19 * /A18 * /A17 * A16 * /A15

; DRAM CHIP SELECT
; MEGABYTE 0 MINUS EPROM AND SRAM AREA
; MEGABYTE 1-7
DRAM = /A23 * /A22 * /A21 * /A20 * A19 +
/A23 * /A22 * /A21 * /A20 * A18 +
/A23 * /A22 * /A21 * /A20 * A17 +
/A23 * /A22 * /A21 * A20 +
/A23 * A21 +
/A23 * A22

@EOF

chmod 444 memcspal

echo x - nmipal
cat >nmipal <<'@EOF'
PAL16R8
BRUCE CULBERTSON 4 OCT 1987
PAL TO GENERATE ONE CYCLE NMI PULSE WHEN SWITCH IS PRESSED. IS THIS REALLY
NECESSARY? DATA SHEET IS AMBIGUOUS: IS NMI LEVEL OR EDGE SENSITIVE?
CLK /UP /DOWN /TSO NC NC NC NC NC GND
/OE /NMI /DUMMY /DELTSO NC NC NC NC NC VCC

; ON IF SWITCH PRESSED, NOT ALREADY ON, AND DUMMY NOT ON
NMI := DOWN * /NMI * /DUMMY

DUMMY := NMI + ; GOES ON ONE CYCLE AFTER NMI
DUMMY * /UP ; IF ON, STAYS ON UNTIL SWITCH OPEN

; DELTA TSO (DELAYED ONE CLOCK)
DELTSO := TSO
@EOF

chmod 444 nmipal

echo x - rfshpal
cat >rfshpal <<'@EOF'
PAL16R8
BRUCE CULBERTSON 23 APRIL 1988
DOWN COUNTER, COUNTS 0 154 153...1 0 154... ETC. USE MOST SIGNIFICANT BIT
(/Q7) AS REFRESH CLOCK FOR 8419 DRAM CONTROLLER.
CLK NC NC NC NC NC NC NC NC GND
/OE /Q0 /Q1 /Q2 /Q3 /Q4 /Q5 /Q6 /Q7 VCC


Q0 := Q7*/Q0 + ;TURN ON
Q6*/Q0 +
Q5*/Q0 +
Q4*/Q0 +
Q3*/Q0 +
Q2*/Q0 +
Q1*/Q0

Q1 := /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7 + ;INIT
Q7*/Q1*/Q0 + ;TURN ON
Q6*/Q1*/Q0 +
Q5*/Q1*/Q0 +
Q4*/Q1*/Q0 +
Q3*/Q1*/Q0 +
Q2*/Q1*/Q0 +
Q1*Q0 ;STAY ON

Q2 := Q7*/Q2*/Q1*/Q0 + ;TURN ON
Q6*/Q2*/Q1*/Q0 +
Q5*/Q2*/Q1*/Q0 +
Q4*/Q2*/Q1*/Q0 +
Q3*/Q2*/Q1*/Q0 +
Q2*Q1 + ;STAY ON
Q2*Q0

Q3 := /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7 + ;INIT
Q7*/Q3*/Q2*/Q1*/Q0 + ;TURN ON
Q6*/Q3*/Q2*/Q1*/Q0 +
Q5*/Q3*/Q2*/Q1*/Q0 +
Q4*/Q3*/Q2*/Q1*/Q0 +
Q3*Q2 + ;STAY ON
Q3*Q1 +
Q3*Q0

Q4 := /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7 + ;INIT
Q7*/Q4*/Q3*/Q2*/Q1*/Q0 + ;TURN ON
Q6*/Q4*/Q3*/Q2*/Q1*/Q0 +
Q5*/Q4*/Q3*/Q2*/Q1*/Q0 +
Q4*Q3 + ;STAY ON
Q4*Q2 +
Q4*Q1 +
Q4*Q0

Q5 := Q7*/Q5*/Q4*/Q3*/Q2*/Q1*/Q0 + ;TURN ON
Q6*/Q5*/Q4*/Q3*/Q2*/Q1*/Q0 +
Q5*Q4 + ;STAY ON
Q5*Q3 +
Q5*Q2 +
Q5*Q1 +
Q5*Q0

Q6 := Q7*/Q6*/Q5*/Q4*/Q3*/Q2*/Q1*/Q0 + ;TURN ON
Q6*Q5 + ;STAY ON
Q6*Q4 +
Q6*Q3 +
Q6*Q2 +
Q6*Q1 +
Q6*Q0

Q7 := /Q0*/Q1*/Q2*/Q3*/Q4*/Q5*/Q6*/Q7 + ;INIT
Q7*Q6 + ;STAY ON
Q7*Q5 +
Q7*Q4 +
Q7*Q3 +
Q7*Q2 +
Q7*Q1 +
Q7*Q0
@EOF

chmod 644 rfshpal

exit 0

0 new messages