SUPERFLUID Manual
Work is still in progress here!
|
SUPERFLUID Manual for the SUPERFLUID Cartridge ROM
STARTUP
Releasing reset while holding:
- <Ctrl>: Go directly to normal BASIC. - <C=>: Go directly to normal BASIC with extensions. (this is the default) - <Run/Stop>: Go to boot menu. - <1>: Go directly to normal BASIC without setting up $de01. (freezer won't work correctly)
M - go directly to the monitor Z - zero fill ram C - configure ram for backup (with zeroes) (shift-C configure for backup with pattern) B - go to normal basic X - go to basic with extensions
BASIC EXTENSION
- Long file load/save/verify
- function keys <F1> - load and run <F2> - load pressing <F1> or <F2> on an empty line does %0:*<cr> or /0:*<cr>. pressing it on a directory listing row loads that line using % or /.
<F3> - disk directory <F4> - change background color <F5> - LIST<cr> <F6> - enter freezer <F7> - RUN:<cr> <F8> - MON<cr>
- ON - enable cartridge load/save - OFF - disable cartridge load/save - KILL - disable cartridge - OLD - MON - MENU - enter boot menu - $ - $<str> show directory with wildcard - @ - / LOAD ,8,1 - % LOAD ,8,1:RUN - ^ LOAD ,8:RUN - & VERIFY ,8,1 - £ SAVE ,8,1
FREEZER
The freezer always directly enters the monitor. In the frozen state the
memory map reflects the state of RAM at the time of freezing. This includes
I/O registers and color RAM. There are some exceptions to this, notably SID
registers.
The I/O registers of the frozen state reflects the register contents as if read by the CPU at freeze time. This is in contrast to the IO command which reflects them as they should be written when restarting.
MONITOR
* = not yet implemented
SCREEN EDITOR
<CRSR UP/DOWN> Auto scroll: Doing crsr up at the top of the screen or crsr down at the bottom of the screen will automatically scroll any memory edit lines present on screen.
<F1> - load file under cursor <F3> - disk directory <F5> <F7>
PARAMETERS
<addr>: SSSS S<spc> SS<spc> SSS<spc> SSSS<spc> SSSSS<spc> SSSSSS<spc> 3:SSSS<spc> set mem $33 8:SSSS<spc> set device #8 mem 9:SSSS<spc> set device #9 mem
<range>: SSSSEEEE
SSSS EEEE normal (exclusive) range SSSS-EEEE normal (exclusive) range
SSSS+EEEE inclusive range 3:SSSS EEEE set mem $33 8:SSSS EEEE set device #8 mem 9:SSSS EEEE set device #9 mem
<dumprange>:
SSSS SSSS to SSSS+1 (= one line) SSSS- SSSS to end of mem bank
SSSSEEEE
SSSS EEEE normal (exclusive) range SSSS-EEEE normal (exclusive) range
SSSS+EEEE inclusive range 3:SSSS EEEE set mem $33 8:SSSS EEEE set device #8 mem 9:SSSS EEEE set device #9 mem
<target>: 0-7 mem conf $3x 8 IEC device #8 mem 9 IEC device #9 mem M RR Cart RAM P RR PROM R REU V C128 VDC W C128 VDC REGS G DEBUG view (raw cart space) [*]
COMMANDS
- = not yet implemented
"@" - Disk drive handling
Usage: @ show disk status @8 set device #8 @9 set device #9 @10 set device #10 [*] @11 set device #11 [*] @$ show directory @$<str> show directory with wildcard @<str> disk command @"<str>" disk command @? determine drive type (forces update of cached type)
"$" - Disk directory
Usage: $ show directory Usage: $<str> show directory with wildcard
"*" - Access control
Usage: *4 set mem $34 *7 set mem $37 *3 set mem $33 * toggle between $34 (RAM) and $37 (ROM) *8 set device #8 mem *9 set device #9 mem *M set AR/RR Cart RAM *P set AR/RR PROM *R set REU *V set C128 VDC *W set C128 VDC REGS *G set DEBUG view (raw cart space) [*]
"£" - Instruction set control
Usage: £ toggle between normal and undocumented opcodes
":", "'" - Editing Memory
:xxxx xx xx xx ... 'xxxx XYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXY
Auto scroll: Doing crsr up at the top of the screen or crsr down at the bottom of the screen will automatically scroll any memory edit lines present on screen.
";" - Editing Registers
Usage: ;XXXX II GG HH KK LLLLLLLL MM
"-" - Editing I/O Registers (only in the frozen state)
-xxxx xx xx xx ...
"," - Assemble
Usage: ,XXXX GG[ HH[ JJ]] MMM OOO
Pressing enter within the hex part will update memory. Pressing enter within the mnemonic part will assemble memory. [*]
"A" - Assemble
Usage: A XXXX MMM OOO
"C" - Compare Memory
Usage: C SSSS EEEE DDDD
--- example --- .C 1000 1100 2000<ret>
. ---------------
"D" - Disassemble
Usage: D XXXX [YYYY]
"F" - Fill Memory
Usage: F SSSS EEEE KK Usage: F SSSS EEEE KK LL MM... Usage: F SSSS EEEE "jksajkasd"...
--- example --- .F 1000 1100 20<ret> .F 0400 07E8 01 02 03 04 05<ret> .F C000+C0FF 2A "TLR" 2A 20 00<ret> . ---------------
"G" - Go
Usage: G [XXXX]
Execute code in RAM or in drive memory. You may exit using a BRK or RTS.
NOTE: BRK will fail on $01 configurations where KERNAL and/or I/O is not visible.
"H" - Hunt
Usage: H SSSS EEEE KK LL MM... Usage: H SSSS EEEE "jksajkasd"...
--- example --- .H 1000 1100 20 34 50<ret> .H E000 0000 20 X1 EX<ret> .H E000+FFFF "B???? "<ret> .H 0400-0500 30&70<ret> . ---------------
"I" - Interpret Memory
Usage: I XXXX [YYYY]
"IO" - Dump I/O registers (only in the frozen state)
Usage: IO
--- example --- .IO<ret> .-0000 2F 37 <-- $00/$01 config .-0080 6F EA 37 FF 00 E9 25 <-- cpu regs
.-D000 00 00 00 00 00 00 00 00 <-- video regs to load on unfreeze .-D008 00 00 00 00 00 00 00 00 .-D010 00 9B 37 00 00 00 C8 00 .-D018 15 71 F0 00 00 00 00 00 .-D020 FE F6 F1 F2 F3 F4 F0 F1 .-D028 F2 F3 F4 F5 F6 F7 FC .-D080 1B 84 71 <-- current $d011/$d012/$d019
.-DC00 7F FF FF 00 25 40 FF FF <-- CIA1 regs to load on unfreeze .-DC08 00 00 00 01 00 81 01 08 .-DC80 34 3F FF FF 00 <-- current Timer A/Timer B counter + intflgs
.-DD00 97 FF 3F 00 FF FF FF FF <-- CIA2 regs to load on unfreeze .-DD08 00 00 00 01 00 00 08 08 .-DD80 FF FF FF FF 00 <-- current Timer A/Timer B counter + intflgs . ---------------
"L" - Load Memory
Usage: L "NAME" L "NAME" DD [SSSS] L TT SS DDDD
"M" - Dump Memory
Usage: M XXXX [YYYY]
--- example --- .M E000<ret> .M E000-<ret> .M FFFA 0000 .M FFF0 0010 ---------------
"R" - Dump Registers
Usage: R
--- example --- .R<ret> PC AC XR YR SP NV-BDIZC 01 .;0A1C 00 18 0D FD 00100010 37 . ---------------
"S" - Save Memory
Usage: S "NAME" DD SSSS EEEE [LLLL] S TT SS DDDD
"T" - Transfer
Usage: T SSSS EEEE DDDD
--- example --- .T 1000 1100 2000<ret> .T100011002000<ret> .T FE 100 C100<ret> .T 8:E000 E100 2000<ret> .T 7:FF00 0100 5000<ret> .T 3:D000 D800 4000<ret> ---------------
"V" - Verify Memory
Usage: V "NAME" V "NAME" DD [SSSS] V TT SS DDDD
"X" - Exit to basic
Usage: X