SUPERFLUID Manual

From ReplayResources
Revision as of 00:43, 9 March 2021 by Count Zero (talk | contribs)
Jump to navigationJump to search
Attention please!
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)

SUPERFLUID Startup


 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

SUPERFLUID Basic


 - 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

SUPERFLUID 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

SUPERFLUID 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