+mizapf Posted July 13, 2014 Share Posted July 13, 2014 *** FOOTBALL WORLD CHAMPION!!!! *** (sorry for all of you less interested, I'm usually not a real football fan either, but this was a great game!) 1 Quote Link to comment Share on other sites More sharing options...
Gazoo Posted July 13, 2014 Share Posted July 13, 2014 *** FOOTBALL WORLD CHAMPION!!!! *** (sorry for all of you less interested, I'm usually not a real football fan either, but this was a great game!) Didn't know you were a Seahawks fan. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 18, 2014 Share Posted September 18, 2014 Does MESS RPK format support GROMs in multiple bases/banks (whatever it's called)? Has anyone made an RPK version of the Gazoo's Extended Basic 2.7 cartridge? 1 Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted September 18, 2014 Author Share Posted September 18, 2014 Does MESS RPK format support GROMs in multiple bases/banks (whatever it's called)? Has anyone made an RPK version of the Gazoo's Extended Basic 2.7 cartridge? An excellent question. I've faffed around with trying to make one, but I haven't spent as much time as I'd like to on it, and Gazoo's XB has me thinking about it again too . Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 18, 2014 Share Posted September 18, 2014 Does MESS RPK format support GROMs in multiple bases/banks (whatever it's called)? Has anyone made an RPK version of the Gazoo's Extended Basic 2.7 cartridge? If you start with option "-gromport multi" (or select this in QMC2) you get a 4-cartridge expander based on GROM base switching. You can also use the HSGPL emulation for a 16-bank GROM emulation. If a single cartridge wants to use multiple GROM banks we would have to add a new cartridge type. Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted September 18, 2014 Share Posted September 18, 2014 (edited) Michael, the ÜberGROM does support multiple GROM bases (up to 15 of them) in a single cartridge. They can be mix-and-match divided amongst the GROM bases, with a hard limit of 120K of GROM per cartridge. It also supports up to 512K of bank-switched ROM in the >6000 space, using non-inverted bank switching (74LS378 does the switching). There are now cartridge images for four different cartridges out there that use this functionality (and I have physical examples of each of them in my possession). The XB 2.7 cartridge mentioned above uses all of the available space in the module. . . Edited September 18, 2014 by Ksarul Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 18, 2014 Share Posted September 18, 2014 Ok then, new cartridge type. I did not follow the "ÜberGROM" discussion too closely some months ago. This looks like an extension of the existing 379i cartridge type. What I did not understand is the CPU memory start address. All cartridges only have a ROM space of 6000-7FFF, so what does it mean to specify A000 or other locations? Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 18, 2014 Share Posted September 18, 2014 Perhaps the layout.xml file could look like this? <?xml version="1.0" encoding="utf-8"?> <romset version="1.0" listname="xb27suite"> <resources> <rom id="gromimage" file="g9800.bin"/> <rom id="grom2image" file="g9804.bin"/> <rom id="grom3image" file="g9808.bin"/> <rom id="grom4image" file="g980C.bin"/> <rom id="romimage" file="backwards512kROM.bin"/> </resources> <configuration> <pcb type="paged379i"> <socket id="grom_socket" uses="gromimage"/> <socket id="grom2_socket" uses="grom2image"/> <socket id="grom3_socket" uses="grom3image"/> <socket id="grom4_socket" uses="grom4image"/> <socket id="rom_socket" uses="romimage"/> </pcb> </configuration> </romset> Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 18, 2014 Share Posted September 18, 2014 No, unfortunately not, as 379i does not define a grom_socket. (Also see ninerpedia for a complete list.) Would clearly require a new type. Is it a single ROM circuit on the board? In that case we should also plan for a single ROM dump file. Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted September 18, 2014 Author Share Posted September 18, 2014 That's too bad - sounds like we would have to have to re-invent the wheel? Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted September 18, 2014 Share Posted September 18, 2014 It also supports up to 512K of bank-switched ROM in the >6000 space, using non-inverted bank switching (74LS378 does the switching). There are now cartridge images for four different cartridges out there that use this functionality (and I have physical examples of each of them in my possession). Do you think it might be possible to get 4A DOS to work out of the cart? Obtaining the CHARA1 file from the cart does not seem to be an issue as it was done in the XB 2.7s cart. Naturally it would have to access DSK1. for it's BAT files. Down the road I'd like to commission a cart with 4A DOS, the HDX DSR loader, DSK2PC, PAL as well as a few others like the 80 column BA-Writer. I have no clue if Multiplan is even possible Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted September 18, 2014 Author Share Posted September 18, 2014 Do you think it might be possible to get 4A DOS to work out of the cart? Obtaining the CHARA1 file from the cart does not seem to be an issue as it was done in the XB 2.7s cart. Naturally it would have to access DSK1. for it's BAT files. Down the road I'd like to commission a cart with 4A DOS, the HDX DSR loader, DSK2PC, PAL as well as a few others like the 80 column BA-Writer. I have no clue if Multiplan is even possible That's a neat idea. The only thing is 4A DOS's limitations - although for a 'standard' RI setup with floppy drives it is still quite useful . 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 18, 2014 Share Posted September 18, 2014 That's too bad - sounds like we would have to have to re-invent the wheel? Which wheel? (apart from that, adding a new cartridge type is not too difficult when I know the whole story) 1 Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted September 18, 2014 Author Share Posted September 18, 2014 It sounded a bit more involved than it is . I was concerned that a change would render existing carts useless. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 18, 2014 Share Posted September 18, 2014 My question still is what is meant by "CPU Addr" and "Start Addr". The cartridge port does not have those addresses, so what happens when I write to 6004 to select Centipede? Bank Number Eprom Addr Write to CPU Addr Start Addr Contents ----------- ---------- -------- -------- ---------- -------- 1 >0000 >6000 GAMES menu program 2 >2000 >6002 >A000 >A000 Paddleball 3 >4000 >6004 >A000 >A056 Centipede 4 >6000 >6006 >C000 >E02E Dig Dug 5 >8000 >6008 >E000 Dig Dug 6 >A000 >600A >A000 >A072 Defender ... Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted September 18, 2014 Share Posted September 18, 2014 That's a neat idea. The only thing is 4A DOS's limitations - although for a 'standard' RI setup with floppy drives it is still quite useful . Exactly. I run two different profiles, with the HDX I've been using a modified version of KWIKLOAD, although lately XB 2.7S seems to be staying in the slot and I've been using that carts copy of DM2K . Now when it comes to using the HxC or floppy, I much prefer 4A DOS. I can swap disks or press a button for the next virtual drive, then run the batch file for that diskette, do a directory, or just run the program. Since it runs in unison with the E/A, it's always been the easiest way to run E/A 3 programs. 4A/DOS also exploits the 80 column mode of the F18A which is always a plus. Back in the 80's 4A/DOS was my menu loader of choice. All I had to do was keep a copy of the batch file and the CHARA1 on the individual disks. Now days if a cart could be made, only the batch file would be necessary. 1 Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted September 18, 2014 Author Share Posted September 18, 2014 4a/DOS with 80-columns is pretty hot stuff . Quote Link to comment Share on other sites More sharing options...
Gazoo Posted September 18, 2014 Share Posted September 18, 2014 My question still is what is meant by "CPU Addr" and "Start Addr". The cartridge port does not have those addresses, so what happens when I write to 6004 to select Centipede? Bank Number Eprom Addr Write to CPU Addr Start Addr Contents ----------- ---------- -------- -------- ---------- -------- 1 >0000 >6000 GAMES menu program 2 >2000 >6002 >A000 >A000 Paddleball 3 >4000 >6004 >A000 >A056 Centipede 4 >6000 >6006 >C000 >E02E Dig Dug 5 >8000 >6008 >E000 Dig Dug 6 >A000 >600A >A000 >A072 Defender ... Writing to >6004 maps the the eprom contents from >4000 to >5FFF into the cartridge port's memory from >6000 to >7FFF. At this point, the memory from >6000 to 7FFF is copied to addresses >A000 to >BFFF and then the address >A056 is branched to to execute the program Centipede. Gazoo Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 18, 2014 Share Posted September 18, 2014 How is the copy done? Is it done automagically by the hardware, or is there a copy program inside that is invoked on selection? This is important for me in order to add the cartridge type to MESS. 1 Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted September 19, 2014 Author Share Posted September 19, 2014 Automagic.... <chuckles> haven't heard that one in a while... Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 19, 2014 Share Posted September 19, 2014 (edited) How is the copy done? Is it done automagically by the hardware, or is there a copy program inside that is invoked on selection? This is important for me in order to add the cartridge type to MESS. All copies happen in software, no DMA or anything like that exists (or is possible on the 4A by my current understanding, anyway.) The 512k ROM side is just an extension of the old 379 scheme (except that the bank select lines are no longer inverted, that is, hitting >6000 activates the first 8k on the ROM, not the last one). The GROM side is much more complicated, depending on how much of it you wish to emulate. At a minimum, there is 120k of GROM space divided into 8k pages, and a mapping/configuration space in EEPROM that stores which page appears where to the console. At a maximum, it also has the ability to rewrite its own flash, 12k of RAM, 4k of EEPROM, a UART, 4 ADCs, 6 GPIO and an independent counter, all mappable to TI GROM space. The manual should be in the UberGROM thread, but I can provide if you can't find it. Edited September 19, 2014 by Tursi 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 19, 2014 Share Posted September 19, 2014 How is the copy done? Is it done automagically by the hardware, or is there a copy program inside that is invoked on selection? This is important for me in order to add the cartridge type to MESS. The start address is irrelevant with respect to emulation. This is just information for Gazoo's ROM to RAM loader. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 19, 2014 Share Posted September 19, 2014 All copies happen in software, no DMA or anything like that exists (or is possible on the 4A by my current understanding, anyway.) You're right - when I think a bit longer about it, a DMA to other memory locations is not possible. We have a READY line, but we do not have enough address lines in the cartridge port. I was just a bit confused by the specification of the ÜberGROM. It looks as if I just need to write a value to 60xx, and the contents appear at the given location. 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 19, 2014 Share Posted September 19, 2014 You're right - when I think a bit longer about it, a DMA to other memory locations is not possible. We have a READY line, but we do not have enough address lines in the cartridge port. It's worse than that, actually. READY only waits the CPU, it does not stop the CPU from driving the bus. (So, for instance, the address lines are still being driven. If they were not, you could not use the READY line to slow down operation for slower memories, which is what it's for.) We actually have a line on the CPU called HOLD which pauses the 9900 and makes it release the bus so that DMA or other processors can use it -- but this line is hard wired on the 4A, so we can't use it. 1 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted September 20, 2014 Share Posted September 20, 2014 It's worse than that, actually. READY only waits the CPU, it does not stop the CPU from driving the bus. (So, for instance, the address lines are still being driven. If they were not, you could not use the READY line to slow down operation for slower memories, which is what it's for.) We actually have a line on the CPU called HOLD which pauses the 9900 and makes it release the bus so that DMA or other processors can use it -- but this line is hard wired on the 4A, so we can't use it. That is what I understood. On the 6502 buss all lines are "tri-stated" to allow other devices to drive address and data. All of the chips act this way: VIA, CIA, VIC chips, SID, etc. DMA over the tri-stated buses is how the RAM Expansion Unit was able to move blocks of memory in an out of the system with just a simple command. I rather liked playing around with the REU's DMA function and always thought it a shame we could not do the same on the 4A. 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.