Welcome to the official DREAM 6800 Archive Site DREAM system pictured with Adriana Hill at Electronics Australia office (1979)
The "DREAM-6800" was a popular build-it-yourself single-board micro-computer which I designed in 1978. The project was published in Electronics Australia magazine in 1979. The DREAM was a ridiculously simple hobby computer with 2K bytes of memory that played game programs on a TV.
The 1KB EPROM (1024 bytes!) contained a simple interpretive programming language known as "CHIP-8", devised by Joe Weisbecker of RCA Labs. I developed a CHIP-8 interpreter to run on the Motorola 6800 processor. CHIP-8 originally ran on the RCA_COSMAC VIP board.
It was amazing to see what could be done with the available memory and a "chunky graphics" display of just 64 x 32 pixels -- for example, "Dream Invaders", a crude version of Space Invaders, as adrenalin-pumping as the real thing.
Assembled Dream PCB (Photo courtesy "Maggi" - more pics here)
Original E/A magazine articles... Part 1 - May 1979 (PDF ~ 3.7MB) Part 2 - June 1979 (PDF ~ 3.8MB) Part 3 - July 1979 (PDF ~ 3.2MB) Part 4 - Aug. 1979 (PDF ~ 2.3MB) 4KB RAM Expansion Board - E/A Dec. 1980 (PDF ~ 1.2MB) More publications by Michael J Bauer... CHIPOS EPROM and 6800 Assembler code (ZIP ~ 10KB) See "40th Anniversary Revamp" below for more info on the CHIPOS code. CHIPOS Calls Manual (PDF ~ 800kB) 3-page document which summarises "system calls" -- subroutines within the CHIPOS ROM which may be called from user programs (6800 machine code). Dream Invaders (ZIP ~ 4.8MB) Game program & instructions. (The PDF also contains details of RAM expansion and sundry info.) _______Invaders screen-shots courtesy of A.M. (in Poland) who also provided the MP3 code file. Sound Effects Add-on (PDF ~ 2MB) Analogue sound effects synthesizer module. Uses TI SN76477 SFX chip. Hi-Res Display Mod. (PDF ~ 1.2MB) Modification to increase video display resolution to 128 x 64 pixels. The text in the published E/A articles referred to a timing diagram for the video generator circuit. The editor of the magazine chose not to include the timing diagram, but neglected to omit my reference to it in the text. To help (or confuse) those attempting to understand its workings, here is the original timing diagram for the video display controller circuit... Video generator timing diagram (JPG ~ 800kB) ______ 40th Anniversary Revamp by David Fry (ZIP ~ 4MB) -- Posted January 2019
I am delighted to announce that vintage computer enthusiast, David Fry (UK), has completed an elegant re-design of the DREAM using a double-sided PCB (pictured above). It has an on-board switchmode regulator for the +5V supply and a DC/DC converter for negative 5V. Memory has been upgraded to 4KB using two 6116 RAM chips. The EPROM can be a 2716 or 2732 type. Otherwise, David's design remains faithful to the original. The download includes KiCad PCB design files and Gerber files for board fabrication.
Errata & revised build notes (April 2019)CHIPOS 6800 Assembler source code - Restoration by Lucien Gisclong, 2019
The original source code for the CHIPOS ROM was lost, along with the 6800 cross-assembler (written in FORTRAN) used to generate the object code. Nevertheless, I posted a scanned PDF copy of the CHIPOS assembler listing on this webpage for anyone who might be interested. Just recently, I got an email from Lucien Gisclong (France) who has restored the original source file. Lucien built a Dream-6800 using David's 40th anniversary board and got it going. Thanks, Lucien, for sharing your work. The 6800 source code file is included in the CHIPOS download (link above).
___
Explore the DREAM-6800 and its CHIP-8 interpreter, without needing any hardware!
Tobias has created a DREAM-6800 emulator app which runs on a Windows PC.
This app faithfully emulates the CHIP-8 language interpreter, including 4 extra instructions which were omitted from the original publication by Joe Weisbecker ("An Easy Programming System", Byte magazine, December 1978). Not only CHIP-8... The software accurately emulates the M6800 processor instruction set, so that machine-code subroutines, or whole programs, will run.
Origins of the Dream
While tutoring in Computer Science at Deakin University in the '70's, I had a strong interest in micro-processors... of course! In 1976, Motorola released a low-cost 6800 evaluation kit called the "D1 kit" (bare PCB and major IC's -- M6800, M6810 RAM, M6820 PIA, M6850 ACIA, etc). Deakin could not justify the expense of a Motorola "Exorcisor" development rig, so I built up my own 6800 "development system" based on the D1 board and a bunch of wire-wrap edge connectors for a backplane. I made a RAM expansion board for the D1 with 4K bytes.
The D1 kit had no keypad or LED display... that came later with the famous "D2 kit". Initially, I used a "spare" ASR33 Teletype as the user interface for the D1 system. Later, a CRT terminal. In those days, you had to pay exorbitant prices ($1,000's) for a cross-assembler, so I wrote my own in FORTRAN to run on Deakin's DEC 'System 20' mainframe. It was a primitive assembler (no macros), but way better than hand-assembling machine code.
When I got bored with text I/O (and my Teletype got relegated to a MITS Altair 8800 project), I designed and built a video graphics controller for the D1 kit. It had a resolution of 64 x 64 pixels, using 512 bytes of video RAM mapped into the 6800 address space. I submitted the video board design to E/A editor Jamieson Rowe for consideration as a DIY project. Jim poo-poo'd the idea, saying (quite rightly) that it was too complicated and too expensive for the average hobbyist, requiring a CPU board and RAM board in addition.
Prototype #1 based on Motorola 6800 'D1 kit' (1978)
A few months later, I saw an advertisement in Byte magazine for a single-board computer known as the RCA COSMAC "VIP", designed by Joe Weisbecker of RCA Labs who, incidentally, also designed the silicon for the RCA 1802 (CMOS) micro-processor chip on which the VIP board was based. The VIP board had a custom video controller chip producing a 64 x 32 pixel monochrome display, a hex keypad, minimal RAM (1KB, I think) plus an EPROM with a clever interpretive programming language Joe called "CHIP-8", coded using hex numbers instead of the more conventional ASCII text (as in BASIC, Forth, etc).
This inspired the DREAM-6800 which I admit was a blatant rip-off of the VIP concept, except that the Dream video controller circuit was designed around "discrete" 74-series and 4000-series logic IC's to generate a PAL-compatible display format (50Hz vertical refresh rate, vs 60Hz for the VIP). And my audio tape modem circuit design was 100% original and much simpler than both the VIP and Motorola D2 kit tape circuits.
I submitted a much simplified and refined Dream 6800 design to E/A, including CHIP-8 interpreter in EPROM and a bunch of CHIP-8 games (also ripped off from the VIP). This time Jim liked the idea... a DIY project he could spread over several months, without the magazine having to do any development work, with all the text provided on a silver plate! By the way, I did ask permission from Joe Weisbecker to clone his CHIP-8 language and a few games. He was really chuffed that his idea had caught on "down under".
In hindsight, I regret down-grading the video format to 64 x 32 pixels. This was done not only to minimize price and board size, but also for CHIP-8 program compatibility. But with RAM prices dropping fast, I should have made it 128 x 64 pixels (taking 1KB of RAM), at least. The PCB would have been bigger, but still not as big as the Cosmac VIP. Also, the VIP game programs could have been modified to run on a larger screen format, but I was under pressure from E/A to finish the articles for publication. Annoyingly, by the time E/A was ready to publish the first instalment, higher density RAM and (single 5V) EPROM chips were readily available. But a further delay due to a design revision would have been unacceptable.
By the way, I had planned a successor to the Dream-6800... a "Dream-6809" which was to have a much improved display resolution (i.e. 160 x 100 pixels) in colour, with "extended" CHIP-8 language, etc. Regrettably, personal circumstances got in the way and the design was never completed. Probably just as well -- there was a plethora of low-cost hobby computers on the market at the time, most notably the Tandy "CoCo" which was based on the marvellous 6809 micro-processor.
The author at Deakin University, 1979 (Those were the days!) For further information or technical help to build or resurrect a Dream-6800, send email to: |
- Blogger Comment
- Facebook Comment
Suscribirse a:
Enviar comentarios
(
Atom
)
0 comentarios:
Publicar un comentario