Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hrvach/oraopy
Orao emulator in Python
https://github.com/hrvach/oraopy
croatia emulator orao pygame python retrocomputing vintage-computers
Last synced: about 2 months ago
JSON representation
Orao emulator in Python
- Host: GitHub
- URL: https://github.com/hrvach/oraopy
- Owner: hrvach
- License: gpl-2.0
- Created: 2015-12-07T16:22:27.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-09-16T16:16:31.000Z (over 3 years ago)
- Last Synced: 2023-02-28T11:47:08.697Z (almost 2 years ago)
- Topics: croatia, emulator, orao, pygame, python, retrocomputing, vintage-computers
- Language: Python
- Homepage:
- Size: 822 KB
- Stars: 3
- Watchers: 4
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
Orao Emulator
============[Orao](https://en.wikipedia.org/wiki/Orao_%28computer%29) is a Croatian 8-bit
computer used primarily in elementary schools, as part of a computer literacy
initiative.This is an attempt of an emulator written in Python 2, licensed under the terms
of the GNU General Public License, version 2 or later (GPLv2+).It implements the 6502 CPU and all peripherals without external dependencies,
and it's meant to be as short as possible (267 SLOC). Sometimes it cuts
corners with readability and it's not PEP-8 compliant, but it wouldn't be
fun to have an emulator 2000 lines of boring, by the book code. Would it? :-)Additional Requirements
------------------------------
1. Pygame
2. Numpy
Instructions
-------------Run with python orao.py, enter BASIC using "BC". When asked about the memory
size, press ENTER unless you don't want BASIC to use the entire available
memory.WAV files containing programs / games should be located in the wav folder.
To save a BASIC program, use SAVE "filename" - a corresponding FILENAME.WAV
will be created. Load it back using LOAD "filename".DMEM "filename", ADDR, LENGTH can also be used to save a fragment of memory,
beginning at address ADDR and of length LENGTH (in decimal). LMEM "filename"
loads it back.
Clicking the POWER button does a warm reboot. You can then go back to BASIC
with BW to keep the memory intact, or re-initialize with BC. The enclosed PDF
describes the monitor mode and commands, but it is in Croatian only (Google
Translate can help).Try LMEM "TETRIS" and run it using LNK4096. You can get double quotes by
pressing shift + 2. Erase by using the left arrow.It *should* be cross-platform.
Known bugs
----------Pygame and Pulseaudio crash occasionally.