+Gemintronic Posted February 10, 2023 Share Posted February 10, 2023 13 minutes ago, Zerosquare said: The largest EEPROM which is a drop-in replacement is indeed the 93LC86, which stores 2 kilobytes. Larger EEPROMs are not available with a Microwire interface, which is what the Jaguar carts were designed for. Using a SPI EEPROM instead would allow much larger sizes, but requires a bit of extra logic on the cart. But now that you mention it, it would be possible to make a very small PCB with the SPI EEPROM and the logic, that could be soldered where the original EEPROM normally is. That would allow upgrading existing cartridge PCBs. I wouldn't rely on it to store game code or data, though -- the data path is only 1-bit wide, and it's slow to access. Too bad one can't toggle between both. Use the SPI for configuration/boolean flags for the game. Or, maybe advanced developers could modify their engine to stream SPI data as needed into RAM in the background. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 10, 2023 Share Posted February 10, 2023 17 minutes ago, Zerosquare said: The largest EEPROM which is a drop-in replacement is indeed the 93LC86, which stores 2 kilobytes. Larger EEPROMs are not available with a Microwire interface, which is what the Jaguar carts were designed for. If the game is stored on flash, then there is plenty of space. One can protect the game sectors and use some to store what ever one wants. Modern flashes can be erased 100,000 times. And a flash write algo is very easy. 2 Quote Link to comment Share on other sites More sharing options...
42bs Posted February 10, 2023 Share Posted February 10, 2023 11 minutes ago, Gemintronic said: maybe advanced developers could modify their engine to stream SPI data as needed into RAM in the background. SPI must be bit-banged, so no 'in the background'. 1 Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 10, 2023 Share Posted February 10, 2023 18 minutes ago, 42bs said: If the game is stored on flash, then there is plenty of space. One can protect the game sectors and use some to store what ever one wants. Modern flashes can be erased 100,000 times. And a flash write algo is very easy. Yes, you can do that. But there's the risk that a bug could cause an erase/write to the wrong sector and corrupt your game code or data. Whereas with a separate EEPROM for saves, you can write-protect the Flash and be 100% sure that won't happen. I believe it's a choice each developer should make themselves. 18 minutes ago, 42bs said: SPI must be bit-banged, so no 'in the background'. You could potentially achieve that (I'd have to check to be sure) by running the data transfer code in a timer interrupt, or in the idle loop on the DSP. But I very much doubt it'd be fast enough to be useful for anything, and it would waste a lot of bus bandwidth (even without the overhead, you'd be wasting 64-bit bus cycles to transfer just a single bit at a time). 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted February 10, 2023 Share Posted February 10, 2023 Has anyone attempted a stripped down Skunkboard with "just" the flash and/or EEPROMs on them? Or, would that still end up being too much for physical releases? Quote Link to comment Share on other sites More sharing options...
42bs Posted February 10, 2023 Share Posted February 10, 2023 45 minutes ago, Zerosquare said: Yes, you can do that. But there's the risk that a bug could cause an erase/write to the wrong sector and corrupt your game code or data. Millions of commercial products are out there doing just this. You can protect all relevant sectors. You can even write protect a 'bootsector'. So it is just a matter of 'doing' Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 10, 2023 Share Posted February 10, 2023 1 hour ago, Gemintronic said: Has anyone attempted a stripped down Skunkboard with "just" the flash and/or EEPROMs on them? Or, would that still end up being too much for physical releases? If it had only the Flash memory on them, how would you program it? Also, IIRC, the Skunkboard uses the CPLD to do 5V/3.3V voltage translation as well. 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted February 10, 2023 Share Posted February 10, 2023 11 minutes ago, Zerosquare said: If it had only the Flash memory on them, how would you program it? Also, IIRC, the Skunkboard uses the CPLD to do 5V/3.3V voltage translation as well. I have an Uno Cart (Atari 2600) with pins that can connect to a ST-Link 2 USB programmer. I kinda assumed that a cost reduced Skunkboard would use the same tactic without explaining myself. But, sounds like that's a no go. Quote Link to comment Share on other sites More sharing options...
+5-11under Posted February 10, 2023 Share Posted February 10, 2023 If anyone has a Jaguar for sale at reasonable price (doesn't have to be great; just needs to be functional), I'd love to start making boards for it. 1 Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 10, 2023 Share Posted February 10, 2023 1 minute ago, Gemintronic said: I have an Uno board (2600) with pins that can connect to a STM32 something programmer. I kinda assumed that a cost reduced Skunkboard would use the same tactic without explaining myself. But, sounds like that's a no go. You could do that, by adding a separate programming connector and adding voltage translation logic to replace the CPLD. But at this point, you'd have essentially transformed a Skunkboard into a Jagtopus. 1 hour ago, 42bs said: Millions of commercial products are out there doing just this. You can protect all relevant sectors. You can even write protect a 'bootsector'. But if a product-breaking bug is discovered after release, commercial companies have the financial means to do a product recall and fix it (even if they hate this). For an individual homebrew author, doing so would probably wipe out most or all of the profits. Also, the specifics and granularity of write protection tend to vary between models of Flash memories (top-boot vs bottom boot, etc.). And past experience with the Jagtopus taught me that you can't rely on a specific part number (or even manufacturer) if you don't want your design to be obsolete in 6 months when the memory chips are no longer available. Especially now, with the semiconductor shortage. Again, if you want to use Flash memory for saving instead of the EEPROM, you can do it: the hardware supports it. I'm just pointing out the potential issues. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 10, 2023 Share Posted February 10, 2023 25 minutes ago, Zerosquare said: If it had only the Flash memory on them, how would you program it? Also, IIRC, the Skunkboard uses the CPLD to do 5V/3.3V voltage translation as well. I think the connector has all the pins needed, so you might directly program the flash from the Jaguar, though an external programmer would be certainly quicker. Like the pihat for the Lynx flash cards. But your other point about chip shortage is valid, though it applies to most chips. I have a customer who has three designs of the same device just because of the different availability of the chips. Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 10, 2023 Share Posted February 10, 2023 9 minutes ago, 42bs said: I think the connector has all the pins needed, so you might directly program the flash from the Jaguar, though an external programmer would be certainly quicker. Like the pihat for the Lynx flash cards. Yes, you can program thru the cartridge connector, either by using the Jaguar directly (connected to a PC by BJL) or with an external programmer. That's how it's currently done on the Jagtopus. But since getting Jaguar cartridge connectors is getting more and more difficult and expensive, I agree that an additional connector would be useful. I'd have to see how much traces rerouting would be needed to add it. 1 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted February 10, 2023 Share Posted February 10, 2023 5 minutes ago, Zerosquare said: But since getting Jaguar cartridge connectors is getting more and more difficult and expensive, I agree that an additional connector would be useful. I'd have to see how much traces rerouting would be needed to add it. I take it places like PCBWay wouldn't work because the Jag connectors are a non-standard thickness or something? Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 10, 2023 Share Posted February 10, 2023 (edited) No, the cartridges PCBs are the usual thickness (1.6 mm). The issue is the connector that the cartridges are made to plug into. Edited February 10, 2023 by Zerosquare 1 Quote Link to comment Share on other sites More sharing options...
+batari Posted February 10, 2023 Share Posted February 10, 2023 Since you all will find out soon enough anyway, maybe I will use this thread to mention that AtariAge will soon be releasing Jaguar games on a flash board, including 6MB games. These boards are ready to go and thousands of flash chips are on hand. After Al runs through his supply of existing DIP boards and DIP EPROMs, this board will likely be used for AtariAge Jag homebrews. This is not a Jagtopus or Skunk clone. It's a new board designed from scratch. It's a basic flash board designed solely for AA homebrew releases. Every design element was considered to make it suitable for cartridge releases, and there are no additional parts that add cost. All parts have already been purchased and are on hand so there are no supply chain surprises to come. So if anyone needs a number of programmed boards for a homebrew game release I am sure that can be arranged. These AA-exclusive boards will only be available pre-programmed. Like some past designs, it employs a special programmer that uses a Jag cart connector, and these are expensive and rare so it is not really practical to create programmers for individuals. I also do not want to use up all of the remaining cart connectors, as they should be available so people can continue to repair Jaguars. So there are no plans to sell unprogrammed flash boards. At least, not these basic, cost-reduced boards for AtariAge homebrew use. So there is also a secondary design in progress that would allow for another way to program the boards. Obviously this requires a different board design with additional space on the board that is solely for the alternative programming method. So this board is considerably more complex and thus more costly. This is also a new design and not a derivative of any prior work. The secondary design also has support for SPI EEPROMs as a standard feature as well as support for the normal microwire EEPROMs. SPI support is still being worked on as time permits. It also allows for bankswitched games up to 32MB. Optional bankswitching uses a 4MB fixed bank and 2MB ephemeral bank and is not based on any existing methods, as far as I know. 4 Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 10, 2023 Share Posted February 10, 2023 (edited) 1 hour ago, batari said: Optional bankswitching uses a 4MB fixed bank and 2MB ephemeral bank and is not based on any existing methods, as far as I know. OK, it doesn't really count since I never did finish routing the board: 1 hour ago, batari said: The secondary design also has support for SPI EEPROMs as a standard feature as well as support for the normal microwire EEPROMs. SPI support is still being worked on as time permits. You mean something like this? I can confirm, it works fine. EDIT: if you need test source code for the SPI EEPROM, just ask. Edited February 10, 2023 by Zerosquare Quote Link to comment Share on other sites More sharing options...
+cubanismo Posted February 10, 2023 Share Posted February 10, 2023 8 hours ago, Zerosquare said: You don't even need to anything, as long as you make sure the default configuration maps the first 6 MB of the Flash memory to the 6 MB address space. I was thinking a way to do it without soldering down the bank switching components if you only want 6MB. Save $1 a board or something 🙂 So you could do a run of 6MB-only boards and a separate run of 8MB boards using the same PCBs, but just changing how they're populated. Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 10, 2023 Share Posted February 10, 2023 (edited) Oh, that part's easy. You can do that by adding a few 0 ohm resistors on the Flash memory address lines. That way, you can bypass the bankswitching logic completely if you don't need it. Edited February 10, 2023 by Zerosquare 1 Quote Link to comment Share on other sites More sharing options...
+cubanismo Posted February 10, 2023 Share Posted February 10, 2023 3 hours ago, Zerosquare said: Also, IIRC, the Skunkboard uses the CPLD to do 5V/3.3V voltage translation as well. I had thought all the chips on the Skunkboard were 5v tolerant, but it looks like the data lines on the flash actually aren't, just the address lines, most of which are wired straight through. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 11, 2023 Share Posted February 11, 2023 8 hours ago, batari said: These AA-exclusive boards will only be available pre-programmed. Hmm, can't they be programmed from the Jaguar? Quote Link to comment Share on other sites More sharing options...
+batari Posted February 11, 2023 Share Posted February 11, 2023 3 hours ago, 42bs said: Hmm, can't they be programmed from the Jaguar? While the Jag itself can theoretically produce the write signals to program the a blank cart, the problem is that you would somehow need to get the image you wanted to program into the Jag, and I am not sure how that could be done (easily) without booting with a working cart? Quote Link to comment Share on other sites More sharing options...
+batari Posted February 11, 2023 Share Posted February 11, 2023 11 hours ago, Zerosquare said: OK, it doesn't really count since I never did finish routing the board: You mean something like this? I can confirm, it works fine. EDIT: if you need test source code for the SPI EEPROM, just ask. I would like to see the code, of course. Yes, I wired SPI/microwire like-to-like pins and naturally things like DI and MOSI, DO and MISO did not match up, so there is a separate footprint for each type of EEPROM. Just curious, what is the inverter for? It seems we have slightly different implementations as mine does not use one, so I am guessing the source code would need changes in order to work on mine. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 11, 2023 Share Posted February 11, 2023 1 hour ago, batari said: While the Jag itself can theoretically produce the write signals to program the a blank cart, the problem is that you would somehow need to get the image you wanted to program into the Jag, and I am not sure how that could be done (easily) without booting with a working cart? Swap cards Or BJL. Quote Link to comment Share on other sites More sharing options...
Songbird Posted February 11, 2023 Share Posted February 11, 2023 18 hours ago, Zerosquare said: But since getting Jaguar cartridge connectors is getting more and more difficult and expensive, I agree that an additional connector would be useful. I'd have to see how much traces rerouting would be needed to add it. I bought a few spares of these some years back just in case I'd ever need to replace them on a Jaguar console or Jagtopus programmer, but I only have about a dozen. Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 11, 2023 Share Posted February 11, 2023 7 hours ago, batari said: Just curious, what is the inverter for? It seems we have slightly different implementations as mine does not use one, so I am guessing the source code would need changes in order to work on mine. The CS pin is active-high for Microwire, but active-low for SPI (and it needs to remain active while you're transferring the command and data bits). And you can't control the state of the CS signal from the Jaguar directly, you can only trigger a short low pulse on it. So you need an inverter on this signal to make SPI work. Here's a basic test program: SPI EEPROM read test.s It reads the first 64 bytes of the EEPROM and sends them to the serial port at 9,600 bps. I used an EEPROM that was already programmed, so there's no code to write to it, but it shouldn't be difficult to add by following the steps described in the EEPROM datasheet. 5 hours ago, 42bs said: Swap cards Or BJL. I wouldn't recommend hot-swapping Jaguar carts And it wouldn't work anyways, unless you modify your Jaguar not to power-off when there's no cartridge. So, BJL, indeed. Or JagCD, if you're crazy and only need to program the cart once (as after it's programmed, the Jaguar will boot from the cart, not the CD). For BJL, I have some software made for the Jagtopus, as well as an USB adapter to connect to modern PCs which don't have parallel ports. There's a high chance that the software would work with your cart, either as-is (the programming commands are the same on most Flash chips) or with minor modifications. It's not really user-friendly, more like a developer tool, but it works. Let me know if you're interested. (We can discuss the details in private if you prefer.) 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.