Jump to content

Photo

RXB problems in MESS

RXB

25 replies to this topic

#1 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,607 posts
  • Location:Germany

Posted Thu Jan 31, 2013 3:21 PM

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

#2 CantStopClicking OFFLINE  

CantStopClicking

    Moonsweeper

  • 316 posts
  • Location:Pacific Northwest (and I hate it)

Posted Thu Jan 31, 2013 7:59 PM

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....512k-cartridge/

-Dano

#3 Torrax OFFLINE  

Torrax

    Chopper Commander

  • 127 posts

Posted Thu Jan 31, 2013 8:55 PM

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.

#4 kl99 OFFLINE  

kl99

    Dragonstomper

  • 869 posts
  • Location:Vienna, Austria

Posted Fri Feb 1, 2013 3:20 AM

Hi Michael!
This is Klaus Lukaschek from Austria.
Welcome on board :)
RXB is here a lot actually, i have taken a first look in the RXB software and GPL this week, it looks like a nice cartridge!
Klaus

#5 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Fri Feb 1, 2013 10:13 AM

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, Fri Feb 1, 2013 10:14 AM.


#6 OX. OFFLINE  

OX.

    Dragonstomper

  • 517 posts

Posted Fri Feb 1, 2013 11:30 AM

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

#7 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Fri Feb 1, 2013 2:29 PM

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.ninerpedi...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, Fri Feb 1, 2013 2:31 PM.


#8 OX. OFFLINE  

OX.

    Dragonstomper

  • 517 posts

Posted Fri Feb 1, 2013 3:02 PM

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., Fri Feb 1, 2013 3:36 PM.


#9 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Fri Feb 1, 2013 3:39 PM

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

#10 RXB OFFLINE  

RXB

    River Patroller

  • 3,583 posts
  • Location:Vancouver, Washington, USA

Posted Fri Feb 1, 2013 3:52 PM

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

#11 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 4,225 posts
  • Location:Denmark

Posted Fri Feb 1, 2013 4:55 PM

Welcome Michael. Good to have you here.

Don't know, - these posts might interest you ...

http://www.atariage....ost__p__2099664
http://www.atariage....ost__p__2020247
http://www.atariage....ost__p__2020190
http://www.atariage....ost__p__2021682
http://www.atariage....ost__p__2021506
http://www.atariage....ost__p__2021080

:)

#12 OX. OFFLINE  

OX.

    Dragonstomper

  • 517 posts

Posted Fri Feb 1, 2013 5:08 PM

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

#13 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,638 posts
  • HarmlessLion
  • Location:BUR

Posted Fri Feb 1, 2013 7:13 PM

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?

#14 Torrax OFFLINE  

Torrax

    Chopper Commander

  • 127 posts

Posted Fri Feb 1, 2013 8:57 PM

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

#15 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,271 posts

Posted Fri Feb 1, 2013 9:06 PM

I have both the standard SEB cartridge and one modified as a Multi-Mod Michael. Es ist sehr gut Dich Hier zu sehen! :)

#16 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Sat Feb 2, 2013 7:16 AM

Is there any technical documentation concerning the GROM simulation on the non-TI cartridges, or is it safe to assume that these cartridges behave like GRAMKracker?

Michael

#17 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Sat Feb 2, 2013 7:42 AM

@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, Sat Feb 2, 2013 7:45 AM.


#18 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Sat Feb 2, 2013 11:22 AM

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

#19 RXB OFFLINE  

RXB

    River Patroller

  • 3,583 posts
  • Location:Vancouver, Washington, USA

Posted Sat Feb 2, 2013 4:41 PM

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

#20 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Sat Feb 2, 2013 4:43 PM

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

#21 Gazoo OFFLINE  

Gazoo

    Stargunner

  • 1,507 posts
  • Location:Downingtown, PA

Posted Sat Feb 2, 2013 4:57 PM

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

#22 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,638 posts
  • HarmlessLion
  • Location:BUR

Posted Sat Feb 2, 2013 5:41 PM

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.


#23 mizapf OFFLINE  

mizapf

    River Patroller

  • Topic Starter
  • 3,607 posts
  • Location:Germany

Posted Sat Feb 2, 2013 6:27 PM

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

#24 Torrax OFFLINE  

Torrax

    Chopper Commander

  • 127 posts

Posted Sun Feb 3, 2013 11:03 PM

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

#25 RXB OFFLINE  

RXB

    River Patroller

  • 3,583 posts
  • Location:Vancouver, Washington, USA

Posted Mon Feb 4, 2013 4:39 AM

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





Also tagged with one or more of these keywords: RXB

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users