Jump to content
IGNORED

New MAME release


mizapf

Recommended Posts

54 minutes ago, arcadeshopper said:
My next question, if I may.. I scooped up GROM 0, 1, and 2 from my console (which has a TIM and SOB) and XMODEM'd them over my UDS-10 to my PC. I have them working just fine in Fred Kaal's Ti994w, but I was wondering if it could be shoehorned into MESS/MAME?

 

To the person on Discord:

 

1. We have all required ROM dumps on WHtech, so possibly no need to dump by yourself. Check out https://ftp.whtech.com/System%20ROMs/MAME/ti99_4a.zip

2. If you really want to use your own dumps:

a) You need GROM 0, 1, 2 *and* the two 4K ROMs in the console.

b) To create the GROM dumps for MAME, store the 6 KiB of GROM 0 in file 994a_grom0.u500, the 6 KiB of GROM 1 in 994a_grom1.u501, the 6 KiB of GROM 2 in 994a_grom2.u502, and all bytes from even addresses of 0000-1FFF in 994a_rom_hb.u610, and all bytes from odd addresses of 0000-1FFF in 994a_rom_lb.u611.

c) Zip all five files into a file ti99_4a.zip and put it in the rompath.

 

Link to comment
Share on other sites

 
To the person on Discord:
 
1. We have all required ROM dumps on WHtech, so possibly no need to dump by yourself. Check out https://ftp.whtech.com/System%20ROMs/MAME/ti99_4a.zip
2. If you really want to use your own dumps:
a) You need GROM 0, 1, 2 *and* the two 4K ROMs in the console.
b) To create the GROM dumps for MAME, store the 6 KiB of GROM 0 in file 994a_grom0.u500, the 6 KiB of GROM 1 in 994a_grom1.u501, the 6 KiB of GROM 2 in 994a_grom2.u502, and all bytes from even addresses of 0000-1FFF in 994a_rom_hb.u610, and all bytes from odd addresses of 0000-1FFF in 994a_rom_lb.u611.
c) Zip all five files into a file ti99_4a.zip and put it in the rompath.
 
So you have that version in there already?

Sent from my LM-V600 using Tapatalk

Link to comment
Share on other sites

If you use the EVPC emulation, you open up MAME to the use of the 9938-compatible GROM0. That leads you down yet another path. With the HSGPL card also installed, you can swap that GROM0 (by Winfred Winkler) for the custom GROM0 that Tony Knerr made years ago that corrects some of the problems created with the Winfred Winkler 80-column GROM. I have been using Tony's GROM 0 on my real gear for years and it works fine in MAME.

  • Like 2
Link to comment
Share on other sites

Well, then ... I'd recommend to use the dumped GROMs with the driver ti99_4ev, using the process as described above. The ti99_4ev driver looks for ROM dumps named as follows:

 

994a_grom0.u500

994ev_grom1.u501

994a_grom2.u502

994a_rom_hb.u610

994a_rom_lb.u611

 

It will certainly complain about mismatched CRC and SHA1, but this can be ignored. Note that we don't use a special GROM 0 but a modified GROM 1 (ever since, there has not been any special GROM 0 version in the set of ROM dumps).

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

I just got a mail from Jesse who asked about the SOB. As he said, the GROM dumps are 8K in size; this is, in fact, a hard showstopper for the emulation, as I emulate GROMs (not a simulation) of them, and those are limited to 6K. To make that work, I would need to add this SOB as a specifically emulated piece of hardware. This is similar to the cartridges where we have "standard" type cartridges and "gromemu" cartridges.

  • Like 1
Link to comment
Share on other sites

I'll have to check (tomorrow) but I "think" the GROMs for TIM/SOB and the Tony Knerr GROMs, while they are nominally 8K in length, have no useful data in the last 2K. They can be safely altered to fit by truncating the last 2K. As I remember, they are all "00". When you load them, the last 2K is ignored.

 

I was able to substitute Tony's GROM0 in the HSGPL emulation without any problems or hiccups.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Michael,

 

I run the following line from a BAT file for MAME64.exe:

 

mame64 geneve -peb:slot4 memex -peb:slot5 tirs232 -peb:slot8 hfdc -peb:slot8:hfdc:h1 generic -peb:slot8:hfdc:h2 generic -peb:slot8:hfdc:h3 generic -peb:slot8:hfdc:f3 525dd -peb:slot8:hfdc:f4 525dd -hard1 Bootdisk1.HD -hard2 Bootdisk2.HD -hard3 Bootdisk3.HD -flop1 dsdd1.dsk -flop2 dsdd2.dsk -flop3 dsdd3.dsk -flop4 dsdd4.dsk -serl1 socket.localhost:10000 -debug
 

What needs to be added to implement the Horizon Ramdisk for the Geneve?  Are there 8 bit and/or 16 bit variants of the Horizon Ramdisk settings?

 

Also, at what version of MAME did the Horizon Ramdisk code get implemnted.  I've got 0.194 setup for the moment, so I am thinking I will need to upgrade, but won't if it is already in place with my version. 

 

Also, was there a PFM update for the Geneve as well?

 

Link to comment
Share on other sites

Horizon: "-peb:slot6 horizon" or whatever slot is free.

PFM: Have a look at the OSD, "Machine configuration" -> "Boot from..."

 

Keep a bookmark on https://www.mizapf.de/ti99/mame/changes. You can easily see when a feature was introduced or changed.

 

As for the Horizon, you should install at least 0.227 because I reimplemented the Horizon basically from scratch. An earlier version was available since 0.173, but it could happen that the nvram files (which store the contents of the card) do not properly work with the reimplemented version. If you already use 0.194 you can safely upgrade to the latest version. Keep in mind that I fixed an issue with the debugger for Geneve in 0.229, and as you obviously run the debugger window, this should be helpful for you.

Link to comment
Share on other sites

I was able to add the Horizon, and FORM9 for the Geneve identified the CRU at >1200 using the command line below.  Downside at CRU at >1200, there is no Geneve REMAP command to map it for use.  Is there someplace the CRU can be assigned? The Geneve remap has options for 16 bit at 1400, 1600, 1000, 1700, 1800, and 1900.  Is there a command line string to add it the CRU or a CFG file setting I need?  I don't see anything with the latest version I downloaded.

 

mame geneve -peb:slot3 horizon -peb:slot4 memex -peb:slot5 tirs232 -peb:slot8 hfdc -peb:slot8:hfdc:h1 generic -peb:slot8:hfdc:h2 generic -peb:slot8:hfdc:h3 generic -peb:slot8:hfdc:f3 525dd -peb:slot8:hfdc:f4 525dd -hard1 Bootdisk1.HD -hard2 Bootdisk2.HD -hard3 Bootdisk3.HD -flop1 dsdd1.dsk -flop2 dsdd2.dsk -flop3 dsdd3.dsk -flop4 dsdd4.dsk -serl1 socket.localhost:10000 -debug
 

 

Link to comment
Share on other sites

6 minutes ago, 9640News said:

The Geneve remap has options for 16 bit at 1400, 1600, 1000, 1700, 1800, and 1900. 

This raises a question:  The horizon ramdisk CRU selection DIP is only 8 positions [1000,1100...,1700].  Why did MDOS/Geneve OS allow for CRU 1800 and 1900? Was this an old, deprecated hardware option or a hardware/software  incongruity?>  

Link to comment
Share on other sites

I do not know the origin.  I did look over the REMAP command recently, and I think Jim Schroeder pass on some details to me.  I don't know if that was something he passed on to me with that range, or, not knowing/thinking there was a dip switch CRU limit, try to cover as many possibilities as possible.

 

If those settings are not possible, then that would be some open options available for the future.

 

Beery

Link to comment
Share on other sites

27 minutes ago, 9640News said:

I was able to add the Horizon, and FORM9 for the Geneve identified the CRU at >1200 using the command line below.  Downside at CRU at >1200, there is no Geneve REMAP command to map it for use.  Is there someplace the CRU can be assigned? The Geneve remap has options for 16 bit at 1400, 1600, 1000, 1700, 1800, and 1900.  Is there a command line string to add it the CRU or a CFG file setting I need?  I don't see anything with the latest version I downloaded.

You cannot set the values of DIP switches or configuration switches from the command line, as far as I know. Those settings are persistently stored in the cfg/<driver>.cfg file (here, cfg/geneve.cfg). If you want to preserve them you should make a copy of this file and copy it in place whenever you need it. Or you have to try the "-cfg_directory" option which allows you to set a different cfg folder. This option can be put into the command line. (I never tried it, but it could help here.)

Link to comment
Share on other sites

1 minute ago, mizapf said:

You cannot set the values of DIP switches or configuration switches from the command line, as far as I know. Those settings are persistently stored in the cfg/<driver>.cfg file (here, cfg/geneve.cfg). If you want to preserve them you should make a copy of this file and copy it in place whenever you need it. Or you have to try the "-cfg_directory" option which allows you to set a different cfg folder. This option can be put into the command line. (I never tried it, but it could help here.)

I attached my geneve.cfg file, but I do not know how I would modify it to set another CRU, etc.

geneve.cfg

Link to comment
Share on other sites

Go inside MAME, set the CRU address via the OSD, and then compare the file.

 

Edit: You should see an element <port> with appropriate attributes and contents. When the setting matches the default, no entry is included in the config file.

Edited by mizapf
Link to comment
Share on other sites

No, the OSD (on-screen display menu) is where you get when you press TAB in partial keyboard mode. Partial keyboard and full keyboard mode are toggled by ScrlLock. Sorry, I thought you knew about these points because they are really essential when using MAME (configuration, dip switches, change media, set volume, redefine keyboard etc.).

geneveosd.png

Edited by mizapf
  • Like 1
Link to comment
Share on other sites

OK, I got it.  Was able to format the HRD to 1600 sectors.

 

Is there a limit on the mame\nvram\geneve\peb_slot3_horizon file size?  It looks like it is 2,056 KB.  Can it be increased to an 8 or 16 MB file by just making the file larger?

 

Looking at testing the new MDOS with formatting a larger HRD than the 8MB setups we have.

 

Beery

  • Like 3
Link to comment
Share on other sites

If you get that working in MAME, @9640News, you may also be able to do the same thing on an HRD4000B using a second 74HCT154 and a second layer of memory chips. The HRD4000 design in general was designed to support up to four layers of chips (also requires using dual-stacked 154s), but the drive size limitations basically prevent use of anything larger than about 8M on a /4A. That limitation effectively disappears when using a single large drive on a Geneve. Do note that no one has ever tested one larger than 8M as a single Geneve hard drive yet, as the largest HRDs currently in the wild top out as single-layer, 8M boards.

 

Oooooooh, four layers of 512K chips would give you a 32M RAM Disk. . .

  • Like 4
Link to comment
Share on other sites

8 hours ago, Ksarul said:

If you get that working in MAME, @9640News, you may also be able to do the same thing on an HRD4000B using a second 74HCT154 and a second layer of memory chips. The HRD4000 design in general was designed to support up to four layers of chips (also requires using dual-stacked 154s), but the drive size limitations basically prevent use of anything larger than about 8M on a /4A. That limitation effectively disappears when using a single large drive on a Geneve. Do note that no one has ever tested one larger than 8M as a single Geneve hard drive yet, as the largest HRDs currently in the wild top out as single-layer, 8M boards.

 

Oooooooh, four layers of 512K chips would give you a 32M RAM Disk. . .

While the idea of a 16 or 32 MB HRD does interest me, right now, I think I will stick with the 2 x 8M HRD's I have.  I'm finding their biggest use is to cut down on assembly time of MDOS, and the occasional reassembly of ABASIC and GPL.  When I have stable code bases, I am then copying from HRD to TIPI to maintain a second backup, and then periodically making a backup of the TIPI to a folder on my Windows PC.

 

 

  • Like 2
Link to comment
Share on other sites

13 hours ago, Ksarul said:

Do note that no one has ever tested one larger than 8M as a single Geneve hard drive yet, as the largest HRDs currently in the wild top out as single-layer, 8M boards.

I know it doesn't count as a single board, but back a few years ago I spanned two 8MB ramdisks (via the Geneve DSR code) to create a 16MB ram harddrive for testing purposes  ;)   I'm still finding the 8MB capacity to be a -very- comfortable size for the Geneve. 

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