logo elektroda
logo elektroda
X
logo elektroda

TL;DR

  • DIY-A586 v1.9 is a revised FPGA board built around a Spartan6 XC6SLX9, with hardware changes accumulated over several years.
  • It removes joystick multiplexing, supports two floppy drives without extra circuits, and adds an 18.432MHz generator plus USB-C pull-downs.
  • The board uses 32MB 16bit SDRAM, 16MB flash, and stores up to 30 FPGA configurations in flash.
  • Mikan core runs with 8MB CHIP and 23.5MB FAST, and the 8MB DMA CHIP unexpectedly worked.
  • Diagram, Gerberas, and commercial-use restrictions are included in the appendix.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI voice):
  • v1.9 has no room for AGA core

    #121 20974863
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    NO :)
    Sorry, v1.9 will not have any significant hardware changes. The add-ons won`t fit in the FPGA and that`s it.
    I`m already having a lot of trouble stuffing it, let alone adding something.
    Sometimes it takes me all day to play with synthesis because it doesn`t fit or the timing doesn`t meet.
    Core with AGA under v1.9 will not be available.

    v2.0 with FPGA in TQFP, you can`t count on any changes either. Negative number of free pins.
    AGA will fit here.
  • ADVERTISEMENT
  • Oscillator choice and parts sourcing notes

    #122 20974993
    sillycon
    Level 10  
    Posts: 43
    Rate: 7
    >>20974703

    I wanted to say finalize this basket while LCSC has Spartans, but I see that they have released a new shipment and the price is even lower than it was.

    So I`ll just say - be careful which oscillator you choose, because personally, the first time I made a mistake and bought a quartz one. I know someone else in the thread made a similar mistake. C7434931 definitely works.

    as for the remaining parts, the W9825G6KH-6 works, although some have reported problems with the RISC-V core, but the Amiga is stable.
    finding 74HCT2G125 in VSSOP-8 is difficult - I managed to find it on aliexpress. I just don`t know what I really got because this system is used for communication with an external keyboard, in fact it`s probably only for LEDs. Piotr can explain some details related to keyboard support in the current version.

    regarding improvements to the project:
    1. @Hetii, you can devote your time and skills to the design of a 3D printing case - it would be nice if you could insert the board into something and stabilize the USB + HDMI ports, I managed to tear them out once and repairing them later was not nice.
    2. I wonder if it would be possible to speed up the Amiga, with a faster oscillator or by using XC6SLX9-3TQG144C with -3 instead of -2? not that I need it to be faster, because as I said, DIY is probably the fastest Amiga 500+, but that`s what came to my mind.
  • ADVERTISEMENT
  • RS232 port likely for old Amiga equipment

    #123 20975142
    Hetii
    Level 17  
    Posts: 519
    Help: 4
    Rate: 420
    piotr_go wrote:
    NO :)
    Core with AGA under v1.9 will not be available.
    v2.0 with FPGA in TQFP, you can`t count on any changes either. Negative number of free pins.
    AGA will fit here.

    ok, I understand, if it`s not a secret, what fpga 2.0 will it be based on and when will it be available for purchase (if there is such a plan)?
    In the free version 1.9 I saw that there is a limit to the number of cors. Is this the only limitation compared to the paid version?
    What does the current price list look like for the unblocked version?

    Maybe I didn`t read something, but I wonder why there is this rs232 port in the old voltage logic, is it supposed to work with some old Amiga equipment?
    sillycon wrote:
    >>20974703

    1. @Hetii you can devote your time and skills to the design of a 3D printing case

    Unfortunately, I don`t have a 3D printer or any knowledge of CAD modeling, so I probably won`t be able to handle the casing.

    In fact, the price for this Spartan has dropped, so the basket has already been updated with a lower price ;)
    Initially, I almost would have chosen quartz instead of a quartz generator, but in the end I had already chosen the one from item C7434931.

    As for the 74HCT2G125, I`ll personally skip it for now, firstly, I don`t have an Amiga keyboard so I wouldn`t have anything to connect it to, and secondly,
    that I plan to use this esp32 anyway so that the cables don`t get tangled, but that`s a distant future.
  • Free version lacks autoboot and costs 20 USD

    #124 20975294
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    sillycon wrote:
    2. I wonder if it would be possible to speed up the Amiga, with a faster oscillator or by using XC6SLX9-3TQG144C with -3 instead of -2? not that I need it to be faster, because as I said, DIY is probably the fastest Amiga 500+, but that`s what came to my mind.

    It would speed up everything. Sound, video...

    Hetii wrote:
    what fpga 2.0 will be based on

    Cyclone4, somewhere there are photos in thread 1.6.

    Hetii wrote:
    In the free version 1.9 I saw that there is a limit to the number of cors. Is this the only limitation compared to the paid version?

    The first core does not have autoboot capabilities.

    Hetii wrote:
    What does the current price list look like for the unblocked version?

    20USD

    Hetii wrote:
    Maybe I didn`t read something, but I wonder why there is this rs232 port in the old voltage logic, is it supposed to work with some old Amiga equipment?

    Modem/nullmodem, maybe some PC equipment such as programmers.
    Someone posted photos with a working browser.
  • #125 20991229
    xangel
    Level 19  
    Posts: 543
    Help: 3
    Rate: 147
    Does anyone have this 18.432 generator for sale? Currently not available in TME :(
    And maybe these 0805 0.75A fuses
  • #126 20991442
    Hetii
    Level 17  
    Posts: 519
    Help: 4
    Rate: 420
    xangel wrote:
    Does anyone have this 18.432 generator for sale? Currently not available in TME :(
    And maybe these 0805 0.75A fuses


    I will be processing my order at lscs within a few days, so I can add something to the cart for you if you need it.
  • #127 20991799
    xangel
    Level 19  
    Posts: 543
    Help: 3
    Rate: 147
    Thanks, I sent you a PM
  • #128 20995605
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    Please tell me where the signals (CLOCK, Data, LATCH) from the NES pad (not SNES) are sent to the contacts of the JOY1 and JOY2 connectors? I'm trying to connect a Nes pad clone from aliexpress. Thank you.
  • ADVERTISEMENT
  • #130 20996561
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    I tried it. Nes pad does not work with this connection scheme (without PIC10F200). Could you please explain the role of IC1 in this circuit? Unfortunately, I don’t have a PIC10F200, maybe it can be replaced with another controller? And i don't have a SNES pad...
  • #132 20996793
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    Thanks a lot! Now it’s clear that without a PIC no PAD will work. I understand this is arrogance, but could you please share the original PIC firmware?

    Added after 4 [minutes]:

    Source code, pls.
  • PIC assembler code snippet with GPIO timing loop

    #133 20996806
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    Code: x86 Assembly
    Log in, to see the code

    Unfortunately PIC assembler.
  • #134 20996868
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    Thanks, I'll look into it. One more question. Function of pin GP3 in this circuit? Why is it connected to pin5 of con Z1?
  • #135 20996895
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    PIC programming.
  • ADVERTISEMENT
  • #136 20997682
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    Thanks for the help and advice. I temporarily simulated a clock generator on an Arduino-nano and the NES pad works correctly according to the SNES pad circuit. Allow me one more question. How to connect a joystick to work with the Spectrum core?
  • #138 21002386
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    This joystick works great with the mikan core, unfortunately it does not work with the Spectrum core.
  • #139 21002418
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    Game must support Kempston interface.
  • #140 21002496
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    Of course, I know about this. I've tried games that work with the Kempston interface on the original ZX Spectrum and on other emulators. Maybe I'm doing something wrong...
  • #141 21002722
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    Try this one.
  • #142 21003773
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    piotr_go wrote:
    Try this one.

    This core works with the Kempston interface, but pressed buttons are not decoded correctly. For example, the top and bottom have changed places.
  • #143 21004038
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    One more try.

    (corrected file below)
  • #144 21004792
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    Unfortunately, the result is the same. The joystick works, but not correctly.
  • #147 21005077
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    OK, I found a bug.
    When I converted from 1.6 to 1.9, I forgot to invert the signals.
    Bit order was OK.
    Attachments:
    • spectrum.d19.tar.gz (55.32 KB) You must be logged in to download this attachment.
  • #148 21005113
    VadSRG
    Level 5  
    Posts: 11
    Rate: 5
    Wonderful! Now everything works correctly. Thanks a lot!
  • Need flash programming and bus setup guide

    #149 21014613
    xangel
    Level 19  
    Posts: 543
    Help: 3
    Rate: 147
    Hi
    Sorry, I`m not very versed in FPGA and CPLD.
    Before I solder the flash, should I program it on an external programmer?
    This is what I did when I assembled the ZX-UNO-VGA-2M. Apparently it could have been done later, but apparently it was better before.
    If so, where did the input come from? To start with, I`m interested in PC. What to upload, how to set the bus (QE and other things)?

    I mean a mini-guide like this:
    upload this and this to flash.
    Upload this and that to Xilinx.
    Put this and that on the card.
  • MAIN.BIN and ROM flashing instructions

    #150 21014660
    piotr_go
    DIY electronics designer
    Posts: 2910
    Help: 94
    Rate: 3350
    xangel wrote:
    Apparently it could have been done later, but apparently it was better before.

    Exactly.

    xangel wrote:
    If so, where did the input come from?

    MAIN.BIN, it`s on github.

    xangel wrote:
    how to set up the bus (QE and these matters)

    1-bit, WP/HOLD pins can be enabled.

    To flash MAIN.BIN
    Nothing is uploaded to Xilinx.
    Put the roms (those from A500/A600) and "SD_v0.10.ROM" on the card (change the name to "SD.ROM"), and from the card use F4 to upload them to the flash (format first).
    Put cores (*.d19) on the card and use Insert to load them into flash.

    Roms must be named "KICK13.ROM" "KICK31.ROM" "KICK321.ROM"...
    It will display if something is missing.
📢 Listen (AI voice):

Topic summary

✨ Discussion of the DIY-A586 v1.9 FPGA-based Amiga-compatible board by piotr_go, built around a Spartan-6 XC6SLX9 with 32 MB SDRAM, 16 MB flash, HDMI, analog audio, SD, RS232, joystick, PS/2, floppy and A500 keyboard interfaces. The thread covers core architecture (own core with TG68 CPU), compatibility, FPGA resource usage, synthesis constraints, and comparisons with Minimig/MiSTer. A large part of the discussion focuses on assembly and bring-up: flash programming, ROM loading, SD card formatting, Kickstart patches, floppy-drive conversion, Gotek compatibility, SDRAM timing, oscillator choice, and soldering order. Later posts report fixes and updates for Amiga core, SD support, PS/2 reset, floppy reading, audio, and bitplane handling, plus questions about parts sourcing, connector footprints, and possible future ports or expansions such as AGA, C64, Spectrum, and alternative FPGA platforms.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT