Jump to content
IGNORED

TIPI Usage and Support


jedimatt42

Recommended Posts

29 minutes ago, RXB said:

Not attacking TIPI just saying what is happening.

I go to CALL TIPI put in any path into DSK1 or DSK2 or DSK3 or DSK4 and that path only responds to TIPI. or DSK0. and ignores the path.

When I do a CALL TIPI again the path I put in is not . (period)

If I know squat about doing a LOG I would post it. Pretend I am not a expert on TIPI but as a new user of one.

You need to re-read your messages above then.  

 

https://github.com/jedimatt42/tipi/wiki/Troubleshooting describes how to check the log files

 

You need to post photos of your "crashes" if you want help.

 

You need to post logs of the activities that caused these "crashes" in the tipi.log you can cut and paste from the interface or ssh if that's what you are using. 

 

Post a photo of the directories in the web interface that you are trying to map to DSK1  You don't need a trailing period in the mapping. You can see in my photo the TIPI.FC folder is mapped with just FC in DSK1 map. If the folder was TIPI.GAMES.EA5 then it would GAMES.EA5 in the map 

 

Greg

 

 

 

Link to comment
Share on other sites

Rich,

 

I use a Windows program WinSCP available at https://winscp.net to log into the TIPI for log file access and being able to copy/cut/paste information.  You will need to identify the IP address for your TIPI to use WinSCP.  The Hostname should be something like 192.168.1.xx and use a port number of 22.  Username will be tipi, and password will be tipi.

 

There will be log files when you login.  I'm not sure if it defaults to the log path, or if you have to find it.  My path is at /var/log/tipi/

 

The log file tipi.log will be your most recent set of log files.  Doubleclick and scroll to the end of that log file for the most recent information added to the file.  Things will be time and date stamped by whatever timezone the tipi is currently configured.  You might be able to interpret from the log files what is happening yourself from the log file or you may need to just copy (or portion of) the file and post.

 

The log entries for a catalog function will be a bit strange, so make sure you scroll back far enough by date/time to when the actual command(s) were entered as depending upon how many files and directories, and then the PI.CONFIG setting for display order, may make things a bit confusing for the novice.

 

What I can tell you is that an extended basic program with a slight modification for a new type of file (DIRECTORY) as type 6, I typed in from what I believe was the TI Disk controller manual.

 

Beery

 

  • Like 2
Link to comment
Share on other sites

Ok I got on his machine and he is able to use DSK1 maps now..  So the program loads fine from DSK1. but in the program it is trying to load pages from a file in that folder and is erroring. We looked at the log file and his routine in RXB to load pages into SAMS isn't even hitting the TIPI .. it's erroring without any log entries in the TIPI side.. Rich is going to post the assembly in another message if anyone can help there, I'm pretty useless in assembly :)

 

Greg 

  • Like 2
Link to comment
Share on other sites

14 minutes ago, arcadeshopper said:

Ok I got on his machine and he is able to use DSK1 maps now..  So the program loads fine from DSK1. but in the program it is trying to load pages from a file in that folder and is erroring. We looked at the log file and his routine in RXB to load pages into SAMS isn't even hitting the TIPI .. it's erroring without any log entries in the TIPI side.. Rich is going to post the assembly in another message if anyone can help there, I'm pretty useless in assembly :)

 

Greg 

Thanks Greg,  but this is GPL not Assembly:

**********************************************************
* CALL PLOAD(pathstring)                                 *
**********************************************************
PLOAD  DATA ISRON
       STRI 'PLOAD'           
       DATA $+2
       CALL COMB          * ( ?
BLOADL CALL MYSAL         * Get pathname
       ST   >05,V*PAD     * LOAD opcode
       CALL MYDOIT        * DSRLNK opcode
       MOVE >1000,V@>40(@PAD),@0(@TEMP) * COPY IT
       CEQ  COMMAZ,@CHAT  * COMMA?
       BS   BLOADL        * Yes loop
       BR   PEEK5         * Done
MYDOIT DST  @PAD,@FAC12 * Get buffer address in VDP
       ADD  9,@FAC13      * Point to name length
       CALL LINK          * DSRLNK GROM >0010
       BYTE >08
       BS   ERRFE         * File Error
       CLOG >E0,V@1(@PAD) * Set error bits
       BR   ERRFE         * File Error
       RTN
MYSAL  XML  PGMCHR        * Skip ( OR COMMA 
       CALL SAMS4A        * TEMP will have address 
       XML  COMPCT        * Garbage collection VDP
       DCHE >1C81,@STREND * Enough VDP space?
       BR   ERRSO         * ERROR STACK OVERFLOW
       DST  >0C00,@PAD    * Buffer for BSAVE/BLOAD
       CALL STRGET        * Pathstring
       CLR  V*PAD         * 0 BYTE
       MOVE >1080,V@0(@PAD),V@1(@PAD) * Ripple
       DST  @PAD,@ARG     * Get PAB address 
       ADD  >40,@ARG1     * Add in PAB buffer
       DST  @ARG,V@2(@PAD)  * Buffer address
       DST  >1000,V@6(@PAD) * Number of bytes
       ST   @FAC7,V@9(@PAD) * Length byte
       MOVE @FAC6,V*FAC4,V@10(@PAD) * Pathstring
       RTN
************************************************************
* CHECK FOR ")" AND END OF STATEMENT
* IF ALL OK, THEN RETURN TO CALLER
* GETCHR ALSO RETURNS TO HERE
PEEK5  CEQ  RPARZ,@CHAT
       BR   ERRSYN
       XML  PGMCHR            Skip ")"
       CALL CHKEND
       BR   ERRSYN
       CALL RETURN            RETURN TO CALLER
***********************************************************
STRGET CALL STRFCH
       CEQ  >65,@FAC2
       BR   ERRSNM      * STRING NUM MISMATCH
       RTN
STRPAR XML  PARSE
       BYTE RPARZ
       RTN
****************************************************
* SAMS PAGES 2,3,A,B,C,D,E,F                       *
* Get 2 and 3 numeric or A to F tokens             *
* input in CHAT is >C8 is numeric or must be token *
* output TEMP has RAM ADDRESS of 4K page to save   *
****************************************************
SAMS4A DCLR @TEMP      * Clear address storage
       CEQ  >C8,@CHAT  * NUMBER?
       BR   SAMSAL     * No must be 2 or 3 or A to F 
       CALL STRPAR     * Get number 
       XML  CFI        * Convert to integer
       CHE  4,@FAC1    * 1 or higher
       BS   ERRBA      * ERROR BAD ARGUEMENT
       ST   >20,@TEMP  * Defualt address >2000
       CEQ  2,@FAC1    * 2?
       BS   SAMSP3     * Ok so done
       CHE  4,@FAC1    * 4 or higher?           
       BS   ERRBA      * ERROR BAD ARGUEMENT
       ADD  >10,@TEMP  * Get address 
SAMSP3 RTN             * RETURN
* 24K ADDRESS PAGES
SAMSAL CHE  >47,@CHAT  * G OR HIGHER
       BS   ERRBA      * ERROR BAD ARGUEMENT
       CHE  >41,@CHAT  * A OR HIGHER?
       BR   ERRBA      * ERROR BAD ARGUEMENT
       ST   @CHAT,@ARG * Save TOKEN
       SUB  >41,@ARG   * 0 TO 5
       ST   >A0,@TEMP  * Default address >A000
SAMSLP CZ   @ARG       * 0?
       BS   SAMSD      * RETURN 
       ADD  >10,@TEMP  * >B000 TO >F000 
       DEC  @ARG       * 5 TO 1
       B    SAMSLP     * LOOP FOREVER
SAMSD  XML  PGMCHR     * SKIP TOKEN
       RTN             * RETURN
***********************************************************

We got a FILE ERROR at 150 and here is the RXB program:

100 ! RXB SAMS LOADER DEMO
110 ! NO ASSEMBLY USED
120 ! PAGE 16 TO 36 USED
130 FOR A=1 TO 20
140 CALL SAMS(2,A+16)
150 CALL PLOAD(2,"DSK1.SCRN"&STR$(A))
160 CALL MOVES("RV",2079,8192,0)
170 NEXT A
180 FOR A=1 TO 20
190 CALL SAMS(2,A+16)
200 CALL MOVES("RV",2079,8192,0)
210 NEXT A
220 GOTO 180

140 sets SAMS page number at >2000

150 Loads a program image file at >2000

 

As this works on any Hard Drive and Disk Controller I have no way to see why it crashed with a file error.

Any help would be great, thanks.

Link to comment
Share on other sites

  

2 hours ago, RXB said:

I go to CALL TIPI put in any path into DSK1 or DSK2 or DSK3 or DSK4 and that path only responds to TIPI. or DSK0. and ignores the path.

When I do a CALL TIPI again the path I put in is not the path but just a  . (period)

If I knew squat about doing a LOG I would post it. Pretend I am not a expert on TIPI but as a new user of one.

How come no matter what path I put in it only does DSK0. or TIPI. as the path?

Did you press (R)elaod, after setting a drive mapping path??? That is required to save changes ...I believe.:ponder:

Edited by HOME AUTOMATION
  • Thanks 2
Link to comment
Share on other sites

  
Did you press ®elaod, after setting a drive mapping path??? That is required to save changes ...I believe.:ponder:
Reload just verifies the settings take
Write is what you need to do to write the changes to pi.config

If it's easier open pi.config in your editor of choice and then make the changes there and save it

Sent from my LM-V600 using Tapatalk

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

This is the program image file it crashed above to load, this is a TI DIR View File to show what is in file:

[File header information]
-------------------------
00000000 07 54 49 46 49 4C 45 53 00 10 01 00 00 00 00 00 .TIFILES........
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

[File data]
-----------
00000000 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000010 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000020 C8 D5 D0 D5 C8 D5 C8 D5 D0 D5 D0 D5 D0 D5 D0 D5 ................
00000030 D0 D5 D0 D5 C8 D5 C8 D5 D0 D5 C8 D5 C8 D5 D0 D1 ................
00000040 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 ................
00000050 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 ................
00000060 C8 D5 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 ................
00000070 D0 D0 D0 D0 D0 D0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D1 ................
00000080 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 ................
00000090 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
000000A0 C8 D5 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 ................
000000B0 C8 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D1 ................
000000C0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 ................
000000D0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 ................
000000E0 C8 D5 D0 D0 C8 D0 D0 D0 C8 D0 D0 D1 C8 D0 D0 D0 ................
000000F0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D3 D0 D0 C8 D2 D0 D1 ................
00000100 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000110 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 ................
00000120 C8 D5 D0 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 D0 D0 ................
00000130 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D4 ................
00000140 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000150 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000160 C8 D5 C8 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 C8 D0 ................
00000170 C8 D0 C8 D3 D0 D0 D0 D0 C8 D4 C8 D0 C8 D0 C8 D4 ................
00000180 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 ................
00000190 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 ................
000001A0 C8 D5 D0 D0 C8 D0 D0 D0 D0 D4 C8 D0 D0 D0 C8 D0 ................
000001B0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D2 ................
000001C0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 ................
000001D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 ................
000001E0 C8 D5 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
000001F0 C8 D0 D0 D0 D0 D0 C8 D0 D0 D0 D0 D0 C8 D0 D0 D1 ................
00000200 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 ................
00000210 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 ................
00000220 C8 D5 C8 D0 C8 D5 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 ................
00000230 D0 D0 D0 D0 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D1 ................
00000240 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 ................
00000250 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 ................
00000260 C8 D5 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 ................
00000270 C8 D0 D0 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 D0 D1 ................
00000280 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 ................
00000290 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 ................
000002A0 C8 D5 D0 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 C8 D0 ................
000002B0 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D1 ................
000002C0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 ................
000002D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 ................
000002E0 C8 D3 D0 D4 C8 D4 C8 D4 C8 D4 D0 D1 C8 D4 C8 D4 ................
000002F0 C8 D3 D0 D3 D0 D4 C8 D3 D0 D3 D0 D4 C8 D4 C8 D4 ................
00000300 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000310 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000320 C8 D5 D0 D5 C8 D5 C8 D5 C8 D5 D0 D5 D0 D5 C8 D5 ................
00000330 C8 D5 C8 D5 D0 D5 C8 D5 C8 D5 D0 D5 C8 D5 D0 D1 ................
00000340 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 ................
00000350 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 ................
00000360 C8 D5 D0 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 C8 D0 ................
00000370 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 D0 D1 ................
00000380 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 ................
00000390 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 ................
000003A0 C8 D5 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
000003B0 D0 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D4 ................
000003C0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
000003D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 ................
000003E0 C8 D5 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
000003F0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 D0 D1 ................
00000400 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000410 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 ................
00000420 C8 D5 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 ................
00000430 C8 D0 C8 D0 C8 D5 C8 D0 C8 D0 C8 D0 D0 D0 D0 D4 ................
00000440 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 ................
00000450 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 ................
00000460 C8 D5 C8 D0 C8 D0 C8 D0 D0 D0 D0 D0 C8 D0 C8 D0 ................
00000470 D0 D0 C8 D0 D0 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D1 ................
00000480 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 ................
00000490 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 ................
000004A0 C8 D4 C8 D0 D0 D0 C8 D0 D0 D2 C8 D0 C8 D0 D0 D0 ................
000004B0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 D0 D1 ................
000004C0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 ................
000004D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 C8 C8 ................
000004E0 C8 D5 C8 D0 C8 D4 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 ................
000004F0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D1 C8 D0 C8 D0 D0 D2 ................
00000500 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000510 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 ................
00000520 C8 D5 C8 D0 C8 D0 C8 D0 C8 D0 C8 D5 D0 D0 D0 D0 ................
00000530 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D1 ................
00000540 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 ................
00000550 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000560 C8 D5 D0 D0 D0 D0 C8 D0 C8 D0 D0 D3 D0 D0 D0 D0 ................
00000570 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D1 ................
00000580 C8 C8 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000590 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 ................
000005A0 C8 D5 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 D0 D0 ................
000005B0 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D4 ................
000005C0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 ................
000005D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 ................
000005E0 C8 D3 D0 D4 C8 D4 C8 D4 C8 D4 C8 D4 D0 D1 C8 D4 ................
000005F0 C8 D3 D0 D3 D0 D4 C8 D4 C8 D4 C8 D4 D0 D1 D0 D1 ................
00000600 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000610 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000620 C8 D5 C8 D5 C8 D5 D0 D5 C8 D5 D0 D5 D0 D5 C8 D5 ................
00000630 D0 D5 D0 D5 D0 D5 D0 D5 C8 D5 C8 D5 C8 D5 D0 D1 ................
00000640 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 ................
00000650 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 ................
00000660 C8 D5 C8 D0 C8 D0 C8 D0 C8 D0 D0 D0 D0 D0 D0 D0 ................
00000670 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 C8 D4 ................
00000680 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 ................
00000690 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 ................
000006A0 C8 D3 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 ................
000006B0 D0 D0 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D4 ................
000006C0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 ................
000006D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 ................
000006E0 C8 D5 C8 D0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 ................
000006F0 C8 D3 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 D0 D1 ................
00000700 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 ................
00000710 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 ................
00000720 C8 D5 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 ................
00000730 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 C8 D4 ................
00000740 C8 D0 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000750 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000760 C8 D5 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D3 D0 D0 ................
00000770 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D1 ................
00000780 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 ................
00000790 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 ................
000007A0 C8 D5 C8 D0 D0 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 ................
000007B0 D0 D5 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 C8 D4 ................
000007C0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
000007D0 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 ................
000007E0 C8 D5 C8 D0 C8 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 ................
000007F0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D2 ................
00000800 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000810 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 ................
00000820 C8 D5 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 C8 D0 ................
00000830 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 C8 D0 C8 D0 D0 D1 ................
00000840 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 ................
00000850 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 ................
00000860 C8 D5 C8 D0 C8 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 ................
00000870 C8 D3 D0 D0 C8 D0 C8 D0 D0 D4 C8 D0 D0 D0 C8 D2 ................
00000880 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 ................
00000890 C8 D0 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 ................
000008A0 C8 D5 D0 D4 C8 D0 D0 D0 D0 D0 C8 D0 D0 D1 D0 D0 ................
000008B0 C8 D4 C8 D0 C8 D0 D0 D0 C8 D0 C8 D5 C8 D0 D0 D1 ................
000008C0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 ................
000008D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 ................
000008E0 C8 D4 C8 D3 D0 D4 C8 D4 C8 D3 D0 D3 D0 D3 D0 D4 ................
000008F0 C8 D4 C8 D3 D0 D3 D0 D3 D0 D4 C8 D4 D0 D1 C8 C8 ................
00000900 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000910 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000920 C8 D5 C8 D5 D0 D5 C8 D5 C8 D5 D0 D5 D0 D5 C8 D5 ................
00000930 C8 D5 D0 D5 D0 D5 C8 D5 C8 D5 D0 D5 C8 D2 C8 C8 ................
00000940 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 ................
00000950 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 ................
00000960 C8 D5 C8 D0 C8 D0 D0 D0 C8 D2 C8 D0 C8 D0 D0 D0 ................
00000970 C8 D0 D0 D0 D0 D0 D0 D0 D0 D0 C8 D0 D0 D0 D0 D1 ................
00000980 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 ................
00000990 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 ................
000009A0 C8 D5 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 ................
000009B0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D2 C8 D0 D0 D1 ................
000009C0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 ................
000009D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 ................
000009E0 C8 D5 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 ................
000009F0 D0 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 C8 D0 D0 D1 ................
00000A00 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 C8 C8 ................
00000A10 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 ................
00000A20 C8 D5 D0 D5 C8 D0 D0 D1 C8 D2 D0 D0 C8 D0 C8 D0 ................
00000A30 D0 D0 C8 D0 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D4 ................
00000A40 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 ................
00000A50 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000A60 C8 D5 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 ................
00000A70 D0 D0 D0 D0 D0 D0 D0 D0 C8 D0 C8 D0 C8 D0 C8 D4 ................
00000A80 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 ................
00000A90 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000AA0 C8 D5 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000AB0 D0 D0 D0 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 C8 D4 ................
00000AC0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000AD0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000AE0 C8 D5 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 D0 D0 C8 D0 ................
00000AF0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 D0 D1 ................
00000B00 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 ................
00000B10 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000B20 C8 D5 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 ................
00000B30 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 D0 D0 D0 D0 C8 D2 ................
00000B40 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 ................
00000B50 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 ................
00000B60 C8 D5 D0 D0 D0 D0 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 ................
00000B70 D0 D0 C8 D0 D0 D0 C8 D0 D0 D4 C8 D0 C8 D0 D0 D1 ................
00000B80 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 ................
00000B90 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 ................
00000BA0 C8 D5 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D4 ................
00000BB0 C8 D0 C8 D0 C8 D0 C8 D0 D0 D1 C8 D0 C8 D0 D0 D2 ................
00000BC0 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 ................
00000BD0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 ................
00000BE0 C8 C8 C8 D3 D0 D3 D0 D4 C8 D4 C8 D4 D0 D1 D0 D1 ................
00000BF0 C8 D4 D0 D1 C8 D4 D0 D1 C8 D4 D0 D1 D0 D1 D0 D1 ................
00000C00 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000C10 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000C20 C8 D5 C8 D2 D0 D5 D0 D5 D0 D5 C8 D5 C8 D5 C8 D3 ................
00000C30 D0 D5 C8 D5 D0 D5 C8 D5 C8 D5 D0 D5 D0 D5 D0 D1 ................
00000C40 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 ................
00000C50 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000C60 C8 D5 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000C70 D0 D0 C8 D0 D0 D0 D0 D0 D0 D0 D0 D0 C8 D0 D0 D1 ................
00000C80 C8 D0 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 D0 ................
00000C90 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 ................
00000CA0 C8 D5 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 C8 D2 C8 D0 ................
00000CB0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D0 C8 D4 ................
00000CC0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 ................
00000CD0 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000CE0 C8 D5 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 C8 D0 D0 D0 ................
00000CF0 C8 D0 C8 D0 D0 D0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D1 ................
00000D00 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 C8 D0 ................
00000D10 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000D20 C8 D5 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D0 D0 D0 ................
00000D30 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D2 D0 D1 D0 D1 ................
00000D40 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000D50 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 ................
00000D60 C8 D5 C8 D0 D0 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D0 ................
00000D70 C8 D0 C8 D0 C8 D0 C8 D0 D0 D0 D0 D0 D0 D0 D0 D1 ................
00000D80 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 C8 D0 ................
00000D90 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000DA0 C8 D3 D0 D0 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 ................
00000DB0 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 D0 D1 ................
00000DC0 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 C8 ................
00000DD0 C8 C8 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 C8 C8 C8 C8 ................
00000DE0 C8 D5 D0 D0 D0 D3 D0 D0 D0 D0 D0 D0 C8 D0 D0 D0 ................
00000DF0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D0 D0 D0 D0 D1 ................
00000E00 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 ................
00000E10 C8 D0 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 D0 ................
00000E20 C8 D5 C8 D0 D0 D0 C8 D0 D0 D5 C8 D0 C8 D0 C8 D0 ................
00000E30 D0 D0 C8 D0 C8 D0 D0 D0 C8 D0 D0 D0 C8 D0 C8 D4 ................
00000E40 C8 D0 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 ................
00000E50 C8 C8 C8 D0 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 ................
00000E60 C8 D5 C8 D0 D0 D0 D0 D0 C8 D0 D0 D0 D0 D0 C8 D0 ................
00000E70 D0 D0 C8 D0 D0 D0 C8 D0 D0 D0 D0 D0 C8 D0 C8 D4 ................
00000E80 C8 D0 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 C8 C8 D0 ................
00000E90 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 C8 ................
00000EA0 C8 D5 D0 D0 D0 D0 D0 D0 D0 D0 C8 D0 D0 D0 C8 D0 ................
00000EB0 C8 D4 C8 D0 D0 D0 C8 D0 C8 D0 C8 D0 D0 D0 D0 D1 ................
00000EC0 C8 C8 C8 C8 C8 D0 C8 C8 C8 C8 C8 D0 C8 D0 C8 C8 ................
00000ED0 C8 D0 C8 D0 C8 D0 C8 D0 C8 C8 C8 D0 C8 D0 C8 D0 ................
00000EE0 C8 D3 D0 D3 D0 D4 C8 D3 D0 D3 D0 D4 C8 D3 D0 D3 ................
00000EF0 D0 D4 C8 D4 C8 D4 C8 D3 D0 D3 D0 D4 C8 D4 C8 D4 ................
00000F00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000F90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000FA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000FB0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000FC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000FD0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000FE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000FF0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

 

Link to comment
Share on other sites

2 hours ago, InsaneMultitasker said:

Is this statement hitting the floppy controller first instead of TIPI?   What happens if you pull the floppy controller out of the box. 

No as it is in GPL first it search's all the GPL DSR for the Device Name then it goes to ROM and searches.

It uses the same exact DSR search as Editor Assembler Cart or XB cart same one, it just loads a Program Image File but does not need a header.

Once in the VDP buffer the CALL PLOAD routine moves it to the correct RAM location.

Therefore it works just it always has for RXB since 2001 when I wrote the routine and has worked for every device made up till now.

I suspect TIPI is looking for a FILE HEADER LOCATION TO LOAD IT, but that is not needed as the routine takes care of it.

Look this is the same as a XB program, TIPI does not tell it where to load XB programs or a CALL LOAD object file, so why does it need a file header?

The reason for SAMS CALL PLOAD in RXB is to be able to move RAM or load RAM without restrictions as DATA does not care where it resides.

Link to comment
Share on other sites

Rich,

 

It is going to be important to provide some log files from the TIPI to know what is happening on the TIPI/PI side of things.  Those log files will show what commands it is receiving, file attributes being received, PI responses, and more.

 

One or two people may be GPL code aware, but it is those log files that can shed a lot of information.  

 

When you post a log file, describe the action your code is anticipated to do and what the results were.  And when you do not get the expected result, immediately stop work on your TI, go to your PC and capture the log file so nobody is left figuring out where/when the code in question was called.  Give us the filename(s) you expect were to be accessed as well.

 

Tim and I worked on TIPI integration with MDOS and consulted with Matt as we pushed the boundaries further with the Geneve development.  When we came across something when pushing the envelope, we then wrapped those results into a TI-99/4A Extended Basic program or example along with the log file entries on how to demonstrate the issue.

 

You have to make the effort to get the log file entries in question posted, otherwise, there is little anyone can do to support you.

 

Beery

 

  • Like 1
Link to comment
Share on other sites

If it is not hitting the TIPI at all, then the TIPI DSR isn't being hit.  So, I looked at the header for the TIPI DSR.  Rich, does your GPL code depend upon something at the highlighted section in the TIPI header?

 

 

; DSR ROM header
  AORG >4000
   
  BYTE >AA ; Standard Header
  BYTE >01 ; version
  DATA >0000 ; # of application programs / reserved
  DATA pwrlnk ; power up list
  DATA >0000 ; user-program list (grom only)
  DATA tipilnk ; DSR list
  DATA basiclnk ; LVL2 DSRLNK & BASIC CALL subroutine list
  DATA >0000 ; interrupt list
  DATA >0000 ; something for groms... can't find docs.
   
  ; TIPI routine list - well known addresses for some custom exposure
  DATA recvmsg ; MOV @>4010,R0 BL *R0 to invoke recvmsg.
  DATA sendmsg ; MOV @>4012,R0 BL *R0 to invoke sendmsg.
  DATA vrecvmsg ; MOV @>4014,R0 BL *R0 to invoke recvmsg.
  DATA vsendmsg ; MOV @>4016,R0 BL *R0 to invoke sendmsg.
  DATA >0000
  • Confused 1
Link to comment
Share on other sites

1 hour ago, BeeryMiller said:

If it is not hitting the TIPI at all, then the TIPI DSR isn't being hit.  So, I looked at the header for the TIPI DSR.  Rich, does your GPL code depend upon something at the highlighted section in the TIPI header?

 

 

; DSR ROM header
  AORG >4000
   
  BYTE >AA ; Standard Header
  BYTE >01 ; version
  DATA >0000 ; # of application programs / reserved
  DATA pwrlnk ; power up list
  DATA >0000 ; user-program list (grom only)
  DATA tipilnk ; DSR list
  DATA basiclnk ; LVL2 DSRLNK & BASIC CALL subroutine list
  DATA >0000 ; interrupt list
  DATA >0000 ; something for groms... can't find docs.
   
  ; TIPI routine list - well known addresses for some custom exposure
  DATA recvmsg ; MOV @>4010,R0 BL *R0 to invoke recvmsg.
  DATA sendmsg ; MOV @>4012,R0 BL *R0 to invoke sendmsg.
  DATA vrecvmsg ; MOV @>4014,R0 BL *R0 to invoke recvmsg.
  DATA vsendmsg ; MOV @>4016,R0 BL *R0 to invoke sendmsg.
  DATA >0000

That is not relevant. 

 

RXB is doing a DSRLNK with list offset >08, so that should just be looking at the tipilnk/DSR list

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

6 hours ago, RXB said:

...

I suspect TIPI is looking for a FILE HEADER LOCATION TO LOAD IT, but that is not needed as the routine takes care of it.

Look this is the same as a XB program, TIPI does not tell it where to load XB programs or a CALL LOAD object file, so why does it need a file header?

...

What makes you think TIPI is doing this? By your own admission it doesn't do that for XB programs. I would like to hear an explanation of how you got to this assumption.

 

If I were to make a guess I would expect it has to do with my notes here: https://github.com/jedimatt42/tipi/blob/master/hardware/dsr/devices.a99

 

TIPI may be using more of the GPL workspace registers than RXB allows for. It works with every other program that issues a LOAD, such as EA Option 5, TI BASIC, XB, Tunnels of Doom, Adventure, Force Command, DM2K, parts of RXB, so...  (actually widespread and historical success is not an indicator of correctness. It just indicates a failure to fail)

 

In your GPL code that you posted, the comments around your CALL LINK are wrong. They don't match your code. To read that code, I would need to know the addresses that your symbols refer to, and for the comments to be corrected. The thing that stands out, is the comment that indicates you are using the offset >10 ( LVL2 subprogram list ) to link to, when you are setting the offset to be >08 as expected for LVL3 IO. With precision, what are the values of @PAD, LINK, and the series of @FACxx symbols. What are the values of the other significant symbols?

  • Like 1
Link to comment
Share on other sites

4 hours ago, BeeryMiller said:

If it is not hitting the TIPI at all, then the TIPI DSR isn't being hit.  So, I looked at the header for the TIPI DSR.  Rich, does your GPL code depend upon something at the highlighted section in the TIPI header?

 

 

; DSR ROM header
  AORG >4000
   
  BYTE >AA ; Standard Header
  BYTE >01 ; version
  DATA >0000 ; # of application programs / reserved
  DATA pwrlnk ; power up list
  DATA >0000 ; user-program list (grom only)
  DATA tipilnk ; DSR list
  DATA basiclnk ; LVL2 DSRLNK & BASIC CALL subroutine list
  DATA >0000 ; interrupt list
  DATA >0000 ; something for groms... can't find docs.
   
  ; TIPI routine list - well known addresses for some custom exposure
  DATA recvmsg ; MOV @>4010,R0 BL *R0 to invoke recvmsg.
  DATA sendmsg ; MOV @>4012,R0 BL *R0 to invoke sendmsg.
  DATA vrecvmsg ; MOV @>4014,R0 BL *R0 to invoke recvmsg.
  DATA vsendmsg ; MOV @>4016,R0 BL *R0 to invoke sendmsg.
  DATA >0000

No my DSR is exactly the same as the how Editor Assembler works, I posted the code you can see it is exactly the same.

The only difference is I am not looking for a header on the file as I do not care if it has one, just the name.

The reason I do not need a header is the header says how long the file is, but look at what is posted it shows >1001 file size so it is right size

but I do not check that just the name. Also a file header normally has the address where to load and again that is not needed.

If the name is wrong it just errors out. 

This is the most simplified loader and saver anyone could right. 4K size Program Image File, no header just filename.

Again this has been used since RXB 2001, so not a new thing or use.

Link to comment
Share on other sites

2 hours ago, jedimatt42 said:

What makes you think TIPI is doing this? By your own admission it doesn't do that for XB programs. I would like to hear an explanation of how you got to this assumption.

 

If I were to make a guess I would expect it has to do with my notes here: https://github.com/jedimatt42/tipi/blob/master/hardware/dsr/devices.a99

 

TIPI may be using more of the GPL workspace registers than RXB allows for. It works with every other program that issues a LOAD, such as EA Option 5, TI BASIC, XB, Tunnels of Doom, Adventure, Force Command, DM2K, parts of RXB, so...  (actually widespread and historical success is not an indicator of correctness. It just indicates a failure to fail)

 

In your GPL code that you posted, the comments around your CALL LINK are wrong. They don't match your code. To read that code, I would need to know the addresses that your symbols refer to, and for the comments to be corrected. The thing that stands out, is the comment that indicates you are using the offset >10 ( LVL2 subprogram list ) to link to, when you are setting the offset to be >08 as expected for LVL3 IO. With precision, what are the values of @PAD, LINK, and the series of @FACxx symbols. What are the values of the other significant symbols?

Thanks but RXB is not using a CALL LINK, it not ASSEMBLY ACCESS maybe that is the confusion this is GPL ONLY there is no Assembly used.

RXB 2020 SOURCE is out there but I can include the source in PC Text.

This is a list of the EQUATES from what is already posted:

* List of Equates
******************************************************
* GPL address
* LINK   EQU  >0010
******************************************************
*    Equates for XMLs
CFI    EQU  >12         CONVERT FLOATING POINT TO INTEGER
COMPCT EQU  >70              PREFORM A GARBAGE COLLECTION
PARSE  EQU  >74               Parse a value
PGMCHR EQU  >79              GET PROGRAM CHARACTER
**********************************************************
* PAD    EQU  >8300          Temporary area
TEMP   EQU  >8316            FLAG BITS
STREND EQU  >831A            String space ending
CHAT   EQU  >8342            Current charater/token
* FAC  EQU  >834A
FAC1   EQU  FAC+1
FAC2   EQU  FAC+2
FAC4   EQU  FAC+4
FAC6   EQU  FAC+6
FAC7   EQU  FAC+7
FAC12  EQU  FAC+12
FAC13  EQU  FAC+13
* ARG  EQU  >835C            Floating-point ARGument
ARG1   EQU  ARG+1

**********************************************************
ERRSYN CALL ERRZZ             * SYNtax error
       BYTE 3
ERRSO  CALL ERRZZ             * Stack Overflow
       BYTE 12
ERRBA  CALL ERRZZ             * Bad Argument
       BYTE 28
***********************************************************
* ERRZZ - Sets up an error stack entry based upon the
* information passed to it by the caller and what it can
* gather from the error table. It then either prints the
* error message and aborts or goes to the line specified by
* a previously executed ON ERROR statement. The stack enrry
* looks like:
* ---------------------------------------------------------
* | Error code | Severity | >69 | Luno # | EXTRAM | PGMPTR
* | ^          | ^        | ^   | ^      | ^      | ^
* | FAC        | FAC1     | FAC2| FAC3   | FAC4   | FAC6
*----------------------------------------------------------
* ERROR CODE - the error number
* SEVERITY   - Severity of the error
*      1     - Warning
*      5     - Possibly recoverable
*      9     - Fatal, unrecoverable
* >69  ERROR STACK ENTRY ID
* LUNO #     - Luno # if file error or -1 if non-file error
* EXTRAM, PGMPTR - Information to indicate the line # of
*                  the error
************************************************************

 

RXB2020C TEXT.zip

Link to comment
Share on other sites

5 hours ago, BeeryMiller said:

If it is not hitting the TIPI at all, then the TIPI DSR isn't being hit.  So, I looked at the header for the TIPI DSR.  Rich, does your GPL code depend upon something at the highlighted section in the TIPI header?

 

 

; DSR ROM header
  AORG >4000
   
  BYTE >AA ; Standard Header
  BYTE >01 ; version
  DATA >0000 ; # of application programs / reserved
  DATA pwrlnk ; power up list
  DATA >0000 ; user-program list (grom only)
  DATA tipilnk ; DSR list
  DATA basiclnk ; LVL2 DSRLNK & BASIC CALL subroutine list
  DATA >0000 ; interrupt list
  DATA >0000 ; something for groms... can't find docs.
   
  ; TIPI routine list - well known addresses for some custom exposure
  DATA recvmsg ; MOV @>4010,R0 BL *R0 to invoke recvmsg.
  DATA sendmsg ; MOV @>4012,R0 BL *R0 to invoke sendmsg.
  DATA vrecvmsg ; MOV @>4014,R0 BL *R0 to invoke recvmsg.
  DATA vsendmsg ; MOV @>4016,R0 BL *R0 to invoke sendmsg.
  DATA >0000

Berry just to fill you in on DSR set up in GROMs:

[0467]               ***********************************************************
[0468]               *                        GROM HEADER
[0469]               ***********************************************************
[0470]                      GROM >6000
[0471]                      AORG 0
[0472] 6000 AA,14           DATA >AA14      * VALID GROM / VERSION 20
[0473] 6002 01,00           DATA >0100      * (FUTURE EXPANSION)
[0474] 6004 00,00           DATA >0000      * POWERUP
[0475] 6006 63,3B           DATA XBCART     * PROGRAMS
[0476] 6008 00,00           DATA >0000      * DSR 
[0477] 600A A0,26           DATA LINK1      * CALL
[0478] 600C 00,00           DATA >0000      * INTERUPT
[0479] 600E 00,00           DATA >0000      * BASIC CALL

Hmm LINK1 is the name picked by TI originally it is not a CALL LINK for assembly like EA or XB.

It just as easily could be CRAP1 or JUNK1 so do not mistake this for Assembly.

XB CALL and BASIC CALL had different set up for headers to subprograms.

Link to comment
Share on other sites

8 minutes ago, RXB said:

Berry just to fill you in on DSR set up in GROMs:


[0467]               ***********************************************************
[0468]               *                        GROM HEADER
[0469]               ***********************************************************
[0470]                      GROM >6000
[0471]                      AORG 0
[0472] 6000 AA,14           DATA >AA14      * VALID GROM / VERSION 20
[0473] 6002 01,00           DATA >0100      * (FUTURE EXPANSION)
[0474] 6004 00,00           DATA >0000      * POWERUP
[0475] 6006 63,3B           DATA XBCART     * PROGRAMS
[0476] 6008 00,00           DATA >0000      * DSR 
[0477] 600A A0,26           DATA LINK1      * CALL
[0478] 600C 00,00           DATA >0000      * INTERUPT
[0479] 600E 00,00           DATA >0000      * BASIC CALL

Hmm LINK1 is the name picked by TI originally it is not a CALL LINK for assembly like EA or XB.

It just as easily be CRAP1 or JUNK1 so do not mistake this for Assembly.

Rich,

 

I appreciate your postings, however I will be the first to tell you I pretty much understand nothing about GPL.  Greg indicated there was nothing in the logs, so the code wasn't hitting the TIPI or at least not hitting the log file.  Even with a poorly constructed PAB, at least what I have seen on the Geneve/TIPI side of things, there would still be a log entry even if the PI could not process it unless the process for logging itself got hung up itself.

 

I will say this with some of the things Tim and I have tested, we have come across situations where things were working fine with certain functions, then things stopped working that should have worked and we were really scratching our heads disbelieving a code change would have that impact.  This was caused by bad code on our side the PI could not process resulting in a lockup, and some of those times were not recorded in the log file because of the processes that got hung up on the PI side of things because that kind of error was never anticipated.

 

It does not hurt if you have the capability, to have an occasional PI reboot to at least test and view the log file to confirm the file logged your most recent actions when you think something you are testing should have worked.  I have seen more than one time when things were not being saved in the log file because of a bad pab request when code went through several layers of translation.  Then, you think you are not hitting the TIPI, but you actually are with good code, but processes are having issues because of a previous poor construct of code.  Matt has been really good addressing those kinds of issues with the more obscure functionality.

 

Tim has an assembly tool that writes to the RS232 directly to understand what information is being passed and received in the development efforts on the Geneve that uses a Windows terminal on the receiving end.  I don't know if you have the ability to do something in GPL that would create similar functionality or not but may be worth exploring if you don't have something already.

 

Beery

 

 

 

  • Like 1
Link to comment
Share on other sites

For what it's worth, when I was working on SNP and trying to get the DSR to cooperate, and which I finally was able to do saves and loads on to tipi shared drives, but then my tipi clock quit working, it had been working for months with no issues I thought for sure I have a PAB conflict, it turned out that the tipi clock routine I was using was using a number 9 in the description of the text length which was also a 9 but it caught my attention, and so I threw a 10 and replace the nine in there and I added a space at the end of the file name and it fixed my tipi clock issue but what I'm trying to say is it had nothing to do with my PAB for my DSR but just showed up when I was having to be working on the DSR for my saves so crap can happen I guess out of the blue when even and odd addresses don't see eye to I.

Edited by GDMike
  • Like 1
Link to comment
Share on other sites

3 hours ago, jedimatt42 said:

In your GPL code that you posted, the comments around your CALL LINK are wrong. They don't match your code. To read that code, I would need to know the addresses that your symbols refer to, and for the comments to be corrected. The thing that stands out, is the comment that indicates you are using the offset >10 ( LVL2 subprogram list ) to link to, when you are setting the offset to be >08 as expected for LVL3 IO.

 

>10 (the value of LINK) is not a reference to the DSR’s list, but rather the address in the branch table, near the beginning of GROM0, of the DSRLNK branch:

Spoiler

********************************************************************************
*                                                                              *
*                       CONSOLE GROM 0 ANALYSIS TI99/4A                        *
*                                                                              *
*                              9.6.84 H. Martin                                *
*                                                                              *
********************************************************************************
Header:
0000 : DATA  >AA02  Header
0002 : DATA  >0000  
0004 : DATA  >0000  Power-up (isn't here)
0006 : DATA  >0000  Program (isn't here)
0008 : DATA  >1310  DSR
000A : DATA  >1320  Subroutine
000C : DATA  >0000  Interrupt (isn't here)
000E : DATA  >0000  
Jump table:
0010 : BR    GROM@>03D9  GROM DSRLNK        <<<------<<<
0012 : BR    GROM@>0439  GSR return
   .
   .
   .

 

 

The BYTE (>08) following the CALL is the DSR’s reference to level 3 routines, I believe.

 

...lee

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, RXB said:

Thanks but RXB is not using a CALL LINK, it not ASSEMBLY ACCESS maybe that is the confusion this is GPL ONLY there is no Assembly used.

 

RXB is, in fact using a “CALL LINK”. It just happens to be a GPL subroutine branch instruction to a GROM0 address labelled “LINK” rather than a Basic call to Assembly Language Code (ALC).

 

And, not to put too fine a point on it, but ALC is most certainly used by RXB in that the GROM0’s GPL DSRLNK calls the console ROM0’s DSRLNK code. It is from that ALC that the DSR ROM’s code is searched and, if found, is executed. Of course, if it is not found in a DSR ROM, GROM headers are searched, etc.

 

...lee

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...