{"id":15020605,"url":"https://github.com/jaromaz/dinospi","last_synced_at":"2025-10-26T04:30:34.289Z","repository":{"id":183296316,"uuid":"669897783","full_name":"jaromaz/DinosPi","owner":"jaromaz","description":"Apple-1, Apple ][, Apple ][+, Apple //e, Altair and IMSAI computers emulators for Raspberry Pi","archived":false,"fork":false,"pushed_at":"2023-07-23T20:55:19.000Z","size":1938,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-31T14:21:51.688Z","etag":null,"topics":["altair","altair-8800","apple","apple-1","apple2","applesoft","basic","commodore","cpm","cpm22","emulation","emulator","imsai","imsai-8080","raspberry-pi","raspberry-pi-3","raspberry-pi-4","raspberry-pi-zero","raspberrypi"],"latest_commit_sha":null,"homepage":"https://jm.iq.pl","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaromaz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-23T19:34:44.000Z","updated_at":"2025-01-20T06:12:24.000Z","dependencies_parsed_at":"2024-09-27T10:21:05.742Z","dependency_job_id":null,"html_url":"https://github.com/jaromaz/DinosPi","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"d87fd52881eb0ed4ad4a85ae87a8bf2b99ac9efb"},"previous_names":["jaromaz/dinospi"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaromaz%2FDinosPi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaromaz%2FDinosPi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaromaz%2FDinosPi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaromaz%2FDinosPi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaromaz","download_url":"https://codeload.github.com/jaromaz/DinosPi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238258948,"owners_count":19442505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["altair","altair-8800","apple","apple-1","apple2","applesoft","basic","commodore","cpm","cpm22","emulation","emulator","imsai","imsai-8080","raspberry-pi","raspberry-pi-3","raspberry-pi-4","raspberry-pi-zero","raspberrypi"],"created_at":"2024-09-24T19:55:19.694Z","updated_at":"2025-10-26T04:30:32.941Z","avatar_url":"https://github.com/jaromaz.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DinosPi\n\n## Altair, IMSAI, Apple-1 and Apple \\]\\[ emulators for Raspberry Pi\n\nThis project consists of the following auto-compiling and installing bash scripts for Raspberry Pi: \n\n* Apple-1 computer emulator **[pom1](http://pom1.sourceforge.net)**.\n* Apple \\]\\[ computer emulator **[linapple](https://linapple.sourceforge.net/screenshots.html)** supporting Apple \\]\\[, Apple \\]\\[+ , Apple //e, and enhanced Apple //e computers.\n* CP/M emulator\n* Altair/IMSAI emulator **[z80pack](https://www.autometer.de/unix4fun/z80pack/)** supporting Altair 8800 system with 8080 or Z80 CPU, IMSAI 8080 system with 8080 or Z80 CPU, generic Z80/8080 CPU emulation, emulation of a complete system for running CP/M 1, CP/M 2, CPM 3 and MP/M 2.\n* **[Information](dual-boot/README.md)** how to run *Raspberry Pi OS* in **dual-boot** with **[BMC64](https://accentual.com/bmc64/)**, the fastest *Commodore* emulator for *Raspberry Pi* (bare metal/low latency emulator).\n\nApple-1, Apple \\]\\[ and CP/M emulators can be run in CLI as well as in graphical mode:\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/img/imsai.png\" width=\"70%\"\u003e\u003c/p\u003e\n\nEmulators can be installed on the latest version of Raspberry Pi OS Lite. The Altair-IMSAI part requires the full version of Raspberry Pi OS (but compilation is possible in the Lite version and then you can use CLI CP/M emulator).\n\nThis project runs on Raspberry Pi Zero, Zero W, Zero 2 W, 2, 2B, 3, 3B, 3B+, 4, 400. Combined with a Raspberry Pi zero, 4GB SD Card and Raspberry Pi OS Lite, this is probably the cheapest option for emulating an Apple \\]\\[ computer (is a great tool for learning Applesoft BASIC). However, I strongly recommend the Raspberry Pi Zero 2W as a minimum.\n\n## Installation\n\nThis part of project can be installed on a latest *Raspberry Pi OS Lite/Full (32-bit)*.\n\n*Raspberry Pi OS Lite (32-bit)* for 4GB SD card, can be installed from the *Raspberry Pi Imager* level by selecting: *Raspberry Pi OS (other) -\u003e Raspberry Pi OS Lite (32-bit) -\u003e CHOOSE STORAGE -\u003e WRITE*.\n\n*Raspberry Pi OS (32-bit)* for 8GB SD card, can be installed from the *Raspberry Pi Imager* level by selecting: *Raspberry Pi OS (32-bit) -\u003e CHOOSE STORAGE -\u003e WRITE*.\n\nTo activate the OpenGL drivers you need to run raspi-config from a terminal window.\nEnter the comand: ```sudo raspi-config```\nSelect *Advance Options* -\u003e *GL Driver*\nYou can now choose between\n* Legacy - non-GL driver\n* GL (Fake KMS) Desktop driver\n* GL (Full KMS) Desktop driver\n\nKMS refers to Kernel Mode-Setting, which should make the driver more efficient with better error handling. The Legacy option will revert the Raspberry Pi's back to the standard graphics driver mode. \nSelect *GL (Full KMS) Desktop driver* and then OK, second OK and *Finish and Reboot*.\n\nThen You can clone and compile this repository with retro-computers emulators:\n\n```\ngit clone https://github.com/jaromaz/DinosPi\ncd DinosPi\n./build_all.sh\n```\n\nEach of these sub-projects can be installed separately by running the corresponding compilation \u0026 installation script contained in the directory relevant to the sub-project concerned. \n\nThe process of compiling and installing packages can take a few tens of minutes.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/img/apple12.png\" width=\"70%\"\u003e\u003c/p\u003e\n\n## Start up\n\nAfter installation the following commands run individual machines:\n\n* ```apple1``` - Apple-1 emulator\n* ```apple2``` - Apple ][ emulator\n* ```cpm``` - CP/M emulator\n* ```altair``` - Altair 8800 CP/M emulator (Xorg)\n* ```imsai``` - IMSAI 8080 CP/M emulator (Xorg)\n* ```imsaibasic``` - IMSAI 8080 Basic emulator (Xorg)\n\nAll emulators are pre-configured and have default images attached.\n\n## Options\n\n### Apple-1\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/img/apple1.gif\" width=\"70%\"\u003e\u003c/p\u003e\n\npom1 has many options to configure and utilize the emulator. They are \naccessed by Ctrl+\\\u003cletter\\\u003e. \n\n| Shortcut | Function                                      |\n| -------- | --------------------------------------------- |\n| Ctrl+F   | Switch to fullscreen or window.               |\n| Ctrl+L   | Load memory from a binary or ascii file.      |\n| Ctrl+S   | Save memory to a binary or ascii file.        |\n| Ctrl+Q   | Quit the emulator.                            |\n| Ctrl+R   | Soft reset the emulator.                      |\n| Ctrl+H   | Hard reset the emulator.                      |\n| Ctrl+P   | Set the pixel size (1 or 2).                  |\n| Ctrl+N   | Turn scanlines on or off (pixel size 2 only). |\n| Ctrl+T   | Set the terminal speed (Range: 1 - 120).      |\n| Ctrl+B   | Set the cursor to blink or not.               |\n| Ctrl+C   | Set the cursor to block or @.                 |\n\n### Apple ][\n\nThe window size can be defined in the ```/usr/share/dinospi/linapple/linapple.conf``` configuration file in the ```Screen factor``` variable.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/img/apple2.gif\" width=\"70%\"\u003e\u003c/p\u003e\n\nClicking in the LinApple window will capture the mouse. It may be\nreleased by pressing any function key.\n\n| Key/shortcut   | Function                                                         |\n| -------------- | ---------------------------------------------------------------- |\n| F1             | Show help screen.                                                |\n| F6             | Toggle fullscreen mode.                                          |\n| Ctrl+F2        | Cold reboot, i.e. power off and back on.                         |\n| Ctrl+F10       | Hot Reset (Control+Reset)                                        |\n| F12            | Quit.                                                            |\n| F3             | Load disk image to slot 6 drive 1.                               |\n| Alt+F3         | Load disk image to slot 6 drive 1 from FTP server.               |\n| Shift+F3       | Attach hard disk image to slot 7 drive 1.                        |\n| Alt+Shift+F3   | Attach hard disk image to slot 7 from FTP server.                |\n| Ctrl+F3        | Eject disk image to slot 6 drive 1.                              |\n| Ctrl+Shift+F3  | Eject hard disk image to slot 7 drive 1.                         |\n| F8             | Save screenshot as a bitmap.                                     |\n| F9             | Cycle through video modes.                                       |\n| Pause          | Pause/resume emulation.                                          |\n| Scroll Lock    | Toggle full speed emulation.                                     |\n| Numpad +       | Increase emulation speed.                                        |\n| Numpad -       | Decrease emulation speed.                                        |\n| Numpad *       | Reset emulation speed.                                           |\n\nMany disk images will boot straight into the application. Some disk\nimages only have files and you must find the correct application to\nrun. In this case you will need to execute BASIC commands to list the\nfiles on the disk and run programs.\n\n\n### Altair \u0026 IMSAI\n\nLaunching Altair or IMSAI machines first select ON and then RUN. Running IMSAI, you can switch to 3D model of this computer and open the presentation of peripherals through the site: http://localhost:8080 (1GB RAM required).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaromaz%2Fdinospi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaromaz%2Fdinospi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaromaz%2Fdinospi/lists"}