daveho hacks
daveho hacks
  • Видео 55
  • Просмотров 90 724

Видео

Hardware VGA, Episode 03 (Alternate, no background music): Readout module
Просмотров 3044 часа назад
This is a re-upload of Episode 03 (ruclips.net/video/mVbhe-eQTJc/видео.html), but without background music during the narration.
Hardware VGA Episode 04: Pixel generation
Просмотров 2 тыс.7 часов назад
In this episode, we go over the design of the pixel generator module, and see the complete working display controller in action. The full schematics, GAL equations, etc. are available on the project's Github site: github.com/daveho/HW_VGA Once again, I used "Brazilian Bossa Nova Jazz Acoustic Guitar Podcast Music" by Denis Pavlov as background music for the technical overview. You can support D...
Hardware VGA Episode 03: Readout module
Просмотров 1,2 тыс.14 дней назад
In this episode of the Hardware VGA series, we explain and test the Readout module, which generates the video memory addresses of the character and attribute values that the pixel generator will need to render pixels. The schematics, simulation files, GAL equations, etc. are on the Github site: github.com/daveho/HW_VGA The "elevator music" in the Readout module overview part of the video is "Br...
Hardware VGA Episode 02: VRAM (and other stuff)
Просмотров 1,3 тыс.28 дней назад
This episode of the Hardware VGA series covers adding 8 KB of video memory to the display controller. All of the schematics, code, GAL equations, etc. are available on the project's Github site: github.com/daveho/HW_VGA I didn't explicitly cover the GAL programming for control signal generation in the video, but you can see the equation file here: github.com/daveho/HW_VGA/blob/main/Episode02/Ha...
Hardware VGA Episode 01: Introduction, sync generation, and pixel output
Просмотров 8 тыс.Месяц назад
In this video I begin work on a new approach to implementing a display controller for the 8-bit computer system based on discrete logic chips (and some programmable logic.) Contents: 00:00 Opening sequence 00:19 Introduction, previous difficulties 03:00 A new approach 04:08 Challenges and ways to address them 10:09 Getting started 10:43 Outline 11:40 640x480 VGA video 16:56 Hardware simulation ...
PC Tech, Episode 05: Building a 486 PC - for an interesting reason
Просмотров 1,1 тыс.8 месяцев назад
I will be teaching an OS course in spring 2024, and since the project sequence will target the 386/486 PC hardware platform, I became obsessed with the goal of having actual hardware to run student code on. Hence this video! (Also, I can't deny being nostalgic for this era of PC hardware. I had a PC in college with a 25MHz 486SX with 4MB of RAM; this was the first PC I ran Linux on, and it got ...
Random Stuff, Episode 0c: Sony MDR-V6 headphone driver replacement
Просмотров 4859 месяцев назад
This is just a quick video in which I install aftermarket replacement drivers in a pair of Sony MDR-V6 headphones. Link to the replacement drivers on Aliexpress: www.aliexpress.us/item/3256802072910541.html Overall, these seem to be a reasonably good option, given the ridiculous price of the genuine Sony replacement drivers. One thing I did notice was that when I tried the headphones with the r...
Random Stuff Episode B: Lab tour
Просмотров 42110 месяцев назад
Since I haven't uploaded a proper video in a while, here's some filler content! Specifically, a quick tour of my home office/lab. I will get back to the 8 bit computer project in the future, I promise :-)
Random Stuff, Episode A: Sony MDR-V4 Headphones Refurb
Просмотров 243Год назад
This is a quick video where I replace the earpads and cable on a pair of Sony MDR-V4 headphones. The replacement earpads are these: www.amazon.com/dp/B093D26PHP The audio cable that I used as the replacement cable is (half of) this one: www.amazon.com/dp/B00LBJ780O
DIY 8-bit computer, Episode 1D: TMS9918A shenanigans
Просмотров 1,5 тыс.Год назад
The goal of this episode is to experiment with a TMS9918A Video Display Processor and to attempt to use it as a display for the 6809 8-bit computer system. With the TMS9918A providing a display, we're one step closer to the 6809 system being a fully independent computer. Link to schematics and code for this episode: github.com/daveho/DIY8bit/tree/master/Episode1d The demo circuit shown in the v...
DIY 8-bit computer, Episode 1C: ...In which characters are displayed
Просмотров 3,1 тыс.Год назад
In this video I present a series of experiments to add support for displaying text characters to the FPGA-based display controller. As always, code and schematics are on the Githubs: github.com/daveho/DIY8bit/tree/master/Episode1c This took quite a while, but I am feeling fairly confident that the display controller will be fully working in the not-to-distant future.
PC Tech, Episode 04: Improved Harbin Repairs Adapter PCBs
Просмотров 1692 года назад
In this video, I populate and test new revisions to the Harbin Repairs adapter PCBs allowing Haswell-era Dell motherboards (Optiplex 7020, Optiplex 9020, and Precision T1700) to be used in standard ATX and micro-ATX cases. The new revisions resolve a couple of issues with the adapter PCBs shown in the previous PC Tech video. Links to the design files, and information about how to fabricate and ...
PC Tech, Episode 03: Building a useful PC from (mostly) junk
Просмотров 2802 года назад
This video demonstrates how to build a useful PC out of used and salvaged parts. As usual for me, the build is based on a Haswell-era Dell motherboard, specifically from an Optiplex 7020. The Harbin Repairs adapters (github.com/HarbinRepairs/Dell-Optiplex-MB-Header-Adapters) allow a Dell motherboard to be installed in a standard ATX or Micro ATX case. As I mention in the video, the original ver...
PC Tech, Episode 02: An Optiplex test bench
Просмотров 3482 года назад
As the title suggests, this video is about making a test bench for testing Dell Optiplex motherboards and related PC components. If (like me) you are interested in building PCs based on Haswell-era Optiplex motherboards, the adapter PCBs from Harbin Repairs are super-useful, since they allow you to install a Dell motherboard in a standard ATX case: store.harbinrepairs.com/index.php/product/dfp1...
DIY 8-bit computer, Episode 1B: DIsplay controller pipelining & block RAM
Просмотров 8482 года назад
DIY 8-bit computer, Episode 1B: DIsplay controller pipelining & block RAM
DIY 8-bit computer, Episode 1A: DIsplay controller host interface
Просмотров 1 тыс.2 года назад
DIY 8-bit computer, Episode 1A: DIsplay controller host interface
DIY 8-bit computer, Episode 19: Interrupt and keyboard controller PCB
Просмотров 1,3 тыс.2 года назад
DIY 8-bit computer, Episode 19: Interrupt and keyboard controller PCB
DIY 8-bit computer, Episode 18: Memory & peripheral PCB
Просмотров 1,2 тыс.2 года назад
DIY 8-bit computer, Episode 18: Memory & peripheral PCB
PC Tech, Episode 01: How I fixed my lab PC for (fairly) cheap
Просмотров 2092 года назад
PC Tech, Episode 01: How I fixed my lab PC for (fairly) cheap
DIY 8-bit computer, Episode 17: Fixed CPU/glue logic PCBs
Просмотров 1,1 тыс.2 года назад
DIY 8-bit computer, Episode 17: Fixed CPU/glue logic PCBs
Random stuff, Episode 09: Ultimate breadboard hex displays
Просмотров 4593 года назад
Random stuff, Episode 09: Ultimate breadboard hex displays
Random Stuff, Episode 8: A trip to Skycraft Surplus
Просмотров 5813 года назад
Random Stuff, Episode 8: A trip to Skycraft Surplus
DIY 8-bit computer, Episode 16: CPU and glue logic PCB, and a name
Просмотров 3,1 тыс.3 года назад
DIY 8-bit computer, Episode 16: CPU and glue logic PCB, and a name
DIY 8-bit computer, Episode 15: Display options & FPGA experiments
Просмотров 4,1 тыс.3 года назад
DIY 8-bit computer, Episode 15: Display options & FPGA experiments
DIY 8-bit computer, Episode 14: Enclosure planning & frame
Просмотров 7193 года назад
DIY 8-bit computer, Episode 14: Enclosure planning & frame
Random Stuff, Episode 07: Slightly better hex displays
Просмотров 4813 года назад
Random Stuff, Episode 07: Slightly better hex displays
Random Stuff, Episode 06: Breadboard hex displays
Просмотров 5113 года назад
Random Stuff, Episode 06: Breadboard hex displays
DIY 8-bit computer, Episode 13: Finishing keyboard support
Просмотров 1,3 тыс.3 года назад
DIY 8-bit computer, Episode 13: Finishing keyboard support
DIY audio amplifier, Episode 03: Preamp & finale
Просмотров 1,5 тыс.3 года назад
DIY audio amplifier, Episode 03: Preamp & finale

Комментарии

  • @2thinkcritically
    @2thinkcritically 2 часа назад

    I've built a few concept design boards for VGA output over the years, mostly just on Breadboard but a couple on Veroboard. In all situations I've used TI 74HC components and never had issues with timing or bounce. I'd imagine I wouldn't be so lucky if I was using old chips (or fakes) rather than brand new, but I thought I'd just put that out there.

  • @rogerramjet8395
    @rogerramjet8395 17 часов назад

    This is _fabulous,_ Dave. I was so pleased for you when it worked! Wonderful! 👏 (And thanks _again_ for doing this without the music! 👍🙏)

    • @davehohacks
      @davehohacks 3 часа назад

      Thanks! I was definitely surprised that resolving the glitches was as simple as using 74ALS counters rather than 74ACT. For good measure I'm also going to replace the 74ACT157 mux with a 74ALS157 and the 74ACT273 chips in the row begin address register with 74ALS273. I think 74ALS is my new second-favorite logic family (after 74HCT, if course.)

    • @rogerramjet8395
      @rogerramjet8395 Час назад

      Yeah, @@davehohacks, it was beautiful to see it working so well. By the way, I remember during your first attempt with the FPGA you concluded that you didn't know enough. I don't know whether you've come across him yet (and you may already be ahead of this), but John's Basement has a great series on FPGAs, using the ICE40's: ruclips.net/video/TJbI-NMJaUY/видео.html&pp=iAQB … I was going to go straight to FPGA, but you've inspired me to try the TTL route first. 👍

  • @joshc-dev
    @joshc-dev День назад

    i love you sir

    • @joshc-dev
      @joshc-dev День назад

      keep going!

    • @davehohacks
      @davehohacks 3 часа назад

      @@joshc-dev Thanks! I'm working on a PCB, although routing is turning out to be...interesting.

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

    Nice work. Thnak you for this build with clear explanation what/how/why! BTW: what wire do you use for your prototyping? Your results are so neat...

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

      If you search AliExpress for the term "UL1423", there's a listing from a vendor called "FreeBoom". I'm using the 26 AWG version. It's like 30 AWG wire wrap wire, but a little bit thicker.

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

    bro i need more of it, I truly enjoy learning this stuff, I love learning about computers hardware, thanks,

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

    Fantastic! Thank you so much for uploading this version. There's a lot to process, and you run through it quickly. Needed this to be able to focus. Thank you! 🙏🙇

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

    It would be interesting to have a video explaining the logic of the pixel generator and what discrete chips and IC it would have required. The convertion to GAL logic would also be interesting, but there are a lot of video on that subject.

  • @davehohacks
    @davehohacks 2 дня назад

    I uploaded an alternate version of this video without any background music during the narration: ruclips.net/video/M6Xigigz1Ow/видео.html

  • @davehohacks
    @davehohacks 2 дня назад

    Based on viewer feedback, I've uploaded an alternate version of this video without any background music during the narration: ruclips.net/video/r6SRkNa0OIo/видео.html

  • @Walterhartwellwhite412
    @Walterhartwellwhite412 3 дня назад

    Music is bad. Remove it please.

  • @molepistol
    @molepistol 3 дня назад

    zelda dlc over vga is crazy

  • @colonelbarker
    @colonelbarker 3 дня назад

    Fantastic work. Amazingly stable video. Another request for less music please!

    • @davehohacks
      @davehohacks 2 дня назад

      Noted. I'm planning to post alternate versions of Episode 03 and 04 without the background music (I hadn't realized that so many people felt strongly about this.)

    • @colonelbarker
      @colonelbarker 2 дня назад

      @@davehohacks I figured it was probably best worth saying. I don't tend to like commenting negative things on videos, because boy it can hurt on the other end. But your content is so good otherwise I thought it was worth pointing out. I'm really enjoying this project!

  • @TroySchrapel
    @TroySchrapel 3 дня назад

    Awesome progress, Dave. Very impressive!

    • @davehohacks
      @davehohacks 2 дня назад

      Thanks, Troy! I've started working on the PCB. I think it's going to be pretty challenging to make everything fit. (BTW, I'd love to see a video about your Pi Pico TMS9918A replacement project.)

    • @TroySchrapel
      @TroySchrapel 2 дня назад

      @davehohacks it's coming... I'm a big-time procrastinator. 🤣 The project itself is going great though. I finally have the single board version with the RP2040 onboard working.I have a few short, unedited, unlisted videos linked in the GitHub repo.

    • @davehohacks
      @davehohacks 2 дня назад

      @@TroySchrapel I procrastinated on my display controller for 2 years, so I think you're making rapid progress. Looking forward to seeing it!

  • @keyvanmehrbakhsh4069
    @keyvanmehrbakhsh4069 3 дня назад

    just after the shooting the cat got a mild punishment ,

  • @TMITLT
    @TMITLT 3 дня назад

    Great work! Congrats on the successful design! Good luck with the PCB design! Question: why jump to FPGA and not go through a 5v CPLD design phase using something like an Altera MAX7000 series device? A 10ns EPM7128 may be large enough and fast enough to incorporate most if not all your VGA hardware logic.

    • @davehohacks
      @davehohacks 3 дня назад

      Thanks! Using a CPLD is an appealing idea. My main motivation for using an FPGA is the availability of an open-source toolchain for the Lattice ICE40 series. I think you're right that the current design wouldn't require a large device.

    • @TMITLT
      @TMITLT 3 дня назад

      @@davehohacks the old Altera MAX7000 series is supported by older tools that are now free but not open-source, such as Quartus. however, they do offer a lot of design and simulation facilities that you may find useful.

    • @davehohacks
      @davehohacks 2 дня назад

      @@TMITLT I'll keep that in mind!

  • @rogerramjet8395
    @rogerramjet8395 3 дня назад

    Hey Dave, meant to ask last time, but please can you consider not including the "elevator music" in the background? 🙏 I realise I'm just one, but being _very_ hard of hearing (essentially deaf) and on the spectrum, I find it almost impossible to process what you're saying. I love your videos and have been subscribed for years (since covid, iirc), but I haven't been able to watch episodes 3 or 4 because of it … 😊🙏 (Edit: just read further comments and see I'm not alone. 👍)

    • @The65c02
      @The65c02 3 дня назад

      That music is simply killing me thankfully it stops after 5 minutes

    • @davehohacks
      @davehohacks 3 дня назад

      Maybe I'll post a combined video for episodes 3 and 4 without the background music.

    • @rogerramjet8395
      @rogerramjet8395 2 дня назад

      Hey@@davehohacks … no worries for this one. (When I get some time, I'll mute it and read the subtitles …) But, I and clearly a few others would appreciate leaving it out next time. 👍🙏

    • @davehohacks
      @davehohacks 2 дня назад

      @@rogerramjet8395 I think I will release alternate Episode 03 and 04 videos without the background music. Also, if you look at the "Episode03/Materials" and "Episode04/Materials" directories in the Github repo, there are scripts with the narration.

  • @sergatmel8242
    @sergatmel8242 3 дня назад

    Thanks, very interesting !

  • @ocukor1
    @ocukor1 3 дня назад

    idk if it's just me, but the background music makes it hard to listen.

  • @clearcutlegalvideo1532
    @clearcutlegalvideo1532 4 дня назад

    I just successfully executed this repair using the linked Alibaba replacement drivers. Since I only use these headphones for monitoring and not mixing I felt comfortable only replacing the single driver (right side) that was broken. I cannot tell the difference between the original and replacement driver, but my bar is set very low.

    • @davehohacks
      @davehohacks 4 дня назад

      Yeah, I can't tell any difference between the MDR-V6s with the Aliexpress drivers and my MDR-7506s with the original Sony drivers.

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

    This video is gold as I'm looking at adding VGA to a 6502 computer that I'm building. If you look back at computers by Commodore etc., they all had custom video chips. The FPGA is the easiest way for us to make our own custom chips, so there's no real argument against using them for retro computers.

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

      One piece of advice that I should have heeded before working on an FPGA display controller: learn the simulation tool in whatever FPGA toolchain you're using. You'll see what I mean in subsequent videos 🙂. I'm actually working on a non-FPGA display controller right now, and it's going much better, but I'm planning to return to FPGAs soon, and I'm 100% certain that I will be simulating the design extensively.

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

    My combo for simulating FPGA designs (Verilog and SystemVerilog) is Icarus + GTKwave. At first it may seem weird to write simulations in Verilog but since I got used to it I prefer it over any interactive/schematic based solution.

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

      Icarus Verilog is definitely on my radar! This current project has definitely convinced me that simulation is essential.

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

    James Sharman has built beautiful 8 bit computer with logic chips with pipelined CPU, multichannel audio, serial port and awesome display controller. Check out his channel.

  • @RayBellis
    @RayBellis 12 дней назад

    Have you considered storing the character data and the attribute data in physically separate RAMs? This would allow both to be accessed simultaneously by the read out module, requiring only 12 bits of counting. I _think_ it should still be possible to arrange the RAMs so that the CPU interface to them still appears as contiguous pairs of bytes instead of separate blocks, e.g. by using A1-A12 from the CPU as A0-A11 to the RAMs, with the CPU's A0 line instead of A12 as the CS/~CS line. Alternatively, maybe having them as separate blocks might be better anyway from a programmer's PoV?

    • @davehohacks
      @davehohacks 12 дней назад

      I did think about putting character and attribute data in separate RAM chips. I didn't realize that you could play tricks with A0 to make characters and attributes appear to be contiguous: that's a very clever idea. Allowing parallel loading of character and attributes would potentially double the throughput, which would be nice, although there's plenty of time to load characters and attributes sequentially, even with the relatively slow 70 ns RAM chips I'm using.

    • @RayBellis
      @RayBellis 12 дней назад

      @@davehohacks a further idea relating to the need to start the RAM accesses in advance of the start of the visual area (and during the "previous" scan line) - I'd be tempted to drop an 8-bit shift register ('595 ?) as a configurable delay on the HSYNC line near the final output stage (such that it only affects the monitor's version of that signal). Alternatively some timing diagrams depict the 48 clocks of the horizontal back-porch being the start of the current line, and not the very end of the previous one, such that the line actually starts at the rising edge of HSYNC. This perhaps complicates the clock counters compared to starting the visual area at clock zero, but IMHO it sure beats having to think about doing stuff while the previous line is still going.

    • @davehohacks
      @davehohacks 11 дней назад

      @@RayBellis Good ideas! I did consider starting scanlines with the back porch rather than the visible area, but eventually decided it was easier to just increment the vertical count early. (Although, now that I'm thinking about it, these are more or less equivalent ideas.) That ended up being a fairly easy change. I didn't think about delaying hsync with a shift register. Thinking about this right now, you could put all of the signals in a FIFO memory pretty easily and avoid the issue entirely.

  • @thorpejsf
    @thorpejsf 14 дней назад

    Take a look to see if the part you need is available in 74AHC ... nearly as fast as 74ACT, but doesn't switch quite as hard so no ground bounce. (Though, those are all CMOS-level parts so might be an issue with the low output drive of the GAL... not very many 74AHCT...)

    • @davehohacks
      @davehohacks 13 дней назад

      I think I did look for 74AHCT parts and didn't see the ones I needed. It really is annoying that GALs don't guarantee more than 2.4V as the output high.

  • @asmi06
    @asmi06 16 дней назад

    I also like building things, which is why I now design and assemble PCBs with FPGAs 😁 The difference of course is those boards are much more complex, have 6, 8 or even 10 layers, contain big and small BGAs, so instead of messing with a ton of logic chips, I have to deal with high-speed signals like HDMI or 10G Ethernet, DDRx memory interfaces, delay matching, controlled impedance and all that fun stuff. I did learn all of it myself over time without any formal education, so it's absolutely possible to figure all of this out if willingness and persistence is there. As for your arguments against FPGAs, of course none of them (except for "(not) having fun" - this one is subjective) hold any water as FPGA design is simulation, simulation, simulation, and only after than testing it on a real hardware - and of course you have full access to every single signal during simulation. Because of extensive use of simulation, testing/debugging designs on the actual real hardware usually doesn't take much time, and some vendors provide IPs which allow you to "see" any internal signal - just like having a logic analyzer with physical circuits - over JTAG connection. To me the best part about FPGAs is their flexibility, when the same physical board with the same FPGA can be a video-card on one day, a CPU on another, a network switch on yet another, or an entire computer system with CPU, RAM, video card and a bunch of peripherals on yet some other day. Sometimes I get bored of a project in-progress, so I set in aside and work on another one, and then return back to the first one when inspiration strikes again.

    • @davehohacks
      @davehohacks 15 дней назад

      I'm definitely planning to return to FPGAs in the future, and I am confident that simulation will help tremendously.

  • @RelayComputer
    @RelayComputer 18 дней назад

    You still have to present the circuit that generates pixels based on character and character font, so maybe that will answer my question. However, based on this video alone, I wonder if you really need to go down to single pixel counters for the HSync signal. If the character width is always 8, I wonder if it would make sense to work in chunks of 8 bits (or 1 byte) at 1/8 the frequency for all the internal circuitry including the horizontal counters. Then use a shift register or other appropriate means to split the individual bits at the full pixel frequency just before applying color data to the VGA signal.

    • @davehohacks
      @davehohacks 18 дней назад

      It's very possible that parts of the design could be clocked at a lower frequency than the dot clock, although I haven't really considered doing that. If it allowed more of the hardware to work with 74HC/HCT parts rather than AC/ACT, that would be a significant advantage.

    • @RelayComputer
      @RelayComputer 18 дней назад

      @@davehohacks I was mostly thinking about possibly less components, but that's just an intuition. That would need to be assessed...

    • @davehohacks
      @davehohacks 17 дней назад

      @@RelayComputer That makes sense. Having to use fewer counter bits would be nice.

  • @ChipperClipper1
    @ChipperClipper1 22 дня назад

    You're really smart and this is a well put together video. I wonder if you could create a dumbed down version of this video to appeal to a wider audience.

    • @davehohacks
      @davehohacks 22 дня назад

      If you go way back on my channel to the early videos in the 8-bit computer series, there are some videos that go into more of the basics of address and data busses, bus control signals, etc. The nice thing about dual port static RAM is that it works exactly the same way as "normal" single-port static RAM, you just get two independent interfaces. Static RAM is very easy to interface. Also, definitely check out Ben Eater's videos on building a 6502 system if you haven't already. He does an amazing job of explaining things.

  • @thorpejsf
    @thorpejsf 25 дней назад

    Dave, this is pretty cool! I've designed something similar for my 6809-based home-brew machine. Mine has 16 inputs, and uses some logic in a GAL to select between the two priority encoders and some other other handshaking because I also implemented auto-vectoring in mine, whereby the interrupt controller places the address of the IRQ table slot that holds the highest-priority handler address directly on the address bus when the CPU fetches the IRQ vector (sort of like Interrupt Mode 2 on the Z80).

    • @davehohacks
      @davehohacks 25 дней назад

      Wow, that's hard core! It wouldn't have occurred to me that auto-vectoring is possible on the 6809.

    • @thorpejsf
      @thorpejsf 25 дней назад

      @@davehohacks Yah, you can determine when the CPU is fetching the IRQ vector by decoding BA, BS, and A1-A3. My ABUSSEL GAL uses that plus an additional signal from my interrupt controller to decide if the CPU or the interrupt controller gets to drive the address bus. (Eventually, ABUSSEL might also let a DMA controller drive the address bus, but that's pretty far off in the future.)

  • @RayBellis
    @RayBellis 27 дней назад

    I'm glad to see my suggestion for sending the VIS signal into the multiplexor's E line worked! :D

    • @davehohacks
      @davehohacks 27 дней назад

      Thank you for pointing it out! Always nice to reduce the part count.

  • @cbmeeks
    @cbmeeks 27 дней назад

    I need some of that wire. Do you remember what gauge it was? I have wire-wrap wire but it's way too thin for soldering (at least a lot of soldering).

    • @davehohacks
      @davehohacks 27 дней назад

      If you search for "UL1423" on AliExpress, there's a listing from a vendor "FreeBoom". I ordered the 26 AWG variant. I'm not sure if it's really 26 AWG, but it's definitely thicker than normal 30 AWG wire wrap wire. I've found it to be excellent for point-to-point wiring on protoboards.

    • @cbmeeks
      @cbmeeks 27 дней назад

      @@davehohacks Thanks!

  • @thorpejsf
    @thorpejsf 27 дней назад

    This is good stuff, Dave! Following this one with interest!

  • @sergatmel8242
    @sergatmel8242 27 дней назад

    I'm watching this project with interest. Thank you.

    • @davehohacks
      @davehohacks 27 дней назад

      Glad you're enjoying it!

  • @AppliedCryogenics
    @AppliedCryogenics 27 дней назад

    I haven't checked yet of course, but have been wondering if the 6309 bus cycle in my project leaves enough idle time to externally access the fast system SRAM without having to slow the bus clock down from 3.57MHz..

    • @davehohacks
      @davehohacks 27 дней назад

      I guess when E is high the 6309 isn't accessing memory, so maybe your external device could sneak in then?

  • @DirkJMartens
    @DirkJMartens 27 дней назад

    Very interested in the VGA card. Especially how you will interface the software with the hardware.

    • @davehohacks
      @davehohacks 27 дней назад

      I think the software should be fairly straightforward. The only real complexity will be the bank switching, so the software routines will need to set the bank depending on which character or attribute they need to access.

  • @DirkJMartens
    @DirkJMartens 27 дней назад

    I dont think this was wire wrapped. If i understood Dave well, he used wirewrap-style wire and did P2P soldering. Real wirewrapping would be actually be faster. I wirewrap a 100mmx160mm eurocard-sized pcb with 20 or so ICs in 6 to 8 hrs.

    • @davehohacks
      @davehohacks 27 дней назад

      Yes, this is just point-to-point soldering. I have done some wire-wrapping in the past. My only real objection is that wire wrap sockets are expensive.

  • @AjinkyaMahajan
    @AjinkyaMahajan 28 дней назад

    You Seriously did wire-wrap those ICs. Hats off to your patience

    • @davehohacks
      @davehohacks 27 дней назад

      I find point-to-point soldering to be therapeutic somehow.

  • @cbmeeks
    @cbmeeks Месяц назад

    I really loved this video! Do you know if the galasm will work with the ATF15XX CPLD's? I assume not since CPLD's area much higher level than "simple" GAL's.

    • @davehohacks
      @davehohacks Месяц назад

      Thanks! I think GALAsm only supports the Lattice GAL devices (16V8, 22V10, 20RA10) and compatible devices (like the ATF22V10.)

  • @TomaTLAB
    @TomaTLAB Месяц назад

    With this simple DAC you get the "light" colors instead of "bright" ones. See, if intensity bit is set it mixes to all three chanels independent of it's states. You get i.e. 0x3FFF3F (light green) instead of 0x00FF00 (bright green). For CGA colors you need to use all 6 bit of DAC inputs with some "palette" logic, or open-collector/tristate outputs with some diode-logic :) And don't foget the IBM's brown :)

    • @davehohacks
      @davehohacks Месяц назад

      Right, the intensity bit gets added to all of the color component values, so it de-saturates the color. I believe that this is how the CGA text-mode colors worked, aside from brown being a special case. I might revisit the DAC at some point if I'm not satisfied with how the colors look (e.g., if there isn't enough contrast between the non-intense and intense colors.)

    • @TomaTLAB
      @TomaTLAB Месяц назад

      @@davehohacks In fact, this simple palette looks quite attractive. Especially if you adjust DAC network alittle, if necessary.

    • @davehohacks
      @davehohacks Месяц назад

      @@TomaTLAB We'll see how it looks once I (hopefully) get some characters displayed.

  • @jonathan12589
    @jonathan12589 Месяц назад

    Great work me and your son are friends, your a smart man

  • @Iloverealmusic
    @Iloverealmusic Месяц назад

    good work dad👍

  • @m1geo
    @m1geo Месяц назад

    Cool project! Subscribed.

  • @helldog3105
    @helldog3105 Месяц назад

    I really enjoy and I am curious about projects like this. The clock generated at 25.etc MHz specifically generates a 640x480 resolution pixel image. With 256 colors displayed on screen this would be considered similar to what was called SVGA, correct? If the clock can generate a 640x480 image, can it do lower resolutions like the more common 320x240, or 320x200? I know nothing of how any of this works. I would assume that the clock set at 25MHz would be insufficient to drive a higher resolution due to the amount of speed required to draw the vertical columns and the horizontal lines. Also, since I have no knowledge or experience with this sort of things, does the clock factor in on the number of colors that are displayed? I recognize that you have something that generates color, and will later generate pixels and colored pixels, but does that require its own clock generator, or is that tied into the 25MHz clock? Apologies if these are all stupid questions. I am just really curious how all of this works. Science and technology are so fascinating.

    • @davehohacks
      @davehohacks Месяц назад

      Color in VGA is analog: each color component (red/green/blue) is indicated by an analog voltage between 0V and 0.7V. So, there isn't really any inherent limitation on the number of colors, but from a practical standpoint, there needs to be a binary number specifying the pixel color, so the number of bits you dedicate to each pixel will determine how many distinct colors can be displayed. Regarding resolution, there are standardized timings for various modes (the website tinyvga.com is a good reference.) I believe that some of the lower-resolution modes like 320x240 are generated by making each pixel wider (e.g., two clocks rather than 1), and then doubling each scan line.

  • @RayBellis
    @RayBellis Месяц назад

    In the final output stage why use a second 74ACT157 to blank the output when the ~VIS signal could be fed (inverted) to the ~E input of the first '157? When ~E goes high all of the outputs go low, which is AFAICS exactly the behaviour you need.

    • @davehohacks
      @davehohacks Месяц назад

      That is a really good idea!

  • @Otakunopodcast
    @Otakunopodcast Месяц назад

    1:43 "You certainly can't monitor internal signals with an oscilloscope or a logic analyzer." NOT true. At least not any more these days. All of the major FPGA vendors now have signal analyzer type things built in to their software. Basically it's a block of IP that gets automatically loaded onto the FPGA along with your code, and that IP block sits in the background and monitors and records whatever signals you configure it to. It can be set to trigger on various conditions (just like a real oscilloscope/logic analyzer) and you can configure it depending on how much data you want to log. (it uses the FPGA's built-in memory blocks to store the captured data.) So just like a traditional scope/analyzer there's a tradeoff between the resolution/amount of data you can capture vs. not overflowing available memory.) And best of all, this data can be monitored and/or downloaded in realtime to your PC. It's really quite amazing. And lest you think that this is a "professional" grade product that you need to pay big bucks for a professional license to get, that is also untrue. My FPGA dev board is a DE0-Nano which has a Cyclone V, and uses the free version of Intel/Altera's Quartus Lite software, and Signal Tap (their name for the signal capture/logic analyzer thing) is included in the free package and is available for use. If you're on the Xilinx side of the fence, their Vivado suite has a similar tool, though I don't recall its name off the top of my head. (Not sure about Lattice tho.)

    • @davehohacks
      @davehohacks Месяц назад

      That's a good point. There are a couple of specific issues for me, though. One is that I'm reluctant to invest any time or energy into closed-source vendor tools that either might not work on my OS (Linux), or might not be available under reasonable licensing terms in the future, or both. The other is that I haven't invested the time to fully learn the workflow of any FPGA toolchain. I really do plan to return to FPGAs in the future, and I like the open-source IceStorm toolchain. I'm thinking that a way forward in the future might be Verilator for simulation and IceStorm for synthesis. But for now I'm having fun and making progress with GALs and 74ACT logic. Generally I need to spend quite a bit of time approaching a problem the wrong way before I'm able to appreciate the right way 🙂

  • @yandyyay
    @yandyyay Месяц назад

    Nice video... one thing I learnt that I don't remember reading anywhere is that not all vga monitors behave the same, I found this out as I was not making the RGB signals LOW during the non visible parts and this would upset the synchronisation on some monitors,. RGB signals forced low during non visible parts all monitors ( that I tried) seemed to behave the same.

    • @davehohacks
      @davehohacks Месяц назад

      I have a monitor that does that (freaks out if there are color signals outside visible area) too!