Jump to content
IGNORED

XB3 Cartridge EPROMs


Recommended Posts

As a favor, I cracked my XB3 cartridge open and read out the data from the two EPROMS that were on the board. The one on the left had a black label and the one on the right had a orange label. Each was 256k.

 

Sharing it here so everyone has access! Also threw in the scans of the manuals that came with it.

 

Version 3.11.9305.14 #2121772

 

XB3-Black-EPROM.BIN XB3-Orange-EPROM.BIN Asgard-XB3-SuperModule--Supplemental-Manual-1993.pdf

Edited by adamantyr
Add version
  • Like 7
  • Thanks 5
Link to comment
Share on other sites

Please note:

 

these will not run as posted in finalgrom99 or classic99.

 

I will tomorrow release a XB3 v3.11 that works perfectly for both finalgrom99 and classic99 missing the extra pop-cart features.

 

Also I am working on a version for UberGROM as well that include more of it but it will still be missing the SOB part.

 

 

Edited by Gary from OPA
  • Like 13
Link to comment
Share on other sites

Been busy today with a few things so haven't have time to fully dive into this and get something working on classic99 for others to enjoy, I got it partly done, but since classic99 doesn't support ROM banks at different bases, some changes to the code needs to be done, and sadly still te2 text-to-speech is an issue looking at a way to patch that to work.

 

As for Adam original files they are perfect dump, but they are twice as long as needed, each chip is only 128k in size.

 

Here is how it is all layed out in the two files!

 

======================

 

In the grom base 9800 first half of the 64k:

 

First 3 6k groms is the console os and ti basic with extra last 2k in each making up the sob opa mm added GPL code.

 

Then you have 5 8k groms that make up the XB3 v3.11

 

And then you have first 32k in the other chip now active as 4 pages of 8k at 6000 space when at 9800 for the XB3 ROM code.

 

-------------

 

Then at grom base 9804 second half of the 64k:

 

First 6k is console os grom and next 6k is ti basic, with extra last 2k in each making up the sob opa mm added GPL code, so basically the first 16k of the second half of the 64k matches the same 16k in grom base 0, this has to be done as code is used in both grom 0 and grom 1 in both banks.

 

Now here it starts to change the third grom which is normally the rest of ti basic is scrapped as it's not needed when running in grom base 9804, so it's replaced with the ti-writer grom which been relocated to work at 4000 grom 2 spot and being only 5k in length the last 3k available been used for the new pop-cart menu program and the virtual CART device.

 

Next in grom 3 and 4 you have the first part of the te2 module and then grom 5 you have the hangman game and grom 6 the rest of te2 cartridge and grom 7 the editor/assembler module.

 

Now, the crazy part of grom base 9804 the second half of the chip, the te2 groms, hangman, ea are all only 6k each so the 5 pages of the last 2k each are filled with data sectors from the virtual CART device that stores the various ea5 assembly programs included.

 

And finally the next 32k in the other chip is now active as the second set of 4 pages of 8k at 6000 space when at 9804 in which the first 4k contain the te2 text-to-speech assembly part and the remaining 28k is more data sectors for the virtual CART device.

 

-----------

 

Finally you have grom base 9808 and 980C which doesn't change the grom area, but does cause the 6000 space to change with 9808 mapping in the third section of 32k and 980C mapping in the last section of 32k.

 

All the remaining pages of 64k at the 6000 space are all filed with virtual data sectors for the special CART emulated disk drive device.

 

--------

 

The CART device is basically around 400 sectors in size making up 100k of data spread across the empty space between the 6k groms in second grom base and the remaining unused pages of 6000 ROM banks.

 

--------

 

I will be publishing more information on how it all works including the source code to the pop cart parts and making a patched version that should enable at least most of the features on classic99 at least and a bit less on finalgrom99.

 

I also going to publish my source code for this special virtual CART emulated disk drive thingy and make an updated version that runs on finalgrom99 along with my special patching program that can convert any ea5 program to understand the device as standard DSRLNK doesn't search cartridge space for devices.

 

-----------

 

Don't blame me if you attempt now to spilt up the original dumps above based on my information layout and you can't get it to work, I suggest waiting until I divided it up and released proper working files.

 

First, since most want just the XB3 part that can be easily done but there is a few minor changes needed as it uses some tricks and changes in grom 0 and that can only for now be emulated on PC not on real hardware using the finalgrom99, etc.

 

Edited by Gary from OPA
typos
  • Like 8
Link to comment
Share on other sites

@Gary from OPA before XB3 was popcarted to add additional features, do you happen to know what hardware Winfried Winkler developed on?

 

Did you have contact with him while producing the boards for Asgard, or were you just provided with the code and told, make a cartridge the module can run from?

 

Do you still have the PAL/GAL logic you used for this and/or SOB? It's pretty neat, how using the tech of the time, you where able to create a GROM emulator with just a couple of GALs.

  • Like 1
Link to comment
Share on other sites

10 hours ago, Gary from OPA said:

Don't blame me if you attempt now to spilt up the original dumps above based on my information layout and you can't get it to work, I suggest waiting until I divided it up and released proper working files.

 

First, since most want just the XB3 part that can be easily done but there is a few minor changes needed as it uses some tricks and changes in grom 0 and that can only for now be emulated on PC not on real hardware using the finalgrom99, etc.

I was able to run a bunch of XB programs, one gave an error (defining a couple of chars in one statement, which I deleted - and it also ran)...

 

It never crashed, just gave some I/O errors when it wasn't expected.

 

Attached...

XB3.zip

 

EDIT: Actually the error I got was on the multi line statement bit which said "CALL VCHAR(1,31,1,96)" and when I changed char 1 to 32 it also worked...  An XB3 oddity then?

 

EDIT2: Yep, doesn't like values for char from 1..29 - 30 and above only.

Edited by JasonACT
  • Like 2
Link to comment
Share on other sites

4 hours ago, Vorticon said:

What distinguishes XB3 from other Basics?

As I am disassembling the ROMs and GROMs to understand how it works the main feature is it has way more Floating Point math functions then other basics.

These are written in Assembly using the 3rd ROM.

Also XB3 has many added changed ROM routines that speed up some functions of XB.

For example in XB ROM is a routine called SPEED that in normal XB is faster than GPL for fetching values like CALL GCHAR(row,column,character-value) getting ROW and COLUMN is faster.

XB3 has added more routines so it does more comparisons like not just checking ROW and COLUMN it also checks ranges of numbers or validates values.

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

Barry Boone deserves some credit for XB3.

 

Coming back from an AZ fest, Beery, Mike Maksimik, Jeff White, me and a couple of folks from the Tennessee users group stopped in on Barry in OK. And he was showing us some source code from XB3. Winfried would send him changes, over some of the very first University connections to the internet and Barry would go over changes and send him comments and code.

 

So literally there was working on XB3 going on around the clock! 😃

 

 

  • Like 6
Link to comment
Share on other sites

3 hours ago, dhe said:

Barry Boone deserves some credit for XB3.

 

Coming back from an AZ fest, Beery, Mike Maksimik, Jeff White, me and a couple of folks from the Tennessee users group stopped in on Barry in OK. And he was showing us some source code from XB3. Winfried would send him changes, over some of the very first University connections to the internet and Barry would go over changes and send him comments and code.

 

So literally there was working on XB3 going on around the clock! 😃

 

 

And I did beta testing of it for Winfried while I was in Germany. I also put him into contact with Chris Bobbitt to arrange for it to incorporate utilization of AEMS memory. He received on of the first AEMS cards delivered to Asgard for the project--a fortuitous event which got Michael Becker interested in adding AEMS memory to his SGCPU card.

  • Like 3
Link to comment
Share on other sites

16 hours ago, dhe said:

@Gary from OPA before XB3 was popcarted to add additional features, do you happen to know what hardware Winfried Winkler developed on?

 

Did you have contact with him while producing the boards for Asgard, or were you just provided with the code and told, make a cartridge the module can run from?

 

Do you still have the PAL/GAL logic you used for this and/or SOB? It's pretty neat, how using the tech of the time, you where able to create a GROM emulator with just a couple of GALs.

As far i as remember Winfried used the 128k Gram Karte device to do the development work on.

I didn't have much contact with Winkler only on some of the GPL updates and most of my dialog was with Chris of Asgard.

 

As for the GAL logic I am working on recreating it from some partial early printouts I have of it, I don't have the final code, which was basically the two GAL's used in the SOB with added one to handle the banks of grom and rom logic, timing is very picky with the system, but I got it down good, the SOB needed a tiny resistor added afterwards to fix some timing bugs, but the Pop-Cart had those fixed, but still different brands of the same GAL would not work, infact older PAL were not fast enough at all, reason was the later GAL was used.

 

Now of course the new ATF series would have to be used, and that is what I am working on recreating it for and being faster then the older parts should make the timing a bit easier overall, plus I want to update it to handle QI consoles as the original Pop-Cart would not work on QI systems, that is a bit harder as you can't override the console groms the same way, plus you have no CRU logic for added features.

 

Here is just the XB3 with EA basically working for Classic99 and FinalGrom99 -- The only error is i/o error on startup if there is no LOAD file found on the floppy disk. -- Everything else should work fine, including the "apesoft" graphics library which were included from the mechatronic xb cartridge.

 

This is similar to what @JasonACT posted earlier.

 

I still want to put together a more complete package with Classic99 users that includes the TI-Writer and other Pop-Cart features. Plus re-write my CART emulate disk drive for FinalGrom99 so that things like the files needed for TI-Writer and Editor/Assembler can be loaded from the CART device using a larger ROM file, plus also update the Editor/Assembler part to include the Winkler updates he did later on to select TMS9900 or GPL Assembler from the menu, and add in a 80-col option for E/A (TI-Writer) parts for those with v9938 and F18a cards.

 

XBIIIC.BIN XBIIIG.BIN

Edited by Gary from OPA
Added Test FinalGrom99 / Classic99 XB3 only files
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

9 minutes ago, adamantyr said:

Man I had no idea I was the ONLY one who had this cart in our community at the moment. I think, Gary, you said that maybe 150 got shipped? And just one here now? Sheesh. What are the odds?

Yeah. Not many left still. There is others but they are hiding or no longer active. I have one person near me that still has one and hoping he will let me play with it for a few hours to dump the gals when he gets back from his Canadian snowbird winter vacation in early May. I had one but it got destroyed in Dominican Republic. Most are either in a dusty box in basement somewhere forgotten or worse in trash landfill site, with a few in heavy guarded collectors vaults to never be inserted into actual system again and have power applied to it.

Link to comment
Share on other sites

Hi

 

Thanks for the opportunity to try out XB3 i Classic99. What is the correct entry in the Classic99.ini file to allow me to activate it from the Cartridge/User menu? I tried this with the .BIN files in the MODS directory using the entry below. But no entry appeared in the boot-up screen apart from the ever present TI-basic.

 

[UserCart0]
name="XB3"
ROM0=G|6000|2000|MODS\XB3-G.BIN

 

 

It works well if I start it directly by selecting the .BIN file.

 

The assembler part worked for me as well once I had DSK1 pointing to the disk image for assembler-editor disk 1. Selecting DSK9 to select a cartridge version of, say, the editor, as described in the manual, does not work. DSK9 does not point to anything in a regular Classic99 setup. Is there a trick here to make it work?

  • Like 1
Link to comment
Share on other sites

5 hours ago, jschultzpedersen said:

Hi

 

Thanks for the opportunity to try out XB3 i Classic99. What is the correct entry in the Classic99.ini file to allow me to activate it from the Cartridge/User menu? I tried this with the .BIN files in the MODS directory using the entry below. But no entry appeared in the boot-up screen apart from the ever present TI-basic.

 

[UserCart0]
name="XB3"
ROM0=G|6000|2000|MODS\XB3-G.BIN

 

 

It works well if I start it directly by selecting the .BIN file.

 

The assembler part worked for me as well once I had DSK1 pointing to the disk image for assembler-editor disk 1. Selecting DSK9 to select a cartridge version of, say, the editor, as described in the manual, does not work. DSK9 does not point to anything in a regular Classic99 setup. Is there a trick here to make it work?

If you want the it as ini entry you need to have both files listed with the C one as well loading as type 8. I will post the a ini file later on once I am in my office.

 

As for the dsk9 in cartridge version that will not work until I released a patched pop-cart version that includes the special CART emulated disk device. Normally the files come from the larger original ROM file. But classic99 doesn't support the pop-cart banking scheme, but since I have the source code for my own part of this XB3 module I will be able to rewrite it to support today's current banking scheme, give me a couple more days and I will release a more complete version for classic99.

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

The RPK for MAME.

 

Is it right that without a floppy disk in the drive 1, I'm getting an I/O error 06, with a disk without LOAD, this is an I/O error 07? The original Extended Basic simply started when it could not load DSK1.LOAD.

xb3.rpk

  • Like 3
Link to comment
Share on other sites

2 hours ago, mizapf said:

The RPK for MAME.

 

Is it right that without a floppy disk in the drive 1, I'm getting an I/O error 06, with a disk without LOAD, this is an I/O error 07? The original Extended Basic simply started when it could not load DSK1.LOAD.

xb3.rpk 38.88 kB · 3 downloads

That is correct, it is a small bug in the code. At first I thought it was a problem with emulators but I tested it on real hardware and you get the same error messages.

  • Like 2
Link to comment
Share on other sites

2 hours ago, mizapf said:

The RPK for MAME.

 

Is it right that without a floppy disk in the drive 1, I'm getting an I/O error 06, with a disk without LOAD, this is an I/O error 07? The original Extended Basic simply started when it could not load DSK1.LOAD.

xb3.rpk 38.88 kB · 3 downloads

You have to hold the SPACE BAR to avoid the Error Report and get a *READY* instead. 

Also the REA cart is way better then the EA cart XB3 supports. 

Link to comment
Share on other sites

I am doing a list like previously to test speeds of XB3 3.1 of many commands vs other XB variants and will post results.

I already did this for XB3 3.0 already and I will include both.

Edited by RXB
missing text
  • Like 4
Link to comment
Share on other sites

This still causes me trouble. From the size of the files (40 and 32 Kb) I would expect to write this to the INI file:

 

[UserCart0]
name="XB3"
ROM0=G|6000|A000|MODS\XB3-G.BIN

ROM1=C|6000|8000|MODS\XB3-C.BIN

 

From what I understand, it does not matter what you write for the file size in a 'G' entry. Classic99 autodetects the size anyway. But what is the correct location and size in this case for the 'C' entry?

Link to comment
Share on other sites

27 minutes ago, jschultzpedersen said:

This still causes me trouble. From the size of the files (40 and 32 Kb) I would expect to write this to the INI file:

 

[UserCart0]
name="XB3"
ROM0=G|6000|A000|MODS\XB3-G.BIN

ROM1=C|6000|8000|MODS\XB3-C.BIN

 

From what I understand, it does not matter what you write for the file size in a 'G' entry. Classic99 autodetects the size anyway. But what is the correct location and size in this case for the 'C' entry?

The above works, just make one change use type 8 for the C file, so it loads all 32k into 4 pages at the 6000 space.

Link to comment
Share on other sites

2 hours ago, jschultzpedersen said:

ROM1=C|6000|8000|MODS\XB3-C.BIN

 

From what I understand, it does not matter what you write for the file size in a 'G' entry. Classic99 autodetects the size anyway. But what is the correct location and size in this case for the 'C' entry?

You're confusing me ...I thought we were using UNDERSCORES now...

 

Assuming the filenames are:

XB3_G.BIN

XB3_C.BIN

 

[UserCart0]
name="XB3"
ROM0=G|6000|A000|MODS\XB3_G.BIN
ROM1=8|0000|8000|MODS\XB3_C.BIN

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