diff --git a/README.md b/README.md index d87706c..35abc27 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,54 @@ -DRÖM -==== +Daterad Rekreationell Övnings-Mikrodator +======================================== -DRÖM ("DREAM" in Swedish) is an emulator for the DREAM 6800 home computer, powered by [LÖVE](https://love2d.org). It's a work in progress. +DRÖM ("DREAM" in Swedish) is an emulator for the CHIP-8-based DREAM 6800 home computer, powered by [LÖVE](https://love2d.org) and [Moon6800](https://github.com/tobiasvl/moon6800). + +Features +-------- + +* Faithful emulation of the DREAM +* 4K of RAM +* Can quickload and play CHIP-8 games +* Includes software: + * Michael J. Bauer's original CHIPOS monitor program + * Michael J. Bauer's DREAM INVADERS game +* A comprehensive debug interface, powered by [love-imgui](https://github.com/slages/love-imgui) +* CRT shaders! + +A very special thanks to Michael J. Bauer who permitted me to include the original software. + +Memory map +---------- + +| Address range | Contents | +|----------------|----------------| +| `0000` - `03FF`| RAM | +| `8010` - `8011`| PIA A (keypad) | +| `8012` - `8013`| PIA B (speaker & cassette) | +| `C000` - `C3FF`| EPROM | +| `C400` - `FFFF`| Mirrored EPROM | + +CHIPOS +------ + +When CHIPOS starts up, it will display an address at the bottom of the screen. + +First, type a 4-digit hexadecimal number to enter a memory address. + +Then execute one of the following commands: + +* FN, 0: MEMOD (MEMory MODify): The contents of the address will be displayed as a 2-digit hexadecimal number. Type a new 2-digit number to replace the memory contents. The memory address will automatically advance by one. You can also press FN to advance one byte without modifying anyting. +* FN, 3: Run: Executes a program starting at the current address. To run a CHIP-8 program (which is loaded at address `0200`), run the CHIP-8 interpreter at `C000`. + +Loading (FN, 1) and dumping (FN, 2) cassettes isn't supported yet, but instead you can use the "File" menu to quickload CHIP-8 games or DREAM INVADERS. + +At any time, press RESET to return to the monitor program. History ------- -The DREAM 6800 (Domestic Recreational Educational and Adaptive Microcomputer) was a Motorola 6800-based microcomputer created by Michael J. Bauer. Its construction was detailed in _Electronics Australia_ in 1979, and it included a monitor program called CHIPOS (Compact Hexadecimal Interpretive Programming and Operating System). It had its own newsletter, [DREAMER](https://archive.org/search.php?query=creator%3A%22N.S.W.+6800+Users+Group%22), published between 1980 and 1982. You can read more about the DREAM's history on Michael's official [DREAM 6800 Archive Site](http://www.mjbauer.biz/DREAM6800.htm). - -Requirements ------------- +The DREAM 6800 (Domestic Recreational Educational and Adaptive Microcomputer) was a Motorola 6800-based microcomputer created by Michael J. Bauer. Its construction was detailed in _Electronics Australia_ in 1979, and it included a monitor program called CHIPOS (Compact Hexadecimal Interpretive Programming and Operating System) and a CHIP-8 interpreter. -When it's done, I will release executables. Until then, running it requires the following: +It had its own newsletter, [DREAMER](https://archive.org/search.php?query=creator%3A%22N.S.W.+6800+Users+Group%22), published between 1980 and 1982. -* [LÖVE](https://love2d.org) (developed with version 11.3, but probably runs on older versions) -* [love-imgui](https://github.com/slages/love-imgui) +You can read more about the DREAM's history on Michael's official [DREAM 6800 Archive Site](http://www.mjbauer.biz/DREAM6800.htm).