Jump to content
IGNORED

RXB problems in MESS


mizapf

Recommended Posts

Hi Rich,

 

guess you're out there somewhere. I noticed a problem in MESS concerning RXB. After compiling a software list for TI cartridges, I noticed that RXB did not work anymore, none of its versions.

 

The reason is about a year back when I actually fixed a bug in the GROM port handling. This made GROMs behave properly like real GROMs, meaning that they have 6 KiB storage space, and return some mirrored values for the last 2K.

 

I saw that RXB makes use of the complete 8 K space. That is, I suppose it does not really use GROMs but only simulates GROMs.

 

Questions:

 

- Was there a real cartridge for RXB, or have you only been distributing the contents which need to be loaded in some specific way?

- Apart from RXB, are there any real cartridges with a GROM simulation on-board? I know about GRAMKracker, and GK is also part of the MESS emulation. I'm thinking about ready-to-plug cartridges.

 

The background of my questions is that I want to remove hypothetical features from MESS (like 8K GROMs or GRAMs); in turn, to allow RXB to be run as a cartridge, I can pretend that there is some real cartridge with a special "grom8k" type, and that way I can cover all these "soft" cartridges.

 

Michael

Link to comment
Share on other sites

I don't claim to speak for Rich, but I don't think there was any cartridge produced. GRAM owners only at this point, I believe. I'm sure Rich will chime in with much better details than I.

 

There's a few threads discussing GROM/GRAM emulation. Here's one I've been personally been checking out... and would love to see come to fruition! :thumbsup: :thumbsup:

 

http://www.atariage.com/forums/topic/202784-new-512k-cartridge/

 

-Dano

Link to comment
Share on other sites

Hi Rich,

 

guess you're out there somewhere. I noticed a problem in MESS concerning RXB. After compiling a software list for TI cartridges, I noticed that RXB did not work anymore, none of its versions.

 

The reason is about a year back when I actually fixed a bug in the GROM port handling. This made GROMs behave properly like real GROMs, meaning that they have 6 KiB storage space, and return some mirrored values for the last 2K.

 

I saw that RXB makes use of the complete 8 K space. That is, I suppose it does not really use GROMs but only simulates GROMs.

 

Questions:

 

- Was there a real cartridge for RXB, or have you only been distributing the contents which need to be loaded in some specific way?

- Apart from RXB, are there any real cartridges with a GROM simulation on-board? I know about GRAMKracker, and GK is also part of the MESS emulation. I'm thinking about ready-to-plug cartridges.

 

The background of my questions is that I want to remove hypothetical features from MESS (like 8K GROMs or GRAMs); in turn, to allow RXB to be run as a cartridge, I can pretend that there is some real cartridge with a special "grom8k" type, and that way I can cover all these "soft" cartridges.

 

Michael

 

Does this mean that Triton's "Super Extended Basic" and Mechatronics "Extended Basic Plus" won't work now?? As these carts used GROM simulation with EPROMs using the full 8K. The SXB cart had a Multi-Mod (John Guion) upgrade for it. It had Editor-Asssembler, TI-Writer, and Disk Manager III available from the review module library function (second GROM base). This required replacing the SXB's 32K EPROM with a new 64K EPROM chip (32K x 2). And some other small modifications to the modules board.

Link to comment
Share on other sites

Does this mean that Triton's "Super Extended Basic" and Mechatronics "Extended Basic Plus" won't work now?? As these carts used GROM simulation with EPROMs using the full 8K.

 

So that means "Super Extended Basic" is indeed a real cartridge (not just some files to be loaded into GramKracker)?

 

If this is true I'll add a new cartridge type to MESS for those cartridges with a GROM simulation so it will quickly be available again. Another question would be whether this GROM simulator runs at maximum speed, or whether the GROMs are also simulated from their timing behavior (with additional wait states). Extensions like HSGPL or GK provide a noticeably higher execution speed as they are not using real GROMs.

 

Michael

 

@kl99: Hallo Klaus, ich dachte, ich schaue mal hier vorbei. :)

Edited by mizapf
Link to comment
Share on other sites

Hi Michael, any chance you can add the ability to read seperate .bin cart roms from command line, eg:- cart1=exampleC.bin cart2=exampleG.bin as per MESS versions up to 140 so that us Gamebase TI99 users can use the latest version? The entire Gamebase cart archive is in this format and would be a pain to convert to .rpk

Link to comment
Share on other sites

Hi OX,

 

usually I'm open to suggestions for enhancements of the MESS emulation, and I did add some features to make it better usable in the last years.

 

The .bin handling was removed by me some years ago to simplify usage, to make it less error prone, to allow for multi-cartridge handling, to simplify coding within MESS, and to make it consistent with the remaining media handling.

 

But we have the complete cartridge collection on whtech.com, already prepared as RPKs (345 cartridges) and ready to use.

 

Still, I hope this does not hold back people to upgrade to the latest MESS version, because many things have been added in the meantime.

Check http://www.ninerpedia.org/index.php/MESS_version_history for the features that have changed over the years.

 

So please have a look at ftp.whtech.com (subdirectory emulators) and tell me if you have a cartridge that is not contained there.

 

As you see I'm sorry to say, but .bin handling will surely not return, for quite a lot of reasons. I'm surprised to hear that people still use .bin formats.

 

Michael

Edited by mizapf
Link to comment
Share on other sites

The reason for the request for .bin support is simply that when I started the Gamebase TI99 project over 2 years ago the Classic99 emulator would only support .bin and as I wanted to support both Classic99 and MESS I had to revert to using this method.

 

Edit - as far as I know Classic99 still doesn't support .rpk so for the sake of dual emulator support in Gamebase it looks like I'm stuck with an outdated version of MESS until either Mess retains backward compatibility or Classic99 is updated and I update the Gamebase.

Edited by OX.
Link to comment
Share on other sites

Next MESS version will have another cartridge feature (which the other devs have been urging me to include for years): the software lists. You can then choose a cartridge from a predefined list, and the cartridges are stored as zip files. These zip files contain the bin files (as the RPKs do, which also have a layout file).

 

Would it be better to distribute the zips? People who want to use them for Classic99 may then simply unpack them, and for MESS you just keep the zips. The opposite is not so good because you must use the zip name as hardcoded into the software list.

 

Michael

Link to comment
Share on other sites

Hi Rich,

 

guess you're out there somewhere. I noticed a problem in MESS concerning RXB. After compiling a software list for TI cartridges, I noticed that RXB did not work anymore, none of its versions.

 

The reason is about a year back when I actually fixed a bug in the GROM port handling. This made GROMs behave properly like real GROMs, meaning that they have 6 KiB storage space, and return some mirrored values for the last 2K.

 

I saw that RXB makes use of the complete 8 K space. That is, I suppose it does not really use GROMs but only simulates GROMs.

 

Questions:

 

- Was there a real cartridge for RXB, or have you only been distributing the contents which need to be loaded in some specific way?

- Apart from RXB, are there any real cartridges with a GROM simulation on-board? I know about GRAMKracker, and GK is also part of the MESS emulation. I'm thinking about ready-to-plug cartridges.

 

The background of my questions is that I want to remove hypothetical features from MESS (like 8K GROMs or GRAMs); in turn, to allow RXB to be run as a cartridge, I can pretend that there is some real cartridge with a special "grom8k" type, and that way I can cover all these "soft" cartridges.

 

Michael

 

Well actually many people made the RXB cart over the years.

Competition computer made one

WHT made only 4 proto types I think

OPA put RXB in the POP cart

And many people have asked for permission and I always granted it.

I do know of many homemade version people made. Have not clue where they are now.

RXB was written for GRAM devices and is based on GKXB from Miller Graphics.

I was given permission to use GKXB from Miller Graphics and all these XB's use 8K GROM/GRAM

 

6K GROM/GRAM suck no one on the planet but TI made these 6K chips.

Even all the game companies made 8K chips but only uses 6k

 

Rich

Link to comment
Share on other sites

Next MESS version will have another cartridge feature (which the other devs have been urging me to include for years): the software lists. You can then choose a cartridge from a predefined list, and the cartridges are stored as zip files. These zip files contain the bin files (as the RPKs do, which also have a layout file).

 

Would it be better to distribute the zips? People who want to use them for Classic99 may then simply unpack them, and for MESS you just keep the zips. The opposite is not so good because you must use the zip name as hardcoded into the software list.

 

Michael

 

As it stands the TI99 cart rom sets for gamebase are already in zip format, gamebase unpacks them on the fly to a working directory then the primary file is selected in the gamebase database with the additional files to be loaded named thereafter which are then broken down in the gamebase MESS loading script as cart1=blahC.bin cart2=blahG.bin etc instead of using an xml file in rpk format.

 

I'm just trying to get some unity here between the 2 emulators MESS & Classic99 so that Gamebase users have full advantage of both systems

Link to comment
Share on other sites

The unity will come when Classic99 supports RPK, which I think is the right answer going forward. I just have had other priorities. I have too many hobbies. ;) And I don't want to pull in the ZIP libraries. Oh well. :)

 

I don't quite understand the purpose of MESS going backwards to using zip archives, isn't that just the old way of doing it again?

Link to comment
Share on other sites

So that means "Super Extended Basic" is indeed a real cartridge (not just some files to be loaded into GramKracker)?

 

If this is true I'll add a new cartridge type to MESS for those cartridges with a GROM simulation so it will quickly be available again. Another question would be whether this GROM simulator runs at maximum speed, or whether the GROMs are also simulated from their timing behavior (with additional wait states). Extensions like HSGPL or GK provide a noticeably higher execution speed as they are not using real GROMs.

 

Michael

 

@kl99: Hallo Klaus, ich dachte, ich schaue mal hier vorbei. :)

 

Yes SXB is a real cart. I bought mine from Tex-Comp along with a Super Space I & II. It's still in use on my silver 99/4A along with the CF+ (Parallel) and Speech Synth. Also glad I got the Multi-Mod option for it before the sad passing of John Guion. Two members from my old User Group also owned the Mechatronic XB+ cart (ordered from Triton).

 

I'm not sure on the tech specs of SXB on the timing and wait states.

 

 

Tyler

Link to comment
Share on other sites

@Tursi, regarding ZIP and RPK.

 

In short, RPKs have not been adopted by MAME, and partly because there was a parallel development which led to this different kind of media handling. As a result, only the emulated TI systems in MESS support RPKs now (I moved all the support into the gromport.c file so that it is safe from being killed (un)intentionally some day). In the next MESS release, the TI systems will also offer these software lists, so I hope everybody of them is happy now. But I admit that there are some advantages of the zip handling compared to the RPKs, so it could make sense for you to consider the zip instead of the RPK. But as I said, the RPK support will continue to be there.

 

The zip files only contain the bin files, no XML description. This is moved into the MAME/MESS system, and it does have some advantages:

 

- Although we may not distribute the ROMs of the cartridges, we can at least define which ROMs are the correct ones by specifying the SHA1 hash. There are always bad dumps appearing here and there, which is a lesser problem for our systems, but I remember those broken TI-99/8 ROMs.

- The other developers agree that the RPKs is a good way to include cartridges that are homebrew and for which there are no authoritative versions.

- As the layout is fixed inside MAME/MESS there is less chance that there are errors when creating an RPK from bin files.

- People who have the bin files need not learn the XML format of RPK.

 

Example. This is the layout.xml from entended_basic.rpk:

 

<?xml version="1.0" encoding="utf-8"?>

<romset version="1.0">

<resources>

<rom id="gromimage" file="phm3026g.bin"/>

<rom id="romimage" file="phm3026c.bin"/>

<rom id="rom2image" file="phm3026d.bin"/>

</resources>

<configuration>

<pcb type="paged">

<socket id="grom_socket" uses="gromimage"/>

<socket id="rom_socket" uses="romimage"/>

<socket id="rom2_socket" uses="rom2image"/>

</pcb>

</configuration>

</romset>

 

Beside that, there is a file called meta-inf.xml in an RPK.

 

<?xml version="1.0"?>

<meta-inf>

<name>Extended Basic</name>

<year>1981</year>

<dist>Texas Instruments</dist>

<number>PHM 3026</number>

<status version="110"/>

</meta-inf>

 

and the three files phm3026c.bin, phm3026d.bin, phm3026g.bin.

 

With the new software lists, we have a zip file with the three bin files only. The layout information is contained in MESS as the file ti99_cart.xml. This file contains the descriptions of all the available cartridges. It is a sequence of <software> elements of this kind:

 

<!-- Softlist entry for Extended Basic -->

<software name="exbasic">

<description>Extended Basic</description>

<year>1981</year>

<publisher>Texas Instruments</publisher>

<info name="serial" value="PHM 3026"/>

<info name="version" value="110"/>

<part name="cart" interface="ti99_cart">

<feature name="pcb" value="paged"/>

<dataarea name="grom_socket" size="0x8000">

<rom name="phm3026g.bin" size="0x8000" crc="1a977b8c" sha1="ac30cc0ba075661b9c853b3fda47b4f4accbe25c" offset="0x0000" />

</dataarea>

<dataarea name="rom_socket" size="0x2000">

<rom name="phm3026c.bin" size="0x2000" crc="bd8addb9" sha1="d0be337b61552f7ac49d52872f66eb6ef549a774" offset="0x0000" />

</dataarea>

<dataarea name="rom2_socket" size="0x2000">

<rom name="phm3026d.bin" size="0x2000" crc="44c4d8a8" sha1="db2850db78431d89de85dd573e6df76151b25aba" offset="0x0000" />

</dataarea>

</part>

</software>

 

The advantage is that these lists not only cover cartridges, but other media like disk images as well. For instance, we could include the Editor/Assembler disks 1 and 2 in the softlist as well, and you could then select one to be inserted in drive 1.

 

The new softlist handling allows MESS to search for possible matches:

 

mess ti99_4a -cart exbas

 

"exbas" approximately matches the following

supported software items (best match first):

 

* Software list "ti99_cart" (TI-99/4A cartridges) matches:

exbasic1 Extended Basic v100

exbas25 Extended Basic v2.5

exbaspl Extended Basic Plus

exbasic Extended Basic

exbasm Mechatronic/PS Extended Basic

superxb Super Extended Basic

edupack Edu-Pack

escape Escape

blackhl Black Hole

nature Nature's Way

 

so now we can start Extended Basic in two ways:

 

mess ti99_4a -cart extended_basic.rpk

 

or

 

mess ti99_4a -cart exbasic

 

I'll put all that stuff on ninerpedia so it won't get lost.

 

Michael

Edited by mizapf
Link to comment
Share on other sites

Some questions concerning the variants of Extended Basic:

 

Extended Basic v2.4, v2.6 look different than RXB versions. Are they also RXB or something different?

 

Also, I have "Extended Basic v2.5" with no mentioning of "RXB", but rxb24 and rxb26 which look equal except for the version number. Is that supposed to be named rxb25? I need to make sure we do not have a mix-up of different kinds of Extended Basic.

 

Also, I'd need the publishing years of the RXB versions (1002, 1005, 2000, 2001, 2002, 237, 24, (25?,) 26, 555).

 

Michael

Link to comment
Share on other sites

RXB has modified ROMs for GKXB and a version for the Geneve.

The version 1005 ROMs are the ones used as they have not been modified since that time.

GROMs 3 to 7 are the only modifications to the code. Source is always included since version 2000

Tony wrote XB 2.5 and I wrote RXB and REA

I also created a version of Basic that has the EA module Basic support built in called RBasic

RXB version numbers switched to year starting with version 2000

 

Rich

Link to comment
Share on other sites

OK, I managed to get RXB 2012 running in MESS. I added a new cartridge type for cartridges with GROM emulation, and all RXB modules are now member of this type. I could not get some earlier versions running, however.

 

I uploaded a new RPK and zip file to ftp://ftp.whtech.com/emulators/cartridges . This RPK should (no, must) be used from now on if RXB shall be run under MESS.

 

There are still problems with Super Extended Basic. I noticed that there are memory accesses at 7c00 (and following) and read accesses at 7f00 and following. If anyone has a detailed description about the memory layout please contact me (i.e. is there RAM in the area or a mapper, or another device?).

 

Michael

Link to comment
Share on other sites

Some questions concerning the variants of Extended Basic:

 

Extended Basic v2.4, v2.6 look different than RXB versions. Are they also RXB or something different?

 

Also, I have "Extended Basic v2.5" with no mentioning of "RXB", but rxb24 and rxb26 which look equal except for the version number. Is that supposed to be named rxb25? I need to make sure we do not have a mix-up of different kinds of Extended Basic.

 

Also, I'd need the publishing years of the RXB versions (1002, 1005, 2000, 2001, 2002, 237, 24, (25?,) 26, 555).

 

Michael

 

Let's see if I can remember the history of XB v2.x, it may help.

 

It started out as XB Patch, on the first Pgram utilities disk. This was just a patch for TI XB, similar to GK XB.

 

The first full version was XB v2.1, followed the next year by XB v2.2.

 

At versions 2.3 and 2.4, the TI and Geneve versions split. v2.3 was for TI with Gram device and v2.4 was for

Geneve. The reason for the split was that the Geneve version had Geneve-specific commands that would have

unpredictable results when used on a TI.

 

Versions 2.5 and 2.6 followed the same format. v2.5 for TI and v2.6 for Geneve. I believe the only thing added here was

floppy formatting from the command line.

 

Version 2.7 was released for those few individuals that wanted DSQD formatting for DSK2, TI-only version.

 

If someone remembers my history better than I do, feel free to correct me. :)

 

Gazoo

Link to comment
Share on other sites

Well, I can't support your "software list" if it's part of MAME/MESS and I could have supported plain old zipped images ages ago if I thought it was a good answer. RPKs were a great solution to the problems of TI cartridge software.

 

I also disagree with the opinion that "homebrew" carts can't have an "authoritative" version. If anything it should be easier to get the authoritative version in that case. ;)

 

We just convinced Ed Swartz to look at adopting RPKs for his Java version of V9T9 as well, rather than introducing another new format.

 

We'll see how they develop I guess. I don't want to switch over to a new paradigm only to find it's already deprecated. I'll make the call when I'm ready to do the work, I guess.

 

Link to comment
Share on other sites

Hi Tursi,

 

as I said - I'm pretty sure the RPK format will stay with us. The plain zip is not what we had before: The difference is this new xml file that declares which parts of the zip go into which memory region.

 

As for authentic / authoritative version, you should keep in mind that the MAME/MESS people understand their work as a documentation of past systems and software. In many cases there is no one left to ask or to deliver the proper version.

 

So the RPKs are much better suited when there are new versions, patches, or mods. This becomes apparent with the current topic RXB where I would have to keep adding new version descriptions to this master xml file. Maybe I'll remove RXB from the softlist again and just offer it as RPK.

 

Michael

Link to comment
Share on other sites

.

.

There are still problems with Super Extended Basic. I noticed that there are memory accesses at 7c00 (and following) and read accesses at 7f00 and following. If anyone has a detailed description about the memory layout please contact me (i.e. is there RAM in the area or a mapper, or another device?).

 

Michael

 

The extra commands and enhancements were added in the >7800-7FFF;>9800->9FFF; >B800->BFFF; >D800->DFFF areas of GROM. Also the CALL DRAWNPLOT command moves several areas in GROM of those sections to low memory expansion (6K approx.). A "CALL FILES(2)", "NEW" and "CALL INIT" is needed before executing CALL DRAWNPLOT.

 

 

Tyler

Link to comment
Share on other sites

The extra commands and enhancements were added in the >7800-7FFF;>9800->9FFF; >B800->BFFF; >D800->DFFF areas of GROM. Also the CALL DRAWNPLOT command moves several areas in GROM of those sections to low memory expansion (6K approx.). A "CALL FILES(2)", "NEW" and "CALL INIT" is needed before executing CALL DRAWNPLOT.

 

 

Tyler

 

Yea I disassembled SXB just to see what the competition was doing when I wrote RXB.

It looks to be a rushed product. It would have been easy to do the CALL FILES(2), NEW, CALL INIT all built into the CALL DRAWNPLOT

And all the GKXB XB versions including SXB use the full 8K size of GROMs as the first draft of GKXB was on the GRAMKRACKER before any other new XB came out.

 

Rich

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