mirror of
https://github.com/sethm/symon.git
synced 2025-01-20 22:32:53 +00:00
2ebdd254b3
This is something of a "Work in Progress" checkpoint of several features that are all half baked: 1. Allow loading of 16KB ROM files at address $C000 at run-time, not just at startup. See the "Load ROM..." File menu item. 2. Introduces the notion of "CPU Behaviors", so the core 6502 CPU implementation can match the behavior of either an early NMOS 6502, late NMOS 6502, or CMOS 65C02. Very little of this is actually implemented so far. 3. Adds a completely bogus implementation of the 6522 VIA (it does absolutely nothing right now). 4. Changes the address of the ACIA in the simulated system to match a real hardware implementation I put together.
Sample Programs ---------------- 1. hello.prg When loaded at address $0300, this program will print "Hello, 6502 World!" in infinite loop. 2. echo.prg When loaded at address $0300, this program will echo back to the console anything typed. Both hello.prg and echo.prg were assembled with the Ophis assembler: https://hkn.eecs.berkeley.edu/~mcmartin/ophis/ 3. ehbasic.rom This is Lee Davison's Enhanced 6502 BASIC. To use this ROM image, just copy the file 'ehbasic.rom' into the directory where you run Symon. Rename the file to 'rom.bin'. When you start Symon, the ROM file will be automatically loaded at address $d000. Click the "Run" button and EhBASIC should automatically start running. Type 'C' to do a cold start. Then, type $C000 when prompted for the memory size. NOTE: EhBASIC only wants upper-case input. This confused me at first! More information can be found in the 'ehbasic' directory, and by visiting the EhBASIC web page: http://mycorner.no-ip.org/6502/ehbasic/index.html