SUPERFLUID: Difference between revisions
Count Zero (talk | contribs) No edit summary |
Count Zero (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
'''SUPERFLUID''' | '''SUPERFLUID''' | ||
[[File:Retro_Replay_LED.jpg|alt=SUPERFLUID Startup|thumb|right]] | [[File:Retro_Replay_LED.jpg|alt=SUPERFLUID Startup|thumb|right]] | ||
Written by Daniel Kahlin <daniel(AT)kahlin.net> | Written by Daniel Kahlin <daniel(AT)kahlin.net> - ''Thanks to him for allowing us to put all his stuff up here!'' | ||
'''SUPERFLUID''' is a basic extension, freezer and machine language monitor for the C64 or C128 with a Retro Replay (or compatible) cartridge. | '''SUPERFLUID''' is a basic extension, freezer and machine language monitor for the C64 or C128 with a Retro Replay (or compatible) cartridge. | ||
Line 44: | Line 44: | ||
*** NOTE: Freezing is unstable on the original Retro Replay and some of the compatible clones! Try to use the two other variants if possible. | *** NOTE: Freezing is unstable on the original Retro Replay and some of the compatible clones! Try to use the two other variants if possible. | ||
== Binaries == | |||
As usual we package everything into one _all_ archive but here we of course also offer the original release files as well: | |||
* [[:File:SUPERFLUID_all_0.1_0.7.rar|SUPERFLUID 0.1 to 0.7]] | |||
* [[:File:Superfluid-0.7.zip|SUPERFLUID 0.7]] | |||
* [[:File:Superfluid-0.7.zip|SUPERFLUID 0.6]] | |||
* [[:File:Superfluid-0.7.zip|SUPERFLUID 0.5]] | |||
* [[:File:Superfluid-0.7.zip|SUPERFLUID 0.4]] | |||
* [[:File:Superfluid-0.7.zip|SUPERFLUID 0.3]] | |||
* [[:File:Superfluid-0.7.zip|SUPERFLUID 0.2]] | |||
* [[:File:Superfluid-0.7.zip|SUPERFLUID 0.1]] | |||
Line 50: | Line 63: | ||
* kernal tape support in the monitor loads straight to ram without considering the current access mode. | * kernal tape support in the monitor loads straight to ram without considering the current access mode. | ||
* restore from freeze lacks some functionality with regards to CIAs. | * restore from freeze lacks some functionality with regards to CIAs. | ||
Revision as of 14:49, 9 March 2021
SUPERFLUID
Written by Daniel Kahlin <daniel(AT)kahlin.net> - Thanks to him for allowing us to put all his stuff up here!
SUPERFLUID is a basic extension, freezer and machine language monitor for the C64 or C128 with a Retro Replay (or compatible) cartridge.
It was written from scratch taking ideas from various sources. The general handling is inspired by Datel's Action Replay series. The monitor is inspired by HESMON/CCS MON, but tries to generalize address and range handling. It also tries to improve on what is visible (and how) in the frozen state. Some of the ideas on monitor address parsing were inspired by Graham's The Final Replay.
COMPATIBILITY
- c64 or c128
- Retro Replay/Nordic Replay
- 1541 Ultimate-II/II+
- Easyflash 3
- Turbo Chameleon 64
- Ultimate-64
Manual
SUPERFLUID Manual should have the latest documentation as provided with the most recent release.
Files
Latest SUPERFLUID versions come with these supplied files:
- Extra_Replay.txt
- Technical document detailing the various mappings of the Retro Replay vs. the Nordic Replay cartridge.
- retro_replay/
- Version for Retro Replay or compatible. Traditional freezer implementation that corrupts a moderate amount of stack. This variant will work with both original Retro Replay/Nordic Replay cartridges and compatible clones.
- nordic_replay/
- Version for Nordic Replay or compatible. This variant corrupts much less stack when freezing.
- NOTE1: only works with Nordic Replay or compatible!
- NOTE2: the CRT-format has no way of specifying Nordic Replay so this must be manually selected in the cartridge clone or emulator used!
- Version for Nordic Replay or compatible. This variant corrupts much less stack when freezing.
- experimental/
- Experimental version for Retro Replay clones not sensitive to button contact bounce, e.g Easyflash 3. This variant is equivalent to the NR version with respect to stack corruption during freeze.
- NOTE: Freezing is unstable on the original Retro Replay and some of the compatible clones! Try to use the two other variants if possible.
- Experimental version for Retro Replay clones not sensitive to button contact bounce, e.g Easyflash 3. This variant is equivalent to the NR version with respect to stack corruption during freeze.
Binaries
As usual we package everything into one _all_ archive but here we of course also offer the original release files as well:
- SUPERFLUID 0.1 to 0.7
- SUPERFLUID 0.7
- SUPERFLUID 0.6
- SUPERFLUID 0.5
- SUPERFLUID 0.4
- SUPERFLUID 0.3
- SUPERFLUID 0.2
- SUPERFLUID 0.1
KNOWN ISSUES
- kernal tape support in the monitor loads straight to ram without considering the current access mode.
- restore from freeze lacks some functionality with regards to CIAs.
HISTORY
- SUPERFLUID V0.7 (2019-04-10) tlr
- entering monitor from the boot menu shows the "frozen" ram when reset was pressed. This has the advantage of corrupting only the top two bytes of stack and it can always be used even if the freeze button does not work for some reason. - added "MENU" command to enter boot menu from basic - "Z" zero fill now clears the full $0000-$FFFF - added freeze backups! Prepare with "C" from the boot menu. - added monitor command "XB" to do a freeze backup. - added monitor command "XX" to exit through the freeze backup routine (for debugging) - [BUG] F-keys wasn't behaving in a sane way in quote-mode, fixed!
- SUPERFLUID V0.6 (2018-02-10) tlr
- Includes variants for Retro Replay, Nordic Replay and RR clones tolerating aggressive freeze acks. - Added document describing the different mapping of the Retro Replay and Nordic Replay cartridges. - General portability and stability improvements. Special thanks to Mr Ammo, AlexC, HTH and Groepaz for testing on various Retro Replay and Nordic Replay originals and clones! - Switched to a more Nordic Power friendly RAM mode in the banking code. - slightly less aggressive $01 sampling during freeze (leave tape sense unsampled for now) - $00 and $01 in the frozen memory map now better reflects what the cpu was seeing - freezing while frozen now just enters the monitor again - [BUG] freezing now samples CIA2 interrupt enables correctly - [BUG] freezing now samples CIA Timer B interrupt enables correctly
- SUPERFLUID V0.5 (2018-01-04) tlr
- improved unfreeze code that handles $00/$01 configurations without I/O visible - freezing/unfreezing now works even when running inside cart code. - monitor "IO" and "R" now always reflect the same values - freezing correctly samples $01 output bits that where configured as inputs in $00 - improved setup of timer counter values when unfreezing - go "G" now allows an RTS to return back to the monitor - [BUG] fixed a major freezing lock up problem on 1541u2. a big thanks to insane for testing on his setup! - [BUG] fixed go "G" when the target is an IEC-device
- SUPERFLUID V0.4 (2017-12-18) tlr
- completely rewrote the monitor accessor system to use chunked accesses. massive speed increase for all operations! (e.g, try monitor commands against disk "*8") - [BUG] fixed nasty bug that hangs after saving with fastsave in the monitor! (file was saved ok though)
- SUPERFLUID V0.3 (2017-11-14) tlr
- 1541 fastload (open screen, ~5.3x, PAL/NTSC/PAL-N) - 1541 fastsave (open screen, verify, ~5.3x, PAL/NTSC/PAL-N) (verify done using GCR level bit interleaved parity in a single revolution) - added special save in basic extension ("£") - added special verify in basic extension ("&") - add assembly and disassembly of undocumented opcodes (select with "£") - implemented tape support in the monitor. specifying load address overrides, even for type 3. specifying save address overrides load address on saved file - pressing '1' during reset exits directly to basic without setting up $de01 (useful for debugging) - [BUG] $b2/$b3 was incorrecly setup, breaking tape loading in basic - [BUG] LOAD ERROR wasn't reported correctly in the monitor
- SUPERFLUID V0.2 (2017-02-05) tlr
- includes variants: direct to expanded basic, direct to menu and direct to normal basic - added machine type detection to startup - added wait for key release in boot menu to avoid spurious chars - freezer now guards against unsafe freezing near $d012 wrapping points - freezer now handles any raster line value set in $d011/$d012 including non-existing lines - mem dump of I/O regs in the frozen state shows contents of regs at freeze time. (IO command shows what to load on unfreeze) - RUN/STOP now works in monitor compare "C" and hunt "H" commands - added various wild cards for monitor hunt "H": "?" in strings, "<val>&<mask>" and "X" as wildcard nybbles in hex values - numbers and strings can be intermixed in monitor hunt "H" and fill "F" - monitor fill "F" allows sequences of numbers and/or strings just like hunt "H" - [BUG] corrected problem with zero fill in the boot menu - [BUG] restore default configuration of CIA2 timer A after startup detection code
- SUPERFLUID V0.1 (2016-05-30) tlr
- initial release
Weblinks
- SUPERFLUID 0.7 @ CSDb
- SUPERFLUID 0.6 @ CSDb
- SUPERFLUID 0.5 @ CSDb
- SUPERFLUID 0.4 @ CSDb
- SUPERFLUID 0.3 @ CSDb
- SUPERFLUID 0.2 @ CSDb
- SUPERFLUID 0.1 @ CSDb