THE HACKER'S VIEW OF THE COMMODORE 64

Dec 31, 2021

ICU64 for Frodo Redpill v0.1.8 - Released

Download the new version here.
(also download the latest update 2022.01.08)

New features of Frodo Redpill:
- Multiple independent instances
- Preferences > Redpill > 'Extra Shared RAM' option
- CPU boost
- .hack file format (for data injection and boost control)
- drag'n'drop files: .fpr .hack
- improved REU emulation
- Window/Display management:
  - [F11] toggle window frame
  - [Ctrl+RMB+drag] move window
  - [RMB+drag] move all windows of all instances
  - [Alt+arrows/Home] control screen offset in smaller viewports

New features of ICU64:
- Multiple independent instances
- memory view:
  - view [6] : Changed values
  - view [7]/[Ctrl+F] : Find values (in current map layout)
  - extras [F4] : added REU view (if enabled)
  - Extra Shared RAM @ DE00..DEFF of MMIO (if enabled)
  - selection [LMB+drag] > [Ctrl+C/V] : copy/paste via clipboard
  - status bar [F10] : added current cell coordinates
- code painter:
  - [New]&[Clear] (to reduce close & reopen of this tool)
- instruction logger:
  - [Break New]&[PC only] (to locate easier first time executed code)
- .NET API:
  - peek/poke renamed as Peek/Poke
 

  

Multiple Instances

You can start multiple -independent- instances of ICU64 & Frodo Redpill that are totally isolated. However, to utilize some parallelism, you can optionally enable the 'Extra Shared RAM' (in Frodo > Preferences > Redpill) that provides 256 bytes of extra RAM (at DE00..DEFF in MMIO). This RAM is common among all the Frodo instances that have this option enabled. Be aware that this shared pipeline has max bandwidth only 256 bytes/frame = 12.5KB/s and latency = ±1 frame (I'm working to improve these...). The previous 'unlocked' instances (where the whole RAM and COLORRAM both shared) is still available; just start the emulator holding the [SHIFT] key.

 
CPU Boost

The 'CPU Boost' feature is a clock multiplier (a turbo) for the CPU of the C64. The rest of the chips (VIC,SID,CIAs) operate in the original speed and preserve the real-time features of the system. It is similar to the turbo switch of the SuperCPU for the real hardware, but in Frodo Redpill boost is controlled automatically by a .hack file. For example, say you have a 3D game that calls its -slow- rendering routine with an instruction like:
      1204 JSR 3120
    1207 ...

If you create a .hack file that contains:
    +1204    ; enable boost when 1204 is executed
    -1207    ; disable boost when 1207 is executed

and drop this file inside the emulator, then the routine at 3120 will be executed 63 times faster! I think you get the idea...

Note that every time you apply a .hack file, the boost map of the emulator resets. You can use this to turn off the boost feature without restarting the emulator or editing your .hack file; just keep an empty 'foo.hack' file around and drop it to the emulator anytime you want to turn off boost globally.

The .hack file format

A .hack file is a text file with a simple syntax, that simplifies the application of patches to a running C64 software, and also controls the boost of the C64 CPU. A command in a .hack file starts with a single symbol:
    #    comment
    ;    comment too
    :    poke
    +    boost on
    -    boost off

After a poke or boost command follows a hex address, and in the case of poke it follows an array of hex byte values that can expand in multiple lines. Some examples:

    # this is a comment  ; this is a comment too
    :400 08 05 0c 0c 0f  ; poke some bytes at $0400 $0401 ...
    :2d020 00            ; make border black (MMIO @ 2xxxx)
    +1800                ; turn on boost at $1800 (x63)
    -1860                ; turn off boost at $1860 (x1)


.NET API

To avoid some issues, the peek[]/poke[] functions renamed as Peek[]/Poke[], and the sample code for the Mathematica has updated too.

 
Enjoy!

Mar 12, 2020

ICU64 for VICE 3.x v0.1.3 - Released

A long awaited update of the ICU64 for the VICE 3 emulator is ready for download. While I'm still working for the v0.2, the new features of this release are trying to reduce the gap from the more feature rich ICU64 for Frodo. Among the unique features of this version, the new .icu file format, is more generic and can be used with bigger success with other emulators also. Please, read carefully the new instructions about how to install and run, and thank Sebastian who pushed me for this release. For any bug/issue/question post a comment or send me an email.

Update 2023.07.27: Download support for VICE 3.7 


Known issues

  • symptom: memory view '1' (cpu events) shows no events (all cells are black)
    cause: icu64 failed to connect to the emulator automatically when it started
    fix: press ALT+F5 in icu64 to connect to the emulator manually