Jump to content
IGNORED

Extended BASIC G.E.M.


senior_falcon

Recommended Posts

2 hours ago, senior_falcon said:

Which it is the main one. The 8 or the C?

This was talking about the mapper chip, not the filename. The filenames are now complete BS with no useful meaning. The 74LS378 is the one that all modern carts are using ("non-inverted"). That was defined as '8'. FinalGROM changed it to 'C' and so there's no point trying to define anything now.

 

Again, "C" originally meant an 8k ROM. This was defined all the way back in the mid-90s with V9T9 for DOS. (Back then, we used 'D' for the second bank of an XB-style banked ROM). '8' was the extension I created for larger ROMs in a single file that were not inverted, taken from the last character of the 74 logic chip used to bank it.

 

Just use "C" cause that's apparently what people want to use, and I'm not planning to define anything myself. Classic99 will chew you out in the debug log but nobody ever looks there when there are issues either. ;)

 

 

  • Like 2
  • Haha 3
Link to comment
Share on other sites

1 hour ago, Tursi said:

Just use "C" cause that's apparently what people want to use, and I'm not planning to define anything myself. Classic99 will chew you out in the debug log but nobody ever looks there when there are issues either. ;)

If it's any consolation, I took to looking at the log all the time, after about the 3rd time you chewed me out for not looking. :)

It's hella handy. 🙏

  • Like 4
Link to comment
Share on other sites

Here is a slightly revised version of XB 2.9 G.E.M., version 2.920240206

There are some slight changes to the docs to address some errors that have been noted. The file names have been changed to XB29GEMG.BIN and XB29GEMC.BIN This should make it compatible with the FinalGrom without having to change the file names.

 

Recently CALL CHARPAT in RXB was modified to be more responsive. In this version of XB 2.9, CHARPAT has been modified to show a similar speed increase. I feel this is rarely used, but I don't want folks to think that XB 2.9 is a laggard when compared to RXB, and it was a trivial job to modify the code from the compiler to achieve this. Thank you Rich for this idea.

 

XB29GEM240206.zip

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

Some tests were posted in another thread comparing the speed of CHARSET in various flavors of XB. The results posted were:

XB           XB3     XB 2.9      RXB

32:44      33:6    1:11:47    4:8    CALL CHARSET

It struck me as rather odd that GEM should take more than twice as long as standard XB. It turns out that it doesn't. It does take somewhat longer, so the real time would be around 45 minutes, but not 72 minutes.

The reason it takes longer is that XB 2.9 uses console gpl routines to set the patterns for characters 32 to 127, while standard XB redefines only 32 to 95.

It takes about 1/3 second for GEM to perform a CHARSET. If a speedier CHARSET is important to you, CALL FONT(7) will load the standard TI font much faster, and of course, there are another 59 fonts to choose from.

 

This brings up an interesting question - exactly what should CHARSET do?

Standard XB sets 32 - 95 to the standard TI character set, with no lower case. (Remember that XB first came out for the TI-99/4 which had no lower case)

XB 2.9 sets 32 - 127 to the standard TI character set, including lower case.

RXB sets 32 - 127 to the RXB font (which is a popular font and the same one used in XB 2.7)

 

To retain perfect compatibility with standard XB, it seems to me that CHARSET should do exactly the same thing. You can imagine a program written that redefines most of the characters for graphics, then has to restore the patterns for the letters, perhaps for a menu, but wants to keep the lower case letters redefined for graphics.

 

Opinions? (mine is that it doesn't really matter)

Edited by senior_falcon
  • Like 5
Link to comment
Share on other sites

Your XBGEM is faster at some things which is fine as some things are faster with RXB 2024 or XB3.

Each approach has its own advantages.

XB3 is mostly Assembly but does have some bugs as a result, like a couple of tests just locked up the system.

XBGEM and RXB 2024 have different approaches to same problems.

Some RXB 2024 routines are slower due to so many added features like for example CALL KEY in RXB 2024 with various options.

Same goes for CALL MOVES in RXB 2024 due to RXB Reads/Writes to GRAM/VDP/RAM or even to Strings too.

Unlike XBGEM less features which is faster as a result.

 

I am going to release RXB 2024 soon and will start work on RXBI (RXB Integer Only) that will really speed up XB with no Floating Point math.

 

Quite sure XBGEM will continue to improve as time goes on...

  • Like 3
Link to comment
Share on other sites

9 hours ago, senior_falcon said:

Some tests were posted in another thread comparing the speed of CHARSET in various flavors of XB. The results posted were:

XB           XB3     XB 2.9      RXB

32:44      33:6    1:11:47    4:8    CALL CHARSET

It struck me as rather odd that GEM should take more than twice as long as standard XB. It turns out that it doesn't. It does take somewhat longer, so the real time would be around 45 minutes, but not 72 minutes.

The reason it takes longer is that XB 2.9 uses console gpl routines to set the patterns for characters 32 to 127, while standard XB redefines only 32 to 95.

It takes about 1/3 second for GEM to perform a CHARSET. If a speedier CHARSET is important to you, CALL FONT(7) will load the standard TI font much faster, and of course, there are another 59 fonts to choose from.

 

This brings up an interesting question - exactly what should CHARSET do?

Standard XB sets 32 - 95 to the standard TI character set, with no lower case. (Remember that XB first came out for the TI-99/4 which had no lower case)

XB 2.9 sets 32 - 127 to the standard TI character set, including lower case.

RXB sets 32 - 127 to the RXB font (which is a popular font and the same one used in XB 2.7)

 

To retain perfect compatibility with standard XB, it seems to me that CHARSET should do exactly the same thing. You can imagine a program written that redefines most of the characters for graphics, then has to restore the patterns for the letters, perhaps for a menu, but wants to keep the lower case letters redefined for graphics.

 

Opinions? (mine is that it doesn't really matter)

My own approach was to fill any forethought about either backwards compatible with XB or like XBGEM go all the way.

RXB 2023 had CALL CHARSET and CALL CHARSET(ALL)

                      (32 to 127)            (32 to 159)

Also Tony (Gazoo) insisted I use his fonts for XB. I did but modified 2 lower case characters to my liking.  

  • Like 1
Link to comment
Share on other sites

1 hour ago, senior_falcon said:

Some of the added features can be compiled, but most cannot. I can look through the docs and make a list for you tonight.

I'm not currently using any of the features from 2.9, so please take your time if you decide to do this. What I'm most interested in is the line drawing and bitmap mode stuff, thanks.

Link to comment
Share on other sites

1 hour ago, Cheung said:

I'm not currently using any of the features from 2.9, so please take your time if you decide to do this. What I'm most interested in is the line drawing and bitmap mode stuff, thanks.

Yes, all the enhanced graphics modes can be compiled. XB256, The Missing Link for bit mapped graphics, T40XB/T80XB for 40/80 column text mode, and SteveB's multicolor routines. The process is described in the docs, but let me know if more information is needed.

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