Jump to content

Zerosquare

Members
  • Posts

    3,637
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Zerosquare

  1. 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 :D

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

  2. 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:

    37042196_Jagtopusv2PCB.thumb.png.79bb2c26600e9d7b255ffc10e92f0c6a.png

     

    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?

    166805093_I2CEEPROM.thumb.jpg.2bb0770be89b857abdd14744753e4564.jpg

    I can confirm, it works fine.

     

    EDIT: if you need test source code for the SPI EEPROM, just ask.

  3. On 2/9/2023 at 8:47 AM, 42bs said:

    If your TV has SCART, I'd go for a Jag2SCART cable and not bother with the RF or S-Video.

    Or at least, if you don't want to spend money until you know the Jaguar is working, forget messing with RF, and tap into the composite video signal directly:

    post-8748-0-06246500-1434073348_thumb.jpg

    • Like 1
  4. 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.

    • Like 1
  5. 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.

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

    • Thanks 1
  7. 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).

    • Like 1
  8. 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.

    • Like 1
  9. 11 hours ago, cubanismo said:

    Yeah, if you can find a fast 16-bit 8MB/64Mbit flash like the Skunkboard uses, an 8mb bank switched cart makes more sense as long as you can implement cheap bank switching logic. Otherwise you usually end up wasting 2mb with common flash sizes, no?

    Yes. For 6 MB you have two solutions:

    • Use a 4 MB chip and a 2 MB chip
    • Use a single 8 MB chip

    Since the second solution is both simpler and cheaper than the first one, there's no reason not to go 8 MB.

     

    11 hours ago, cubanismo said:

    Edit: Extra points if you can design a PCB where you can build it as either a 6MB cartridge or a 8MB cartridge using the same flash chip, just by changing which components you solder down.

    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. Games made for 6 MB don't attempt to bank switch, and thus won't even be aware than there is more than 6 MB of data accessible.

    • Like 1
  10. 11 hours ago, phoboz said:

    Perhaps also with a larger EEPROM for save data.

    I already have a working solution for this. It requires only minor hardware and software modifications.

     

    13 hours ago, 42bs said:

    So it is likely easier to add a second connector to the PCB.

    11 hours ago, phoboz said:

    Sounds like a good improvement for the original Jagtopus, to avoid the need for a BJL modded Jaguar, an old PC with parallel port, and a PC to Jaguar joystick-port cable (unless you have the dedicated programmer)

    Good points. A simple and cheap programmer would be useful as well.

    • Like 2
  11. Here are the values I measured:

    Height: 88.4mm

    Width: 108.0mm

    Thickness: max. 19.5mm

     

    These are the outside dimensions, including the handle. Thickness is hard to measure exactly since surfaces are curved.

     

    All official games use either charcoal (most common) or black plastic. Some homebrew releases use translucent or clear cases.

    First-party games feature an Atari logo at the back of the case, third-party releases don't have it. Otherwise there is no difference.

    Game region doesn't matter, as there is no zoning and all games are compatible with both NTSC and PAL consoles. (A small number of them were re-released later with a few optimizations for PAL consoles.)

     

    • Like 1
  12. 7 hours ago, 42bs said:

    Those PCB connectors should be still around, though maybe not the exact size you need.

    They aren't. They were custom-made for Atari by Molex ; neither them, nor any other connector manufacturer I could find, had any other connector with the same pin pitch (even with a different number of pins).

     

    The only source for the connector is Best Electronics. But it's not cheap, and according to someone who posted on AtariAge, they don't have any stock left.

     

    3 hours ago, phoboz said:

    A step down level shifter can apparently be done using only 2 resistors.

    It's not reliable for fast signals. Use a proper voltage-translator chip, they're not expensive.

     

    Also, if you use modern Flash memory chips, you're basically recreating the Jagtopus (albeit with 6 MB instead of 4 MB). It may not be worth reinventing the wheel from scratch. (Hint, hint.)

  13. 2 hours ago, Jones007 said:

    "trying the best to see what's possible".

    There's no such thing. You can almost always go further at the cost of more effort. Who decides "that's is/isn't good enough"?

     

    Also, there are basically two motivations for doing things:

    - fun. In which case money is not the issue.

    - money. In which case offering $20 is laughable: a typical independent developer's rate is several hundred dollars per day, and we're talking about a project that would take many months.

    • Like 3
×
×
  • Create New...