P2-ROM: Booter, Serial, Flash, SD card, Monitor and TAQOZ features and operation

124»

Comments

  • evanhevanh Posts: 5,431
    edited June 3 Vote Up0Vote Down
    jmg wrote: »
    Can you summarize the rules around long files names and formatting steps ?
    They aren't as bad as I was thinking there for a while, but best not to use them at all. They aren't recognised by the boot process and because they take up three filename entries each when deleting they leave a lot of odd gaps when mixed with 8.3 naming.

    jmg wrote: »
    Does this mean the FPGA loading side is not 100% reliable, but gets more reliable with a longer power-off ?
    Probably. I'm leaving this one in the don't do it bin.

    Thanks Tubular, for the push button reset help. It works. I remember that used to be an input that could be read so I gather Chip changed the FPGA function for it.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Here's the updated monitor register definitions used for SD functions.
    ''============[ COG VARIABLES - SD BOOT]========================================
                    org     $1C0              ' place the variables in cog $1C0-$1DF
    
    cmdout          res     1                       ' The 8b CMDxx | $40
    cmdpar          res     1                       ' The 32b parameters
    cmdcrc          res     1                       ' The 8b CRC (must be valid for CMD0 & CMD8)
    cmdpar2         res     1                       ' SDV1=$0, SDV2=$40000000
    cmdtype         res     1                       ' reply is R1=1, R3=3, R7=7, else 0
    reply           res     1                       ' R1 reply (moved to replyR1 when R3/R7 32b reply here)
    replyR1         res     1                       ' R1 reply (8b saved when R3/R7 32b reply follows)
    dataout         res     1                       ' 8/32 bit data being shifted out
    bytescnt        res     1                       ' #bytes to send/recv
    bitscnt         res     1                       ' #bits to be shifted in/out
    ctr1            res     1
    timeout         res     1                       ' = starttime + delay
    spare           res     1
    skiprun         res     1                       ' 1= skip load/run mbr/vol & load/no-run fname
                                                    '\ 1=SDV1, 2=SDV2(byte address), 3=SDHC/SDV2(block address)
    blocksh         res     1                       '/ block shift 0/9 bits
    clustersh       res     1                       ' sectors/cluster SHL 'n' bits
    
    vol_begin       res     1 '$0000_2000           ' Ptn0: first sector of PTN
    fsi_begin       res     1 '$0000_2001           ' Ptn0:       sector of file system info
    fat_begin       res     1 '$0000_3122           ' Ptn0: first sector of FAT table
    dir_begin       res     1' $0000_4000           ' Ptn0: first sector of DATA is DIR table
    dat_begin       res     1 '$0000_4580 $0000_54C0' Ptn0: first sector of file's DATA
    ptn_size        res     1 '$0008_0000           '       file-size 32KB = 64<<9 sectors
    
    _bufad          res     1
    _blocknr        res     1
    _sectors        res     1
    _entries        res     1
    bufad           res     1                       ' ptr sector buffer
    blocknr         res     1                       ' sector#
    fname           res     3                       ' 8+3+1
    _hubdata        res     1
                    fit     $1E0
    
    Melbourne, Australia
  • Bump thread for reference now we have first P2 silicon
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • thejthej Posts: 140
    edited September 29 Vote Up0Vote Down
    Is there a separate doc for this or does it only exist in this thread so far?
    Found it.
    j
  • Cluso99Cluso99 Posts: 13,916
    edited September 29 Vote Up0Vote Down
    Here are the MONITOR commands in the final ROM
    ROM_Booter_v32i.spin2    29/09/2018 4:19PM (downloaded from P2 forum)
    =====================
    
    ''-----------------------------------------------------------------------------------------------
    ''  MONITOR                        LMM DEBUGGER - SUPPORTED COMMANDS
    ''-----------------------------------------------------------------------------------------------
    ''  xxxxxx : xx xx xx xx ... <cr>  DOWNLOAD:  to   cog/lut/hub {addr1} following {byte(s)}
    ''  xxxxxx - [xxxxxx] [L] <cr>     MEM LIST:  from cog/lut/hub {addr1} to < {addr2}  L=longs
    ''  xxxxxx G <cr>                  GOTO:      to   cog/lut/hub {addr1}
    ''                                                FC000 G <cr> will perform a reboot
    ''  Q <cr>                         QUIT:      Quit Rom Monitor and return to the User Program
    ''                                               {addr} is on the stack
    ''  Lfilename.xxx<cr>              LOAD:      Load file from SD   (8.3 filename)
    ''                                               returns "=" on success, "!" on failure
    ''  Rfilename.xxx<cr>              RUN:       Run  file from SD   (8.3 filename)
    ''                                               returns "!" on failure
    ''  <esc><cr>                      TAQOZ:     goto TAQOZ
    ''  <cr>                                      will repeat last MEM LIST command
    ''-----------------------------------------------------------------------------------------------
    
    Note the changes to the download command to use ":", the memory list command to "-" and optional trailing "L" parameter (L=longs, else bytes).
    Filenames are in the format 8.3 (short filenames) with SD formatted as FAT32.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
Sign In or Register to comment.