|| This article is very short and not very detailed. Please help to improve it.
|| Alessandro Abbruzzetti
|| D64, T64, CRT, X64, G64, CRT, etc.
|| Latest Version: ver 1.2.6 (May 2016)
Kernal64 is a Scala/Java Commodore 64 emulator: see https://github.com/abbruzze/kernal64
- Cycle based: exact cycle emulation using the PAL frequency
- VIC emulation based on the Christian Bauer's article: "The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64". I know that it's incomplete (and in some cases buggy). I tried to close some issues by myself. Some others,Sprite Crunch for instance, are still open.
- 6510 CPU full emulation (with illegal opcodes too). The user can choose between a cycle exact cpu and a faster cpu not cycle exact.
- CIA1, CIA2 chips emulation: almost full.
- IEC Serial Bus
- Keyboard: for key mapping I'll provide documentation
- SID chip: for this chip I used the RSID Java library by Ken Händel
- Joystick emulation for port 1 and 2: the joystick can be emulated via keypad or via an USB real joystick (thanks to jinput library)
- Commodore 1351 mouse emulation
- Light pen emulation
- Datassette: full emulation using TAP file (read/write)
- 1541 Drive: exact cycle emulation (read/write) using 6502 CPU (1Mhz). Supports D64 and G64. In the Settings menù it's possible to turn off the full drive emulation and turn on the faster one. Only the G64 format can be formatted by Dos, while for the D64, the emulator intercepts the format routine call and bypasses it, using a pre-formatted empty disk.
- Local drive emulation on device 10: choose a local directory and let it your drive 10.
- Dropbox drive emulation on device 10: connect your Dropbox account to Kernal64 and let access it using device 10!
- Cartridges emulation (some CRT types are not emulated). Supports CRT format.
- MPS803 printer emulation. Preview panel updated while printing.
- Fast program loading of PRG/T64 local file or D64's file entry.
- Debug panel for main CPU and for 1541's cpu (break point, step by step execution, disassembler, assembler, etc.)
- Component panel: shows all internal components while running
- REU support (128, 256, 512, 16 MBytes)
- JiffyDOS, Speed DOS, Dolphin DOS 2 support.
- RS-232 SwiftLink cartridge implementation. Tried with NovaTerm 9.6 and other terminal software.
- ↑ From Kernal64 website