+mizapf Posted February 27, 2021 Author Share Posted February 27, 2021 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. Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted February 27, 2021 Share Posted February 27, 2021 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 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 27, 2021 Author Share Posted February 27, 2021 Ah, I did not notice that TIM and SOB. What does it mean? Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted February 27, 2021 Share Posted February 27, 2021 3 hours ago, mizapf said: Ah, I did not notice that TIM and SOB. What does it mean? @Gary from OPA mentions them here. I do not know much at all about these, but I do know that SOB is short for “Son Of a Board”. ...lee 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted February 27, 2021 Share Posted February 27, 2021 Yeah, as I follow, TIM is the TI Image Maker - the Yamaha 9958 replacement, and the SOB is a GROM replacement board, needed because the TI GROMs are not directly compatible with the 9958 (close, though). 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 27, 2021 Author Share Posted February 27, 2021 But since the TI-99/4A console emulation does not contain a 9958, I guess it does not really make sense to use those GROMs there. 1 Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted February 27, 2021 Share Posted February 27, 2021 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. 2 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 27, 2021 Author Share Posted February 27, 2021 (edited) 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 February 27, 2021 by mizapf 2 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 27, 2021 Author Share Posted February 27, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted February 27, 2021 Share Posted February 27, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
RickyDean Posted February 27, 2021 Share Posted February 27, 2021 If any of you have access to pc99, it has the sob groms as one of the options, I think it emulates the TIM too. 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2021 Share Posted March 13, 2021 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? Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 13, 2021 Author Share Posted March 13, 2021 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. Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2021 Share Posted March 13, 2021 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 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted March 13, 2021 Share Posted March 13, 2021 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?> Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2021 Share Posted March 13, 2021 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 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 13, 2021 Author Share Posted March 13, 2021 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.) Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2021 Share Posted March 13, 2021 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 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 13, 2021 Author Share Posted March 13, 2021 (edited) 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 March 13, 2021 by mizapf Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2021 Share Posted March 13, 2021 I am pasting a picture here, hoping I am in what you are calling the OSD. I do not see anything with "ports" to lead me to what you are describing. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted March 13, 2021 Author Share Posted March 13, 2021 (edited) 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.). Edited March 13, 2021 by mizapf 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 13, 2021 Share Posted March 13, 2021 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 3 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted March 14, 2021 Share Posted March 14, 2021 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. . . 4 Quote Link to comment Share on other sites More sharing options...
+9640News Posted March 14, 2021 Share Posted March 14, 2021 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. 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted March 14, 2021 Share Posted March 14, 2021 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. 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.