Coder Social home page Coder Social logo

mattislind / dp2200 Goto Github PK

View Code? Open in Web Editor NEW
9.0 4.0 0.0 3.42 MB

Datapoint 2200

License: Apache License 2.0

C++ 98.34% C 1.18% Makefile 0.40% Dockerfile 0.08%
datapoint datapoint-2200 retro-computer retro-computers retro-computing retrocomputing simulator 2200 5500 datapoint-5500

dp2200's Introduction

Datapoint 2200

The purpose of this repo is to describe the effort in restoring a Datapoint 2200 that I received as an IKEA-kit. This will include documenting all the parts of the machine as well as create a simulator for it.

Datapoint 2200 in a kit

I received this Datapoint 2200 (Version II) as a trade with a German collector for a Q1 computersystem. The 2200 was delivered as a kit, but I am pretty sure all parts are present. The goal is to revive this very interesting milestone in computer history. It can be considered as the first personal computer (depending on definition) and is also the beginning of x86 archicture whis still is omnipresent.

There are two versions of the Datapoint 2200. Version I was a serial implementation where the memory was built out of dynamic MOS shiftregisters. The reason for this was that random access memory chips wasn't available yet. The ALU was also implemented in serial fashion handling one bit at a time. This also meant that all regsisters (A,B,C,D,E,H,L) were 8-bit shiftregisters. The serial implementation of course made the CPU very slow. An instruction could take 16 microseconds to execute and this didn't include instruction fetch or memory references. Memory accesses could take up to 520 mircoseconds since the memory essentially was a long loop of bits that has to be shifted to the correct position to be accessed.

Later on Datapoint asked both Intel and Texas to design a MOS chip for the architecture of the Datapoint 2200. Both vendors came up with a chip but at that time Datapoint already decided to go for a parallell variant of the CPU using the now available RAM chips. The version II used 1k Dyanmic RAM chips (Mostek MK 4006) and a 8 bit parallell ALU using two 74181.

Power supply

PSU front

The PSU is the right half in the pricture above and sits in the back of the unit. But the CPU is not selfcontained. The 50 pin connector is connected to a backplane where the control logic for the PSU is located. Since this logic is on the hot side there a live voltages in the backplane. The transistors on the back of the big heatsink the PSU is mounted to also are a line voltage. One has to be careful when working with this PSU...

PSU back

The design of the PSU is quite peculiar and is not looking like any other switch mode PSU I have seen. There is a buck-converter directly off the rectified AC input which steps down from line-voltage to around 60. The control-logic is designed to regulate to this voltage. The 60V DC levels is then converted into 5V and other outputs using a self-resonant push-pull design. There is also a crowbar protecting it so that the 60V DC may never reach above 77V.

PSU front

Control-logic is on a board in the backplane.

PSU front

Simulator

I decided that a simulator would be useful to have when trying to debug and then also perhaps write small programs for this machine. I found a 8008 simulator which looked quite promising and did quite some adaptations for it to to run Datapoint 2200 code. The simulator is very much work in progress and is far from finished. I.e. non-working.

Screen shot

dp2200's People

Contributors

mattislind avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dp2200's Issues

Command line editing.

It should be possible to edit the command line using left/right keys and insert/ remove characters on the line.

Support LEFT, RIGHT, DELETE, INSERT/OVERWRITE new characters.

Question on terminal setup

Hi Matis,

I may have missed it but I found no other means to contact you, not sure if you are following the other forum.,

The current terminal setup is useful mostly, what I would suggest is a simple similar setup. What do you think to run the initial control session where you load tapes etc in a default terminal and spawn 2 more windows for console and debug.

That would allow a bit more flexibility but I also understand the complexity as this would require a serious code change...

Other than that, I see this progresses and you do a fabulous job, in case you want to start at some point with a little documentation I am herewith volunteering to help and add whatever is left from my memory.

Cheers and many thanks for your contribution.
Bernd

Report if an image that is attached has read errors.

IMD files may have read errors resulting from the read of the original floppy disk. The simulation of the floppy disk controller will report these as CRC errors with unpredictable results that follows.

It could be useful if the user is notified about the fact that there are read errors on the disk image.

Command history

It should be possible to retrieve a command history using UP/DOWN keys.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.