Jump to content
IGNORED

Adventure Cartridge 80 column development and GPL


Recommended Posts

7 hours ago, publicarni said:

I just tested it on a real TI-99 with EVPC 80 column card and it works great,

also saving and loading a game on a real disk ... ?

Thank you!  That is good news. Are you using the FG99 to load the game file? 

 

Your test reminds me that there are TI devices like the HSGPL that can make use of cartridges, so I will make a gram file later today for hsgpl, gram kracker, etc. 

  • Like 1
Link to comment
Share on other sites

8 hours ago, Asmusr said:

That's strange. Even though it goes through GPL it should end up calling either DSR subprogram >16 or FILES, right?

I am using dsr subprogram >16 to set CALL FILES(1).   The code I introduced looks similar to this, I'll have to check the binary for its location in grom.

 

       CALL  G@docallfiles              call our routine
       BYTE  >01                          with a parameter of 1

 

docallfiles

       FETC  @>834C                # of files from parameter
       DST   >0116,V@>077E    set up 'pab'
       DST   >077E,@>8356     pointer
       CALL  G@>10                 dsrlnk
       BYTE  >0A                      subprogram list

 

  • Like 2
Link to comment
Share on other sites

RXB has CALL FILES(0) or up to CALL FILES(15) and they all work.

*********************************************************** 
* CALL FILES(number)  0 to 15                             *
***********************************************************
SFILES DATA SSIZE
       STRI 'FILES'       *   FILES
       DATA $+2
       CALL COMB          *   (
       CALL CLSALL        *   Close all open files
       CALL RXBFIL        *   Set files
       BR   RXBNEW        *   Go do a NEW
RXBFIL CALL SUBLP3        *   Get Files value
       DCZ  @FAC          *   Zero?
       BS   RXBF0         *   Yes, RXB CALL FILES(0)
       DCHE 16,@FAC       *   16 or more to high
       BS   ERRBV         *   Yes, BAD VALUE error
       CEQ  RPARZ,@CHAT   *   )?
       BR   ERRSYN        *   SYNTAX ERROR 
       XML  PGMCHR        *   Skip )
       DCLR @FAC2         *   Clear         
       ST   @FAC1,@FAC2   *   Load file value
       DST  >0116,V@VROAZ *   Set files buffer space
       DCHE 256,@PAD      *   
       BR   DSRDSS        *
       ADD  >10,@VROAZ+1  *
DSRDSS DST  VROAZ,@FAC12  *
       CALL LINK          *
       BYTE >0A           *
       ST   @ERCODE,@PAD2 *
       SRL  4,@FAC6       *
       CZ   @FAC6         *
       BR   ERRFE         *
       CEQ  >20,@PAD2     *
       BS   ERRFE         *
       RTN                *
RXBF0  CEQ  RPARZ,@CHAT   * )?
       BR   ERRSYN        * SYNTAX ERROR 
       XML  PGMCHR        * Skip )
       DST  >3CEF,@>8370  * Set FILE(0) VDP Highest address 
       RTN                * Return

 

Link to comment
Share on other sites

47 minutes ago, RXB said:

RXB has CALL FILES(0) or up to CALL FILES(15) and they all work.

Thanks Rich.  I tried the included RXB2020 (in js99er) and CALL FILES(1) resulted in an XB error message.  Maybe the same issue my Adventure code runs into? 

 

I then tested the included BASIC and XBASIC 2.9.  Both succeeded with this log entry: Executing disk DSR FILES routine (n = 1).  So we know the DSR routine works.

 

Js99er doesn't have grom view/debug, so I'm at a loss why it fails there and not in Classic99.  I'll try to trace the BASIC CALL FILES routine in classic99 for clues.

 

 

  • Like 2
Link to comment
Share on other sites

2 hours ago, InsaneMultitasker said:

Thanks Rich.  I tried the included RXB2020 (in js99er) and CALL FILES(1) resulted in an XB error message.  Maybe the same issue my Adventure code runs into? 

 

I then tested the included BASIC and XBASIC 2.9.  Both succeeded with this log entry: Executing disk DSR FILES routine (n = 1).  So we know the DSR routine works.

 

Js99er doesn't have grom view/debug, so I'm at a loss why it fails there and not in Classic99.  I'll try to trace the BASIC CALL FILES routine in classic99 for clues.

 

 

Just tested RXB 2020 and 2021 with FinalGrom in TI99/4A console with NO 32K or P-BOX just console

CALL FILES(0) works fine VDP stack size 13144 bytes free

 

CALL FILES(1) up to CALL FILES(15) all crash without a DSK Controller.

Suppose I could created a RXB only version that does what the DSK Controller does...

  • Like 1
Link to comment
Share on other sites

10 minutes ago, RXB said:

Just tested RXB 2020 and 2021 with FinalGrom in TI99/4A console with NO 32K or P-BOX just console

CALL FILES(0) works fine VDP stack size 13144 bytes free

 

CALL FILES(1) up to CALL FILES(15) all crash without a DSK Controller.

Suppose I could created a RXB only version that does what the DSK Controller does...

Thanks for testing. Without a controller, I would be inclined to just ignore the call files error and skip the routine (the DSRLNK should return an error).   

 

I sent Rasmus a PM with what I believe is the reason js99er reacts differently.  I'll hold on any further testing or comments until he has a chance to review. 

  • Like 2
Link to comment
Share on other sites

9 hours ago, InsaneMultitasker said:

Thanks for testing. Without a controller, I would be inclined to just ignore the call files error and skip the routine (the DSRLNK should return an error).   

 

I sent Rasmus a PM with what I believe is the reason js99er reacts differently.  I'll hold on any further testing or comments until he has a chance to review. 

Fixed. It was an error in the subprogram list in the DSR, which meant that subprogram >16 was never found. 

  • Like 6
  • Thanks 2
Link to comment
Share on other sites

  • 2 months later...
1 hour ago, InsaneMultitasker said:

Is there a "simple" list of GPL instructions and their operation?  Like a Cliff Notes for the GPL language? 

You can start with the instruction list starting at page J-1 of the GPL Programmer's Guide and dive into section 4 of the document for extremely detailed explanations. Thierry Nouspikel's pages also have a lot of useful data here.

gpl_programmers_guide-OCRed.pdf

  • Like 3
Link to comment
Share on other sites

  • 9 months later...
10 hours ago, InfiniteTape said:

I finally got an F18A set up and tried this out using a FinalGROM. It stays on the cyan screen, never getting to the yellow loading screen. Any thoughts on troubleshooting?

I'm not familiar with the FinalGrom as I do not own/use one.  I had asked a few people if they tried my files with the FG99 but never received confirmation.  Perhaps someone reading this can confirm that it works or offer guidance.

Link to comment
Share on other sites

On 3/13/2023 at 3:25 PM, InsaneMultitasker said:

I'm not familiar with the FinalGrom as I do not own/use one.  I had asked a few people if they tried my files with the FG99 but never received confirmation.  Perhaps someone reading this can confirm that it works or offer guidance.

I definitely noticed while reviewing the thread people mentioning FG99 but not actually providing any results. Surely there's some other brave soul who's willing to try it!

  • Like 1
Link to comment
Share on other sites

On 3/15/2023 at 11:06 AM, InfiniteTape said:

I definitely noticed while reviewing the thread people mentioning FG99 but not actually providing any results. Surely there's some other brave soul who's willing to try it!

Does the original Scott Adams cartridge work for you?  The 80 column cart is the same code, with changes to the display routines and DSR. So in theory, if the original works, so should my version.   What is your system configuration?  Maybe we can figure it out together.

Link to comment
Share on other sites

22 hours ago, InsaneMultitasker said:

Does the original Scott Adams cartridge work for you?  The 80 column cart is the same code, with changes to the display routines and DSR. So in theory, if the original works, so should my version.   What is your system configuration?  Maybe we can figure it out together.

Yep, I just tried loading the original from FG99 and was able to get a game started. I've tried with just the console+F18A and with my PEB (TIPI-PEB, SAMS, 838-Speech, TI Disk Controller) attached. Both fail in the same way.

  • Like 1
Link to comment
Share on other sites

33 minutes ago, InfiniteTape said:

Yep, I just tried loading the original from FG99 and was able to get a game started. I've tried with just the console+F18A and with my PEB (TIPI-PEB, SAMS, 838-Speech, TI Disk Controller) attached. Both fail in the same way.

Could you post the working and not-working files here or PM them to me?  I'll compare them and see if anything stands out. Thank you for the update and testing...

Link to comment
Share on other sites

51 minutes ago, InfiniteTape said:

Yep, I just tried loading the original from FG99 and was able to get a game started. I've tried with just the console+F18A and with my PEB (TIPI-PEB, SAMS, 838-Speech, TI Disk Controller) attached. Both fail in the same way.

Try renaming the file to "ADV80G.BIN".  The file I posted uses a long filename which, if I read this correctly, is going to be shortened to a name that will likely exclude the indicator.  

 

Excerpt from finalgrom documentation: 

 

The filesystem used on SD cards has an filename character limitation, which ignores case and shortens all filenames to fit into a 8.3 schema. Thus, hellogromg.bin would be seen as HELLOG~1.BIN, and the trailing GROM indicator G would be missed.

IMPORTANT! When using split files, make sure that each filename has no more than 8 characters (excluding the extension)! This is always true for legacy cartridge dumps.

HINT: A filename with more than 8 characters for a single file ROM-only image will never end incorrectly in D or G.

In summary, don't rename cartridge dumps. GROM filenames must not exceed 8 characters AND must end in G. ROM filename must have more than 8 characters OR must not end in D or G.

For all images, there is always a main file that is used for help texts or RAM/GRAM configurations. For GROM and mixed images, the main file is the G file, for ROM-only files this is the C file or the actual filename of a single-file image.

  • Like 1
Link to comment
Share on other sites

On 3/18/2023 at 10:35 PM, InsaneMultitasker said:

Try renaming the file to "ADV80G.BIN".  The file I posted uses a long filename which, if I read this correctly, is going to be shortened to a name that will likely exclude the indicator.  

I remembered to shorten it, but forgot the "G". "ADV80G.BIN" works. Thanks!!!

  • Like 3
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...