When I said I had computer hardware to play with I was not kidding. I also have docs for most if not all.
Collection of operational hardware:
PDP-8 based machines:
PDP-8f 20kw core (8K and 16K boards).
2 Decmate-IIIs OS/278 and WPS
Intersil sampler (6100 chipset)
PDP-11 based machines:
1 LSI-11/03 rx02 controller, no drives.
2 PDP11/23 BA11S boxes, various hardware configs
1 MicroPDP11 BA23 11/23B, RQDX3, RX50 RD52..
1 PDP11/73 RACK SYSTEM (RX02, RD52, RX33, RL02).
BA11VA with 11/23 +tu58
Software Rt-11, XXDP-11, and unix V6
VAX based machines:
Microvax-II (ba23 based)
Microvax-II/GPX (Ba123 based, SCSI disks)
3 Microvax2000 all with RD53 or 54 drives, one with ultrix
3 Microvax3100/VAXserver (not M10e)
software VMSv5.4-4,V5.54, V7.2, Ultrix 4.2, Pathworks...
CP/M OS oriented machines:
Altair8800(pre-A) Built Jan 1975, SN200!
Altair 8800B-T complete, factory built with Tarbel Disk add on 1978
2 Northstar Horizon, CP/M, NS*dos, hard disk (one I built in '77)
Compupro full boat with 8085/8088 card and MPX-1 (CCPM)
Netronics Explorer 8085 w/VDM1
CP/M SBC/bounded systems:
AmproLB+ CMOS modded and running with 45mb 3.5" SCSI
SB180 with SCSI adaptor, adptec scsi bridge and 20mb CPM2.2
3 Visual technolgies 1050, CPM-3 two with outboard 10mb SCSI disk
Kaypro 4/84 w/handyman, ramdisk, and Advent turborom+personality card
Kaypro II complete
2 Vt180 complete
2 Vt180 CP/M board built up as standalone one modded for 6mhz
1 Vt185 That's a Vt125 + Vt180.
3 Epson PX-8 one with 120k ram wedge and 300bd modem wedge
and one 3.5"disk unit.
Other buses (not s100):
NS* Advantage (hard disk)
2 Hurkon Z80 Multibus system CP/M2.2
MISC Single board computers and systems:
Motorola 6800D1 SBC with TBX
National SC/MP board
National Nibble basic [sc/mpII] SBC
NEC TK80A 8080a SBC with protocard
BCC180 Z180 controller
5 8085 SBC 4krom, 2kram, 3 8251 serial (modified DEC Vt100 printer buffer)
Cosmac ELF orgional (built back in '77)
Cosmac ELF QUEST V2.1 board (built back in '78)
COSMAC ELF (TMSI TM100) expanded elf
EELF (Spare Time Gizmos Embedded elf,diskio, gpio, video)
ELF2000 board and prom set.
DEC ADVICE, VAX chipset on a board for in circuit emulation.
IMSAI IMP48 (8035 based SBC with interface IO) [rare]
Prompt-48 804x development tool/system
NEC EVAkit-48 8048/9 development system/board
NEC TK-80 8080 board
3 TI99A (one with disks and SW)and games for them
Technico superstarter system with assembler roms (TI9900)
Tandy M100 portable
Commodore 128, I keep forgetting that one..
3 VT320 Terminal White, Amber, and Green screen versions!
VT340 Color Terminal
2 VK170 A VT52 on a dual width card
PC stuff of interest, generally I dont bother but these are interesting.
Intel Inboard386(upgrades an XT to 386/16 with 1.2mb ram)
Trackstar 128 (dual 6502 for ISA PC improvement)
AST sixpack pro
Tandy 1000HX (V20 CPU) unique as its keyboard and cpu in one box.
Dell 486DX/66 pizza boxes Handy for those times ISA bus is required.
Saturday, January 23, 2016
I have a lot of old systems. By that I mean not a PC as we now know them or anything
running X86 and wide ranging.
Every so often I pull out one of my Elves and play. The smaller ones are a drag
on old hands that have grown to hate toggle switches. I have very elaborate ones
like my Embedded ELF2K that run the sophisticated ELFOS from a CF disk.
But for playing that's a handful. So an intermediate ELF is in the works.
An intermediate elf is a basic ELF as published in Poptronics (Popular Electronics)
in 1976 with extensions. The ELF was a 256bytes or ram with toggle switches
minimal machine with a two digit LED display. A very minimal machine 13 ICs in
all one one above the SSI (small scale integration level) and that being the 1802
Cosmac cpu. very basic but enough to teach programming and a few fun software
games. The CPU was easy to interface to and tended to invite people to extend
into the larger realm. Those that have played with the 1802 know this.
This design is an extended ELF. Keep the switches, IO and display and add
address display (16bit) and latch the upper 16 bits. With 64K of address space
the divide is lower 32K is a 61256 ram (32K) and the upper will have UT4 monitor
rom as I have one at 8000H (upper 32K) and ram 6116 at F800H because its
handy to have some ram for a scratch pad.. At address E000 to EFFFh we
can put a few 2816 EEPROMS for storing the developed OS. Terminal
(serial) IO will use Q and EF 1.
FYI the standard ELF (PE and QUEST) the N2 line is used for the data out
to the two hex displays (n=4 or higher) and switches in. This is important
as it reserves some IO. The alternate is to fully decode the IO. its only one chip.
To address a large parallel flash (1MB) I need 20 bits for address and data
in and data out. The use of IO lines N0 and N1 will address the IO. This is built
as both lines will decode as 2 ports where N0=1 and N1=0 is input or output
of data and N (in or 69 and out 61) and port N0=0 and N1=1 is a address out
(62 instruction) and to get the needed address byte I output 3 bytes
and the hard wave stores then in sequential order. The hardware are 6
4 bit binary upcounters (74C161). That provides up to 24 bits or address
(enough for a 16MB flash ram). The counters count up after every read or
write to data port (61 or 69) so that every read or write done points to the
the byte to be read or written. The devices for the address are wired
as a 3 byte shift register where three writes to the port 2 are sequenced into the
counter and two latches. Typical output would be 3 bytes of 12H, 34H, 00.
The result is the high latch has 12H, the mid latch has 34H and the two 4bit
counters have 00. Very simple. Simpler than CF or SD though maybe later.
Right now I'm playing with an idea for a simple OS that uses a large (1M to 4MB)
parallel flash memory as storage but far less elaborate that Mikes ELFOS. The
idea is a simple "bag and tag" with Load, Store, Jump. Create, Delete, List, and
terminal IO. the idea is minimum space for system code and using IO to address
the flash memory.
FYI: "bag and tag" for those not familiar with old and crude OSs like NorthStar
DOS is something like this.
A storage BLOCK is a convenient binary chunk like 256 bytes.
A storage device has BLOCKs logically numbered 0 though NNNN.
For this its assumed any physical device large enough to store
the desired files. For example a 1MB flash ram would store 4096
256byte BLOCKs of data and we would logically address them as
0 to 4095.
Each file directory entry uses 16 bytes (binary round number).
So with this there are 16 possible entries for a BLOCK. IF we want to
store more than 16 files (space permitting) then we can assign several
blocks as a directory.
filename, storage_starting_block, size_of_file, IN_RAM_address, Spare, Type_of_File,
File name is 8 bytes Example FILENAME
storage_starting_block two bytes that are the starting BLOCK in storage
Size_of_File number of BLOCKs needed to hold the entire file.
IN_RAM_address An optional address of where the OS should put the file in ram.
SPARE might contain read only flag or other uses.
Type_of_File Type of file, binary executable, BASIC, other?
Example FRED 1234 0005 0000 0 0
An file called FRED, stored at logical block 1234, 5 blocks long (1280bytes),
loads at location 0000, and is a binary executable. Not super readable for humans
Takes very little code to find the file in the storage, copy to ram and execute it.
though back in the day the device rather than a flash ram something like a floppy
would take a bit of code to make the BLOCK address into track and sector and
of course hardware to do it. Its enough to store a file, recover it, execute it
and if desired delete it. With the right tools (programs) stored program generation
is easy. Programs that might fit the use would include BASIC language, Assembler,
editor, file transfer via serial line from a larger host system. Enough to be useful.
One of the things this system will do is not store the operating system on
the media. No reason to and we will have enough EEPROM space
for storing it. It simplifies the mass storage media as we don't need to reserve
space for the "system".
Why do this? Every day I use a Linux box with a level of sophistication that
boggles the mind and Gigabytes of software. Its fun to build a system both
hardware and software that one can wrap a mind entirely around with full
understanding. That and it keeps one rooted.