Foenijs
From F256 Foenix
Jump to navigationJump to search
Foenijs is a web-based emulator, whose unique purpose is ease of use in demonstrating the platform, as well as being a full-featured emulator.
It is decently complete & workable so far, notably missing sound and some hardware support.
Current Status
CPU
- 65c02 and 65816 fully implemented, cycle-accurate.
- Powerful debugging features (no labels yet, though).
- Turbo mode still emulates the entire machine, stopping to display a frame every 100ms.
mandel.basturbos to 70MHz on an AMD 7940HS mini PC under Firefox.
MMU
- 512kB 1x mode implemented for both CPUs.
- 65816 has access to flat RAM above bank 1.
Video
All standard F256K/Jr video features implemented directly in GPU shaders. Nothing from 2x yet.
- Rendering is per-rasterline, no mid-line changes will show.
- Only I/O changes can change mid-frame, in-RAM redefinitions won't show.
- Vertical scrolling mid-frame and such latches on real hardware aren't implemented; everything is draw independently on the fly and can be more dynamic than the real thing.
Audio
Still need to tackle this. Square waves from PSGs are the only thing implemented right now.
Joysticks
- USB controllers for NES/SNES interface.
- Atari joystick emulated with cursor keys and
ZXCfor 3 buttons.
Keyboards
- PS/2 interface
- K2 internal keyboard
SD Card
Only 1 slot at the moment. The current SD Card is held in IndexedDB browser storage, which will by default persist between sessions.
- Create a blank card
- Download/upload full card image
- Download/upload/delete individual files
- Launch programs directly from directory browser.
TODO & Wishlist
[Any and all mundane or insane ideas welcome.]
K2 optical keyboard, maybe C64 keyboard
PS/2 Mouse support (mouse pointer works already)
6809
680x0
Core2x video stuff
Core2x memory mapping