- Coded in TypeScript(/JavaScript) with some HTML of course
- Portable (got a web browser right?)
- Keyboard driver works best with Firefox
- Works on Mobile and TV too (click on screen for configuration, help)
- F9 to toggle Help
- Recommend use wired or bluetooth keyboard instead of onscreen keyboard
- This is based on my earlier efforts (see previous posts)
I coded this as a learning experience with TypeScript. Go ahead and try it out!
Included features:
✓ 6502 Emulation, machine code
✓ Commodore 64 Text Screen
✓ Commodore Fonts: Uppercase/Graphics, Lowercase/Uppercase
✓ Commodore Colors: Foreground, Background, Border
✓ Commodore BASIC v2 (Microsoft)
✓ 64K RAM
✓ 20K ROM
✓ Attach D64 image
✓ Load directory from D64
✓ Restart with PRG image
✓ JavaScript speedloader to bypass slow C64 disk access
✓ Save/Download PRG
✓ Great wired/wireless keyboard support
✓ Keyboard scan code support - press/release, multiple keys support, separate left/right Shift
✓ Standard to Commodore keyboard symbolic mapping, add/remove Shift
✓ Special key mappings: Stop, Home, Restore, F1-F8, Ctrl, Commodore
✓ Mobile/TV browser keyboard support (but minimal)
✓ Clipboard paste support
✓ IRQ 60 times per second
✓ NMI on Restore key
✓ Works best with Firefox
Missing features or limitations:
✗ 6502 undocumented instructions
✗ Accurate, regulated instruction timing
✗ 6502 emulation battery drain (one thread always running 100%, no idle sleep)
✗ VIC-II register support
✗ Device register support
✗ Programmable timers
✗ Serial Port - User Port
✗ High Resolution 320x200 and 160x200 graphics
✗ Multi-color text mode
✗ Programmable characters
✗ Sprites
✗ Cartridges
✗ Joysticks, Paddles
✗ Printer
✗ Cassette Tape
✗ Save to D64
✗ SEQ, RND, etc. files
✗ LOAD PRG from running program
✗ Positional keyboard mapping
✗ On-screen keyboard
✗ Clipboard copy
✗ A few graphic character key strokes (punctuation keys) may not be mapped yet
✗ Known issues with Google Chrome