Click here to go to the forum index Click here for the home page
 
Author Message

<  TAP and patch development  ~  Extended Command Console

Page 1 of 2
Goto page 1, 2  Next
R2-D2
Posted: Fri Dec 28, 2007 4:12 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
Extended Command Console info moved to much nicer layout here.

[Gx]ExtCmdEnable TAP enables this console on the Toppy's serial port (default 115,200 8N1 setting).

Command Listing
HDD commands
OSD commands
XKY strings
Using the console
Fun things to try


Last edited by R2-D2 on Sun Mar 09, 2008 6:17 pm; edited 6 times in total

_________________
Troubleshooting -- User Manual -- Dark Side of the Matrix: Firmwares and Patches
View user's profile Send private message Visit poster's website
R2-D2
Posted: Fri Dec 28, 2007 4:18 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
HDD commands


Last edited by R2-D2 on Sun Mar 09, 2008 6:18 pm; edited 1 time in total
View user's profile Send private message Visit poster's website
R2-D2
Posted: Fri Dec 28, 2007 4:22 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
OSD commands


Last edited by R2-D2 on Sun Mar 09, 2008 6:19 pm; edited 2 times in total
View user's profile Send private message Visit poster's website
R2-D2
Posted: Fri Dec 28, 2007 4:29 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
XKY strings


Last edited by R2-D2 on Sun Mar 09, 2008 6:20 pm; edited 3 times in total
View user's profile Send private message Visit poster's website
R2-D2
Posted: Fri Dec 28, 2007 4:40 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
Using the console


Last edited by R2-D2 on Sun Mar 09, 2008 6:20 pm; edited 4 times in total
View user's profile Send private message Visit poster's website
R2-D2
Posted: Fri Dec 28, 2007 4:55 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
Fun things to try


Last edited by R2-D2 on Sun Mar 09, 2008 6:21 pm; edited 3 times in total
View user's profile Send private message Visit poster's website
bdb
Posted: Fri Dec 28, 2007 5:14 pm Reply with quote
Frequent contributor Joined: 18 Oct 2005 Posts: 499
here's my list.

bdb

Code:
command          params
 ?               :   : "/a"                               Cmd_ListCmd
 X               :   : "(null)"                           reboot
 DBG             : 1 : "%d"       0=disable, 1=enable     <enable/disable debug output>
 INB             : 0 : "%x"                               <read byte at the specified address>
 INH             : 0 : "%x"                               <read half-word the specified address>
 INW             : 0 : "%x"                               <read word the specified address>
 OUTB            : 0 : "%x %x"                            <write byte to the specified address>
 OUTH            : 0 : "%x %x"                            <write half-word to the specified address>
 OUTW            : 0 : "%x %x"                            <write word to the specified address>
 CHKREG          : 0 : "%x"
 MEMCPY          : 0 : "%x %x %x"
 MEMSET          : 0 : "%x %x %x"
 DUMP            : 2 : "%x %x"                            <dump memory>
 CALL            : 0 : "%x %d %d %d %d %d %d %d %d %d"
 CALLX           : 0 : "%x %x %x %x %x %x %x %x %x %x"
 KEY             : 0 : "%s"                               <generate key event>
 LS              : 0 : "(null)"                           Cmd_ListProcHandler <WARNING: it traps>
 NEW             : 4 : "%x %d %d %d"                      Cmd_NewProcEvent
 KILL            : 1 : "%d"                               Cmd_KillProcEvent
 QINIT           : 0 : "(null)"                           <inits the queue>
 QLIST           : 0 : "(null)"                           <list the queue contents>
 QSTART          : 0 : "(null)"                           <start filling the queue>
 QEND            : 0 : "(null)"                           <stops filling the queue>
 QCMD            : 0 : "(null)"
 DELAY           : 1 : "%d"
 QDELAY          : 1 : "%d"
 OUTCH           : 1 : "%c"                               <output character to serial port>
 OUTSTR          : 1 : "%s"                               <output string to serial port>
 OUTSTRLN        : 1 : "%s"                               <output a new-line terminated string>
 CI              : 0 : "(null)"                           Channel_Init
 FREQ            : 0 : "%d %d %d %d"                      Channel_Set_Test            <freq test>
 LNBP            : 0 : "%d %d"                            Channel_SetLnbPower_Test    <LNB power test>
 12V             : 0 : "%d"                               Channel_SetSw12v_Test       <12V test, not implemented>
 DISEQC          : 0 : "%d %d"                            Channel_SetDiseqc_Test      <DISEQC test>
 22KHZ           : 0 : "%d %d"                            Channel_Set22khz_Test       <22KHz test>
 DISEQCCMD       : 0 : "%d %d %d"                         Channel_SendDiseqcCmd_Test
 GDB             : 0 : "%d"                               WP=%08x
 AVT             : 0 : "%d"
 HEAPINFO        : 0 : "(null)"                           <print heap info>
 RTC             : 0 : "%d %d %d"                         <set RTC time (frontpanel processor), usage : hour min sec>
 VS              : 0 : "%d %d %d %d %d"
 VTS             : 0 : "%d %d %d %d %d"
 VA              : 2 : "%d %d"
 CM              : 0 : "(null)"
 VF              : 0 : "%d %d"
 VST             : 0 : "%d"
 SS              : 0 : "%d %d"                            set system variable ?
 CA              : 0 : "%d %d"
 TONE            : 0 : "%d %d"                            tone - freq=%d,level=%d
 HDD             : 4 : "%s %s %s %s"                      HDD status|id|mode|rs|ws|format|scmap|lcmap|record|play|stop...] [...]...
 MD              : 2 : "%s %s                             MD file[ts|exe|folder] name
 CD              : 1 : "%s"
 CD.             : 1 : ""
 CD..            : 1 : ""
 SD              : 2 : "%d %s"                            DevHdd_SelectData
 DEL             : 1 : "%s"                               DevHdd_DeleteData
 REN             : 2 : "%s %s"                            DevHdd_RenameData
 MOVE            : 2 : "%s %s"
 RF              : 2 : "%d %d"                            DevHdd_ReadFolder
 FI              : 1 : "%s"                               DevHdd_GetFolderInfo
 FILEINFO        : 1 : "%d"                               DevHdd_GetFileInfo
 CUT             : 0 : "%d %d %d %s"                      Cmd_HddExtractData
 RECORD          : 4 : "%s %d %d %d"                      RECORD start[stop]  Cmd_HddRecordFile
 PLAY            : 5 : "%s %d %d %d %x"                   PLAY start[stop]
 STOP            : 1 : "%d"                               DevHdd_StopFile
 PB              : 0 : "(null)"                           <show current playback address; if timeshifting?>
 FS              : 1 : "%s"                               DevHdd_FileStatus
 DIR             : 0 : "(null)"
 SF              : 1 : "%d %d"                            Cmd_HddSetFileInfo
 FO              : 1 : "%s"                               Cmd_HddFileOpen
 FC              : 1 : "%s"                               Cmd_HddFileClose
 LOAD            : 8 : "%d %x %x %x %x %x %x %d"          DevDemux_Start
 DMX             : 8 : "%d %x %x %x %x %x %x %d"
 PAT             : 1 : "%d"                               (tuner)
 SDT             : 1 : "%d"                               (tuner)
 NIT             : 1 : "%d"                               (tuner)
 PMT             : 2 : "%d %x"                            (tuner) (pid)
 DEMUX           : 1 : "%d"                               (tuner)
 LIST            : 1 : "%s"                               "/d" = decimal SCAN SVC info       <WARNING: it traps!>
 CLEAR           : 0 : "(null)"                           SCAN SVC info clear
 SERVICE         : 0 : "%d %d %d %d"
 SRVSTART        : 4 : "%d %d %d %d"
 SRVSTARTX       : 4 : "%d %x %x %x"
 SRVSTOP         : 1 : "%d"
 CTS             : 2 : "%d %d"                            CTS mode[0=DEMUX_ChannelA, 1=DEMUX_ChannelB, 2=DEMUX_ChannelC, 3=TS_Playback]  streamRate,  DevDemux_TsSelCamTs(mode, streamRate)
 DTS             : 2 : "%d %d"                            DTS demuxChannel[0=DEMUX_ChannelA, 1=DEMUX_ChannelB, 2=DEMUX_ChannelC] inputTS[0=TS_Tuner0, 1=TS_Tuner1, 2=TS_CAM, 3=TS_Playback],  DevDemux_TsSelDmxTs(demuxChannel, inputTS)
 OSD             : 0 : "%s %d %d %d %d %x %d"
 OSDI            : 0 : "%s %d %d %x %x %d %d %d %d"       OSD init[cntl,db,dr,fill]
 CLS             : 0 : "(null)"                           Cmd_Clear:stc=0x%08x
 OSDSTR          : 0 : "%d %d %s %x"                      <WARNING: it traps!>
 GBA             : 0 : "%d %d"
 CVS             : 0 : "%d"
 CAS             : 0 : "(null)"
 VFD             : 0 : "%d %d %x %x %x %x"
 SPCM            : 0 : "%x"
 SETS            : 0 : "%d"
 TESTTTX         : 0 : "(null)"
 TESTJPEG        : 0 : "(null)"                           n/a
 PBSTOP          : 0 : "(null)"                           <WARNING: it traps!>
 SPOS            : 0 : "%d"
 DF              : 0 : "%d %d %x"                         Cmd_DebugFunction: CCAPTION_Open,CCAPTION_Start,
 AR              : 0 : "(null)"                           (dma, audio)
 MC              : 0 : "%x"
 MCL             : 0 : "%x"                               <WARNING: it traps if address is below 0x80000000>
 CSR             : 0 : "%d"
 TPES            : 0 : "%x"                               Cmd_TestPESFilter START  <test PES filter>
 CTEST           : 0 : "(null)"                           Key=%08x%08x
 TTEST           : 0 : "(null)"                           (ide)
 DBIOS           : 0 : "%x"                               (ttsd)                   <outputs some data ???>
 CUTEST          : 0 : "%d"                               Cmd_CUTest:mode=%d, Cmd_CUTest[Hdd_WriteSector,Hdd_ReadSector]:r=0x%04x <some tests (may overwrite HDD data)>
 PIF             : 0 : "(null)"                           Cmd_ProduceInfinite
View user's profile Send private message
R2-D2
Posted: Fri Dec 28, 2007 5:34 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
bdb wrote:
here's my list.
Darn -- I was hoping you might know some more about these ones in particular:

DMX *dmx load, usage: dmx xpid pid flt0a flt0b flt1a flt1b nSec time
GBA *outputs graphics base addresses?
LOAD *si load, usage: load xpid pid flt0a flt0b flt1a flt1b nSec time
SPCM *?, usage: spcm mode(0=enable?,1=disable?)
View user's profile Send private message Visit poster's website
R2-D2
Posted: Fri Dec 28, 2007 8:12 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
(Out of date info deleted.)


Last edited by R2-D2 on Thu Jan 03, 2008 8:43 pm; edited 1 time in total
View user's profile Send private message Visit poster's website
R2-D2
Posted: Sat Dec 29, 2007 10:57 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
[Gx]ExtCmdEnable updated to include setting the OSD variables up. Also tidied the thread to include links in the first post and added a little more about the OSD stuff.


Last edited by R2-D2 on Thu Jan 03, 2008 8:43 pm; edited 1 time in total
View user's profile Send private message Visit poster's website
DeadBeef
Posted: Mon Dec 31, 2007 11:51 am Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
The write operation of the command "hdd t-pio" looks suspicious:
Code:
FW 5.13.40
    64r   80094e58:    3c0fb001   lui   $t7,0xb001      
    68r   80094e5c:    240efff1   addiu   $t6,$zero,-15=0xfff1   
    6cr   80094e60:    adee2000   sw   $t6,8192($t7)      # b0012000 *EMMA_ATA_CONTROL
According to my ATA documentation this command corresponds to WIN_SECURITY_SET_PASS (0xf1). Confused

The read operation of the command "hdd t-pio" uses WIN_DEVICE_RESET (0x08) instead:
Code:

    64r   80095318:    3c0fb001   lui   $t7,0xb001      
    68r   8009531c:    240e0008   addiu   $t6,$zero,8      
    6cr   80095320:    adee2000   sw   $t6,8192($t7)      # b0012000 *EMMA_ATA_CONTROL

I am surprised that the firmware for the TF5800 still includes the extended command interface.
View user's profile Send private message
R2-D2
Posted: Mon Dec 31, 2007 1:09 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
DeadBeef wrote:
According to my ATA documentation this command corresponds to WIN_SECURITY_SET_PASS (0xf1).
I think that indicates more that the EMMA_ATA_CONTROL is not correctly identified, or it uses values in a different way. The (known working) DMA routines write values 0x06 (write) and 0x0e (read), which don't correspond to a known ATA command (and the only other value written that I can see is 0).

Edit: that might suggest that the 0x08 bit means "read" if set and "write" otherwise.
View user's profile Send private message Visit poster's website
DeadBeef
Posted: Mon Dec 31, 2007 1:57 pm Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
R2-D2 wrote:
DeadBeef wrote:
According to my ATA documentation this command corresponds to WIN_SECURITY_SET_PASS (0xf1).
I think that indicates more that the EMMA_ATA_CONTROL is not correctly identified, or it uses values in a different way. The (known working) DMA routines write values 0x06 (write) and 0x0e (read), which don't correspond to a known ATA command (and the only other value written that I can see is 0).

Edit: that might suggest that the 0x08 bit means "read" if set and "write" otherwise.
Embarassed I confused ATA_CONTROL with IDE_CMD. WIN_* codes are for the IDE_CMD.
View user's profile Send private message
R2-D2
Posted: Mon Dec 31, 2007 3:31 pm Reply with quote
Frequent contributor Joined: 18 Dec 2006 Posts: 12149
DeadBeef wrote:
I confused ATA_CONTROL with IDE_CMD.
So is this the bit that actually sets the transfer mode, then? (PIO vs DMA?)
View user's profile Send private message Visit poster's website
DeadBeef
Posted: Mon Dec 31, 2007 3:56 pm Reply with quote
Frequent contributor Joined: 09 Jan 2006 Posts: 264
R2-D2 wrote:
DeadBeef wrote:
I confused ATA_CONTROL with IDE_CMD.
So is this the bit that actually sets the transfer mode, then? (PIO vs DMA?)
It is related to it. The firmware uses the following values for ATA_CONTROL:
Code:
PIO write
  ATA_CONTROL = 0xf1
  IDE_CMD = 0x30 (WIN_WRITE)

PIO read
  ATA_CONTROL = 0x08
  IDE_CMD = 0x20 (WIN_READ)

DMA write
  ATA_CONTROL = 0x06
  IDE_CMD = 0xc8 (WIN_WRITEDMA) for non-48-bit LBA
  IDE_CMD = 0x34 (WIN_WRITE_EXT ?!) for 48-bit LBA ( I would have expected WIN_WRITEDMA_EXT = 0x35)

DMA read
  ATA_CONTROL = 0x0e
  IDE_CMD = 0xca (WIN_READDMA) for non-48-bit LBA
  IDE_CMD = 0x24 (WIN_READ_EXT ?!) for 48-bit LBA ( I would have expected WIN_READDMA_EXT = 0x25)
View user's profile Send private message

Display posts from previous:  

All times are GMT
Page 1 of 2
Goto page 1, 2  Next

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum