diff options
author | alekseiplusplus <alekseijeaves@protonmail.com> | 2023-11-29 16:34:05 +1100 |
---|---|---|
committer | alekseiplusplus <alekseijeaves@protonmail.com> | 2023-11-29 16:34:05 +1100 |
commit | 4f95542079e05c570ef422d07e57e7a5f6229429 (patch) | |
tree | 044fc565a5226db31cc40b58048beaf6e86754a8 | |
parent | 3ae055586fc68a34e1339eaba2bc673b7668b1a2 (diff) |
new README
-rw-r--r-- | README.md | 30 |
1 files changed, 20 insertions, 10 deletions
@@ -1,18 +1,28 @@ # apple-c -This project is an Apple I emulator written in C, written initially to increase my proficiency with C and learn some basic CPU concepts. It has evolved into a program which is intended to be a thorough emulation of the Apple I computer. +Apple-C is an emulator of the original Apple I computer. +The aim of the emulator is to create an accurate experience of the Apple I computer, though not a totally accurate recreation of the computer itself. +I want this program to be educational and interesting for people who like retro computers. -My emulator has a handful of specific milestones to achieve that will demonstrate its functionality: +## Why the Apple I? +To me it represents total freedom in personal computing. Have a look at the manual I have included and you'll find schematics of the computer, the on-board terminal, and even the power supply. You will also find the entire operating system (or system monitor) source code, with very descriptive commenting. +The user is more or less capable of understanding everything happening in the computer. -1. Correctly interpret individual MOS 6502 instructions. -2. Run a system monitor program correctly. -3. Successfully run a BASIC program in Wozniak's BASIC interpreter. -4. Implement illegal instructions, and any other odditis of the 6502 present in the lifecycle of the Apple I. +The Apple I is not very capable of much; Wozniak wrote a version of BASIC for it, but because of the terminal there is no graphical capability. That does not mean it cannot run interesting programs though. -Planned features for the emulator include: -1. Two terminal emulators: one in ncurses, and another made with SDL to look like the original machine. -2. An emulation of the Apple cassette interface, which will be used to read in binary files as if they were on tape. +The best part of the Apple I which I cannot capture with emulation is how much you can tinker with the computer hardware. +## Features +The minimum functionality of the emulator has nearly arrived, which is the CPU functionality, and an ncurses display. -Currently I am at the stage of testing individual CPU instructions before moving out to implementing and testing things which are specific to the Apple I.
\ No newline at end of file +Definitely in the future: +* Implement an SDL based graphical mode. +* Support for illegal instructions; this one is most important to me as many programs use these! +* An emulation of the casette interface hardware, to let the user load in files. +* Include various documentation and programs which a user may like to have. + +Maybe or maybe not in the future: +* A 6502 assembler. +* Toggleable visual effects, probably not by me but borrowed from others. +* Support for the Motorola 6800 microprocessor, which the Apple-I was able to use with some modification.
\ No newline at end of file |