VGA ZX Spectrum - No ULA, No FPGAs

Поделиться
HTML-код
  • Опубликовано: 14 июн 2024
  • In this short series, I'm going to build a ZX spectrum using an EPROM instead of a ULA. In this video, i looks at getting the VGA circuit to work.
    Part 1: • ZX Spectrum build, No ...
    Part 2: • ZX Spectrum build vide...

Комментарии • 64

  • @mheermance
    @mheermance 8 дней назад +2

    A spectrum with a VGA display is pretty sweet. As an aside I love the VGA display standard. It's probably the most home brew electronics friendly video format.

    • @DrMattRegan
      @DrMattRegan  8 дней назад +1

      Yep, standard VGA is pretty straightforward, much easier than composite!

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 8 дней назад

      EGA accepts TTL levels and needs slightly lower frequency.

  • @gdclemo
    @gdclemo 10 дней назад +5

    I'm glad to see you are still going with this project! Thank you for sharing, it's very interesting to watch.

  • @SmashCatRandom
    @SmashCatRandom 9 дней назад

    Weirdly I was wondering if you had a new video up with this project today as it has been a while since I checked - and here it is! Thanks for the update Dr Regan!

    • @DrMattRegan
      @DrMattRegan  9 дней назад

      Excellent, hope you enjoyed it!

  • @paulstubbs7678
    @paulstubbs7678 10 дней назад +1

    Nice, I've wondered about using an apron to do video, nice to see a working implementation.

  • @TEBLify
    @TEBLify 8 дней назад

    Things are tough and getting harder by the minute, so you're just staying ahead of the curve. You've got this!

    • @DrMattRegan
      @DrMattRegan  8 дней назад

      Thanks for the feedback, appreciated!

  • @frankowalker4662
    @frankowalker4662 10 дней назад +1

    That's pretty cool. Output is really nice.
    I used to do all my experiments with point to point.

    • @DrMattRegan
      @DrMattRegan  10 дней назад +1

      Very cool, i couldn't really afford wire wrap sockets when i was younger and got use to wiring this way.

    • @frankowalker4662
      @frankowalker4662 10 дней назад

      @@DrMattRegan Same here. Veroboard and thin wires soldered to pins.

  • @cocusar
    @cocusar 10 дней назад +2

    really cool! I certainly like the FSM on an eeprom solution that takes over the whole thing while the cpu clock is not active

    • @DrMattRegan
      @DrMattRegan  10 дней назад

      Thanks, it actually makes for a pretty simple circuit in the end. Just need a largish EPROM (by 1980s standards).

  • @dmitriivanov7143
    @dmitriivanov7143 8 дней назад

    In the Spectrum commercial from Micro Men they state CPU frequency to be 3.54Mhz, which is true for 128K and later models, but the original Speccy ran at 3.5Mhz 😁

  • @powervr
    @powervr День назад

    really good

  • @GadgetUK164
    @GadgetUK164 6 дней назад

    Brilliant! Subbed!

  • @EC5ABG
    @EC5ABG 10 дней назад

    Gracias por compartir, muy buen trabajo!!

  • @zilog1
    @zilog1 10 дней назад +1

    This is incredible. thans

    • @DrMattRegan
      @DrMattRegan  10 дней назад

      Thanks for the feedback, enjoy!

  • @whetphish
    @whetphish 9 дней назад +1

    Great stuff! Will you be releasing your design once it's finished so that others can build it?

    • @DrMattRegan
      @DrMattRegan  7 дней назад +1

      Yes I will if there's enough interest.

  • @akkudakkupl
    @akkudakkupl 10 дней назад

    Brilliant!

  • @AnonYmous-yz9zq
    @AnonYmous-yz9zq 9 дней назад +3

    Audio is either a synth or really really compressed somewhere in the chain. Hard to listen to.

    • @DrMattRegan
      @DrMattRegan  9 дней назад

      It is my voice, but it uses premiere pro's voice enhancement to remove noise etc. It actually sounds better at 1.25 or 1.5x speed.

  • @johnbee1574
    @johnbee1574 5 дней назад

    nice project

  • @ostrov11
    @ostrov11 10 дней назад

    спасибо, хорошая работа.

  • @metatechnologist
    @metatechnologist 8 дней назад

    Impressive work. Is this going to be 640x480 with 256 colors which is the spec for a vga signal?
    Thank you cant wait until next video!

    • @DrMattRegan
      @DrMattRegan  7 дней назад

      Welcome, glad you liked it. No, i'll probably just stick with the native colours of the spectrum. I'll also probably stick with the native resolution of the spectrum. The main idea is to get away from a composite PAL signal.

    • @metatechnologist
      @metatechnologist 7 дней назад

      @@DrMattRegan So what is the resolution and how many colors? I'm not familiar with PAL

  • @jorgeferreira6727
    @jorgeferreira6727 10 дней назад

    Are you quite sure its a "Jet Set Willy" screenshot at the end of the video?
    Its looks more like "Manic Miner" to me.
    Nevertheless, a very interesting video on a modern touch to the ZX Spectrum hardware. Not to mention a amazing wiring and soldering skill.
    Thank you.

    • @DrMattRegan
      @DrMattRegan  10 дней назад

      Enjoy. Ha, ha, i did actually check that, it's room 33 of JSW.
      skoolkid.github.io/jetsetwilly/dec/tables/rooms.html

    • @jorgeferreira6727
      @jorgeferreira6727 10 дней назад

      @@DrMattRegan Correct.
      Just checked it, also compared the screenshots for both games. The games are quite similar and it seems like they used the same sprites for the little man.
      Also I was confusing "Jet Set Willy" with "Jet Pac".
      Regards.

  • @ZXSpectrum128K
    @ZXSpectrum128K 10 дней назад

    Ula+ ulax spectra vdac2?

  • @finnbin1
    @finnbin1 10 дней назад

    wow.. so cool... btw, exactly the same way i make prototype pcb's

    • @DrMattRegan
      @DrMattRegan  10 дней назад

      Thanks, yeah, this sort of construction is become a bit of a lost art I fear.

  • @jonshouse1
    @jonshouse1 9 дней назад

    Nice, very nice. I am not sure of your goals, this idea may ruin the purity. Maybe you could share the address/data bus with an RP2040, use that to generate the VGA output and also use that as a USB interface and flash storage for the Z80 images to load/save. I've seen the RP2040 used to emulate ROM, I am not sure if the timing would be good enough for your project though.

    • @DrMattRegan
      @DrMattRegan  9 дней назад

      Thanks, but I'm not so sure how 5V tolerant the RP2040 is. The pin header is already configured for an ArduinoMEGA 2560, and it has the address bus and data bus wired up to it. I'll probably use BUSREQ and BUSACK to halt the Z80 and turn off video (zx80 style) when i do the upload.

    • @jonshouse1
      @jonshouse1 9 дней назад

      @@DrMattRegan Good point, I look forward to seeing it, this has been a fantastic series, thanks for sharing it with us.

  • @stevetodd7383
    @stevetodd7383 10 дней назад +1

    I’m a little confused. VGA is 640 x 480 (visible) NON interlaced. Unless you are buffering a whole line before sending it to the VGA circuit (twice) you are sending an interlaced signal, so your monitor is actually displaying a 480i image (which is a US TV standard, but not part of the official VGA standard). If you have a monitor that supports 480i then chances are it will also support 576i, which is the equivalent 50Hz PAL standard and thus more compatible with Spectrum software.

    • @DrMattRegan
      @DrMattRegan  10 дней назад +1

      VGA is 640x480 visible, but 800x525 total at 60Hz. I'm essentially generating 454x525 at 60 Hz total, due to the lower clock rate (14.318MHz vs 25.175MHz) of which 256x384 is visible. I'm still using VGA syncs of 31.5KHz and 60Hz progressive.
      Interlaced video (PAL) still uses 15.625KHz for Hsync . I'm not buffering a line per-se, i'm just scanning out the same memory twice on two scan lines.

    • @stevetodd7383
      @stevetodd7383 9 дней назад +1

      @@DrMattRegan ah, it’s the fact that you are displaying the same raster line twice in succession that I was missing. It’s a progressive frame that you are generating, but using analog video scaling to make horizontal image 640 pixels wide. If your monitor supports it then 576p gives you better compatibility at 50Hz from a 13.5MHz clock, or very slightly faster gets you 800x600 SVGA @ 50Hz.

  • @brainwrong
    @brainwrong 10 дней назад +1

    Seems like this would break any speccy software that relies on specific contention timing to do things like multicolour or check what model its running on

    • @DrMattRegan
      @DrMattRegan  10 дней назад +1

      Correct, it will act like an NTSC spectrum sold in the USA. I can drop it down to PAL, with out the colour if necessary, or i may end up encoding a full colour PAL signal.

    • @caspianmaclean8122
      @caspianmaclean8122 4 дня назад +1

      @@DrMattReganI saw a comment on a previous video where you mentioned the idea of slowing down the CPU when needed to match the speed of the original Spectrum with its memory contention, that could make the timing seem identical to the software. If any software relies on the exact time when pixels and attributes are output that could be tricky though, it wouldn't be expecting each row to be scanned twice.

  • @Snowsea-gs4wu
    @Snowsea-gs4wu 9 дней назад

    Now add soundblaster support, LOL 😂!

    • @jnharton
      @jnharton 8 дней назад

      Probably not terribly hard if you have a real soundblaster card.
      After all, ISA (16-bit) is just the IBM PC/AT bus (Intel 80286 cpu) and the 8-bit equivalent is the IBM PC bus (Intel 8088 cpu).
      The Zilog Z-80 is a souped up version of the Intel 8080 whereas the Intel 8085, which preceded the Intel 8086, is software compatible with the 8080 on the binary executable level.
      So strapping an early Sound Blaster (8-bit) to a Z-80 based system shouldn't be that hard.

  • @tetraquark2402
    @tetraquark2402 10 дней назад

    Built my ZX81 from a kit as I couldn't afford a pre built one

    • @DrMattRegan
      @DrMattRegan  9 дней назад

      Great, have you had a look at the zx80/81 series.

  • @SpeccyMan
    @SpeccyMan 10 дней назад

    Please, please, please use a de-esser on your audio!

    • @DrMattRegan
      @DrMattRegan  10 дней назад

      Is that an option in premiere pro? I’m using the standard voice enhance ai in premiere pro.
      ------------------------------
      Actually, it looks like there is a de-esser feature, i'll look into it, thanks!

    • @Snowsea-gs4wu
      @Snowsea-gs4wu 9 дней назад

      Thank you! Now I can’t unnotice it… LOL

    • @DrMattRegan
      @DrMattRegan  9 дней назад

      I tried the de-esser and it does sound better! I'll use that in the future, thanks for that.
      Any other audio tips? I have the standard denoise filter (default -40dB), a hard limiter (-6dB limit with a gain of 10dB) and i use the speech enhancer in premiere pro, anything else i should try?

  • @deang5622
    @deang5622 7 дней назад

    No FPGA?
    Why not? Because you don't know how to use them?
    The original Spectrum contained an ULA which is the masked programmed equivalent of an FPGA. So using an FPGA is actually closer to the original Spectrum.
    There are no points awarded for making a design more complicated.
    I would personally give points for someone that does use an FPGA as it demonstrates they can design the circuit for it. It demonstrates they have more knowledge and skill than just using discrete logic.

    • @DrMattRegan
      @DrMattRegan  7 дней назад +1

      Interesting that you jump straight to that. The purpose of the video/series is to demonstrate finite state machines (for what's next to come).
      It turns out, I have indeed been using FPGAs to make video controllers for quite some time, see - dl.acm.org/doi/pdf/10.1145/311535.311569
      I was also part of the GPU architecture team at NVidia previously and i worked on the display controller there, so I'm familiar with going directly to silicon as well.
      I personally find watching videos of a screen shot of someone programming FPGAs a bit boring, but that's just me. If you like that, here is a good series - www.youtube.com/@CompuSAR