Search   
Home  Print View  

 

F.A.Q.

Branch Content

Peripherals

What kind of storage are you thinking of?

I'm very attached to the idea of using magnetic tapes instead of disks. Why? Historical reasons: (1) Tapes was around for decades before disks were invented and they last long before disks got to settle as dominant technology for storage, and (2) because tapes present interesting limitations that I definitely want to deal with.

You can not insert records in the middle of a tape nor you can replace existing records in place. Instead, you need to read data from a source tape, perform the required processing in memory, then copy the result to a second tape. As your memory is limited, you can not simply copy the whole file into memory so you need to process your data in sequence, one block at a time.

Since tapes are sequential in nature, data structures such as queues and stacks are natural to them and sequential algorithms such as Merge Sort are essential, which is interesting to try out.

Specially challenge is to implement a Time-Sharing system based solely on tapes. I don't think is even possible, but it is definitely interesting to think about those kind of complex applications within the tremendous limitations that tapes portrait.

What kind of tape?

Obviously, not those 9-tracks systems used in the pass. I have plans for using open reel 1/4 inch audio tapes, audio cassettes and even VHS video tapes. Those are projects on their own and they will be tackle at a later time. But the idea that I have at this early stage is to record bi-phase signals for audio tapes and NTSC black and white video signals for VHS. Some sort of error correction method such as CRC will be needed as well as PLLs for locking to the imprecise speed of the transport... that will be tremendously interesting, I guess.

Have you considered RAM DISK?

It makes no sense is you consider the historical context of this project. If memory were so abundant that I could build a "solid state disk" out of it, why not to employ as many chips for increasing the main memory instead?

RAM DISK appeared actually in the 80s, the microcomputers era. Heritage/1 belongs to the 60s and 70s, when 32 KB of core were a luxury for a minicomputer of its kind. Storage, however, ran in the order of tens of megabytes at that time in history; actually storage were unlimited since it consisted of mountable media such as tape. Moreover disk were also mountable at that time.

Memory, on the contrary, is always a scarce resource, and it was very scarce in the era that Heritage/1 tries to represent. In modern times, RAM DISK is perfectly possible, but that would defeat the main idea of this project in particular.

What about Terminals?

The obvious idea is to use a PC running a terminal emulation software such as Kermit or Hyper Terminal, connected via RS232. I surely will try that.

Another idea is to adapt a modern type-writer to become a "teletype" attached to Heritage/1 via RS232. Teletypes are similar to tapes in the sense that they are part of the folklore of computers as they was used since the beginning to quite recently that "glass teletypes" were available.

Does your no-LSI policy apply for peripherals?

Not exactly. I have no option but to employ modern equipment for peripherals and they already use microprocessors internally. But this is not too inconsistent with history since some peripherals in the 70s did make use of 8-bits microprocessors.

I will ensure that my CPU will NOT use any kind of LSI chip other than RAM. I will try to extent this policy for peripherals but only within the margins of sanity.

Will all your peripherals connect via RS232?

No. Actually, RS232 ports are peripherals by their own and they are in dedicated rack-mount units separate from the CPU cabinet.

Peripheral connect to the CPU via the external bus (that I called "U-BUS"); as seen from the outside this bus consists of two ribbon cables ended with DB-SUB connectors. Memory, for example, is considered a peripheral since it resides in a dedicated unit connected to the CPU via U-BUS, as everybody else.

Tape controllers will be constructed the same way. They contain dual-port buffers (say for instance 1 KB) occupying a portion of the addressable space (memory mapped) and they interrupt the CPU throughout the U-BUS.

What other peripherals you have in mind?

Many. But each peripheral is a project per se so they will be tackled later when the CPU is full functional.

I've considered, for instance, a Real-Time Timer (RTT) which is a unit with 7-segments displays similar to an Alarm Clock: you set the current date and time by pressing buttons on the front panel!

Also a "GANG UNIT": a rack mount cabinet for conveniently placing single-card peripherals such as GPIOs (General Purpose Inputs/Outputs consisting in relay closures). Others will surely come, such as A/D, D/A converters and "line-printer" controllers.

The architecture is open to any sort of extension by simply adding new units to the U-BUS. The only problem is the enormous amount of time and effort involved in each of those creatures...

Homebuilt CPUs WebRing

JavaScript by Qirien Dhaela

Join the ring?

David Brooks, the designer of the Simplex-III homebrew computer, has founded the Homebuilt CPUs Web Ring. To join, drop David a line, mentioning your page's URL. He will then add it to the list.
You will need to copy this code fragment into your page.

Project start date: May 13 of 2009