Hacking an IBM CGA card for fun and speed!

Поделиться
HTML-код
  • Опубликовано: 4 июн 2024
  • Announcement: I'll be at VCF Southwest in Dallas June 14, 15 and 16! www.vcfsw.org/
    Let's continue fooling around with the old IBM CGA card that I rescued in the last video. In this video let's see what kind of mods I can do to it that could give the card a speed boost, just from some hardware mods. Yes, I know these are are useless mods!
    Cleaning corrosion from this card: • Can we save this heavi...
    -- Video Links
    Area5150 Demo:
    www.pouet.net/prod.php?which=...
    Adrian's Digital Basement Merch store:
    my-store-c82bd2-2.creator-spr...
    Support the channel on Patreon:
    / adriansdigitalbasement
    Adrian's Digital Basement (Main Channel)
    / @adriansdigitalbasement
    My GitHub repository:
    github.com/misterblack1?tab=r...
    -- Tools
    Deoxit D5:
    amzn.to/2VvOKy1
    store.caig.com/s.nl/it.A/id.16...
    O-Ring Pick Set: (I use these to lift chips off boards)
    amzn.to/3a9x54J
    Elenco Electronics LP-560 Logic Probe:
    amzn.to/2VrT5lW
    Hakko FR301 Desoldering Iron:
    amzn.to/2ye6xC0
    Rigol DS1054Z Four Channel Oscilloscope:
    www.rigolna.com/products/digi...
    Head Worn Magnifying Goggles / Dual Lens Flip-In Head Magnifier:
    amzn.to/3adRbuy
    TL866II Plus Chip Tester and EPROM programmer: (The MiniPro)
    amzn.to/2wG4tlP
    www.aliexpress.com/item/33000...
    TS100 Soldering Iron:
    amzn.to/2K36dJ5
    www.ebay.com/itm/TS100-65W-MI...
    EEVBlog 121GW Multimeter:
    www.eevblog.com/product/121gw/
    DSLogic Basic Logic Analyzer:
    amzn.to/2RDSDQw
    www.ebay.com/itm/USB-Logic-DS...
    Magnetic Screw Holder:
    amzn.to/3b8LOhG
    www.harborfreight.com/4-inch-...
    Universal ZIP sockets: (clones, used on my ZIF-64 test machine)
    www.ebay.com/itm/14-16-18-20-...
    RetroTink 2X Upconverter: (to hook up something like a C64 to HDMI)
    www.retrotink.com/
    Plato (Clone) Side Cutters: (order five)
    www.ebay.com/itm/1-2-5-10PCS-...
    Heat Sinks:
    www.aliexpress.com/item/32537...
    Little squeezy bottles: (available elsewhere too)
    amzn.to/3b8LOOI
    --- Instructional videos
    My video on damage-free chip removal:
    • How to remove chips wi...
    --- Music
    Intro music and other tracks by:
    Nathan Divino
    @itsnathandivino
  • НаукаНаука

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

  • @chuckthetekkie
    @chuckthetekkie Месяц назад +105

    Nothing is pointless if you had fun along the way.

    • @johnhansen4794
      @johnhansen4794 Месяц назад +2

      For some reason this reminds me of Layer 3 switch programming.
      But then I am a rather anti-normal individual.

    • @keithkneeland6849
      @keithkneeland6849 Месяц назад +3

      The importance of this philosophy cannot be overstated! I’m 42 and it took me way too long to truly accept if I enjoy it, no matter how pointless everyone else may think it is, is well worth doing.

  • @myleft9397
    @myleft9397 Месяц назад +98

    He's trying the software. He's checking the schematics. He's hacking the hardware. Just what I'd expect from an Adrian's video. Great vid.

    • @suvetar
      @suvetar Месяц назад +9

      He's hacking the software, checking it twice; he's probing the IO and making it nice ... Adrian is coming to town!
      Sorry, wrong season 😀

    • @djksfhakhaks
      @djksfhakhaks Месяц назад +8

      He's going for speed. All alone in a time of need.

    • @jeromethiel4323
      @jeromethiel4323 Месяц назад +3

      @@djksfhakhaks Haha! I was thinking of the same song!

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

      ​@@jeromethiel4323glad to see I'm not alone🤣

  • @92Hidden
    @92Hidden Месяц назад +41

    That 1 character per frame kind of has its own charm.

    • @TatsuZZmage
      @TatsuZZmage Месяц назад +5

      would be a fun prank back in the 80s hahaha

    • @exidy-yt
      @exidy-yt Месяц назад +4

      Reminds me of viewing a BBS at 1200baud on my C64!

    • @calinculianu
      @calinculianu Месяц назад +2

      It's about as fast as a 600 baud modem would be. 2x the speed of my first 300 baud modem!!

    • @panpaletkalg2550
      @panpaletkalg2550 Месяц назад +3

      looks like hacking scene from late 90' movie

    • @VintageTechFan
      @VintageTechFan Месяц назад +2

      Add a small buzzer to it so that it makes beepy clicking noises every character for the full experience :D

  • @tlrptg
    @tlrptg Месяц назад +41

    that's not snow, but an entire blizzard :))

  • @msbrickkitten6882
    @msbrickkitten6882 Месяц назад +41

    You took a trashed-out card, and had a bunch of fun with it and got it to work better than new... How can anyone hate that? ... what am I saying, this is the internet... 🤣

  • @JimLeonard
    @JimLeonard Месяц назад +15

    Not going to lie, probably one of my favorite videos of yours :-) BTW, the version of quickcrt you found was an updated version of what I used in the 80s, so it was all valid.
    For extra fun, you can run NNANSI (not a typo) which not only has faster CGA writing, but has a special mode that uses hardware scrolling to scroll crazy fast without any snow.
    Fastest DIR in the west!

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

      DIR>NUL: is even faster!

  • @parrottm76262
    @parrottm76262 Месяц назад +6

    I can't tell you how engrossing this video was. Adrian just trying things and letting us see the result is just GOLD. We learn, we laugh. Maybe it is just the geek in me, but how Adrian presents, "it just works".

  • @ceruleanserpent387
    @ceruleanserpent387 Месяц назад +5

    This is incredibly nerdy, and incredibly my jam

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

      For sure, I'm surprised such a crusty card actually came back to life.
      I think it's BS that you can't leave a comment without making a donation though. That's becoming more common and my broke ass hates it.

  • @mariestarlight
    @mariestarlight Месяц назад +17

    All this talk about ANSI text has reminded me of an ANSI DOS editor program called "TheDraw". It was basically a program that let you draw out ANSI text streams in picture forms like PAINT does in windows, except it was for DOS and it used those ANSI character codes. It allowed you to draw pictures in dos that you could use in BBS's and such. Would be neat to see that or other programs like it shown on your videos.

    • @Shadow-RAM
      @Shadow-RAM Месяц назад +1

      You could also do ansi animation too!

    • @MarianoLu
      @MarianoLu Месяц назад +4

      Wow you brought back some memories. I had completely forgotten about TheDraw. Now I have to start googling to see if there is a copy somewhere

  • @jayjacob9621
    @jayjacob9621 Месяц назад +52

    PLEXUS
    PLEXUS
    PLEXUS
    PLEXUS
    .....

  • @kronos5385
    @kronos5385 Месяц назад +11

    I had one of the earliest true IBM CGA cards. I worked for IBM in the early 80's. It was a pretty terrible card but the 6845 CRT controller was a competent IC that later clone makers were able to improve on with their cards performance. I believe the 6845 is still being made, if not, they're pretty easy to source 45 years later.

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

    Adrian's giggles around 30:00 are totally infectious. Looking forward to more pointless hardware hacks!

  • @stefanjohansson3578
    @stefanjohansson3578 Месяц назад +2

    More hardware hacking videos please, this was a great one!
    Well all your videos are great, but this was something extra.
    Not just a repair, but trying to next level it. Fun stuff to watch!

  • @bobingabout
    @bobingabout Месяц назад +2

    35:29 it's like playing computer games, where the text intentionally scrolls really slow.
    You made a computer game computer!

  • @JanusCycle
    @JanusCycle Месяц назад +3

    That was heaps of fun. Thanks Adrian.

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

    Great episode! Love to see some of Adrian's C64 like focus and detail aimed at the PC world, _and_ in cooperation with Trixter! A star studded cast.

  • @krnlg
    @krnlg 24 дня назад

    This is so much fun! Your videos are always great but this one is especially so, it's just so fun all the kinda random hardware hacking 😃

  • @AS-ly3jp
    @AS-ly3jp Месяц назад +2

    I think that was a great experiment! Thank you!

  • @idio-syncrasy
    @idio-syncrasy Месяц назад +1

    Amazing how you understand this so well. I would have no chance. Acceptance of the snow ...

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

    More of those silly mods. The best way to see how things really work! Great episode!

  • @belzebub16
    @belzebub16 Месяц назад +12

    What an exciting endeavour!
    I only entered the PC space in 93 and our 386 already had a VGA cart, but it's really interesting to see how it all started.

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

    That was simply awesome. Your "period correctness" is off the charts with this one. It's what I would have wanted to know and do back then (if I had to make do with CGA). I was half expecting an avr or similar coming out of your drawers. But just some bodge wires and jumpers.... *great* work. Also, I like your attitude towards changing old things.

  • @retrozmachine1189
    @retrozmachine1189 Месяц назад +9

    The 14.318/3.58MHz tinkering, try inverting the display enable signal that is already there. That would still toggle the line allowing the software to see what it wants, but it would result in being able to do access RAM most of the time rather than just when the active part of the display is not being drawn. Inverting VS before using it instead would give even more access time. Access time could be extended out even further using a oneshot triggered by HS to give almost full time access but a oneshot would be tied to the vertical rate, so not necessarily a good idea.

    • @Hans-KRC
      @Hans-KRC 29 дней назад

      Oh that would be a worthy followup.

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

    It would be so cool, hanging around with you, just tinkering 😋 I love your videos and you tought me so much about analyzing faults! 😊

  • @freddienz
    @freddienz Месяц назад +1

    Excellent video. Loved the process and I will say "definitely not pointless."

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

    I probably would only do the thin font mod, but this is very cool that there's so much more things people know about these cards.

  • @Slim_Chiply
    @Slim_Chiply Месяц назад +3

    I think experimentation like that is really cool. It's how you learn. I've been doing similar stuff with the raspberry pi. A lot of what I've learned comes from Adrian and others on RUclips. I've gone much further than I would ever have been able to do before.

  • @AttilaFarago
    @AttilaFarago Месяц назад +2

    Very nice video, I loved it. I can't remember what software hack I used that time, but for file editing we used Volcov Commander.
    Volcov Commander (VC) was released later in the early 90's, but in Hungary, our computers were a few generations behind. It was something like the Norton Commander, but with very little memory usage and bare bone assembly programming. I definitely used on 286 and 386, but I believe it's capable to run in XT as well.

  • @tigheklory
    @tigheklory Месяц назад +5

    You should have hooked the 3mhz up to the font bold pin for fun! Someone send Adrian a Coleco Adam!

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

    Great mods! Well done.

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

    Beautiful example of learning by "unguided" discovery. LOL. Love the videos !

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

    And THIS was what we did back in the 80s which is where the hacking term came from. Great episode Adrian!

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

    Now that's why I even started being interested in electronics. Thanks!

  • @Xsses
    @Xsses Месяц назад +3

    Even on DOS Vi is the best text editior.

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

    ‘I know everything I did here was completely useless’ loool you made me laugh loud! I enjoyed this a lot! Thanks!

  • @wskinnyodden
    @wskinnyodden Месяц назад +1

    TheDraw! That is the ANSI editor of choice!

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

    This is pretty cool.
    I like mods like this.The only time I really would have an issue would be if it is a very rare piece of hardware with historical value in its original state, the only mods I'd like in that case would be necessary repairs and mods to use the thing at all. CGA cards are common enough this isn't an issue I'd have.

  • @brianlhughes
    @brianlhughes Месяц назад +15

    I watched a YT video where a person engineers a display card from scratch, they started with a timer and using ICs made the v sync and h sync signals by counting timer ticks and testing for bits as the counter went up to tell when a number of ticks occurred. They made additional videos where they added video memory and got it all working. I suppose you could do video card using a pico. It sure is fun learning bits and pieces how this stuff actually works!

    • @belzebub16
      @belzebub16 Месяц назад +2

      I would've thought a Raspberry Pi Pico would be too slow to handle such bandwith of what basically is NTSC, but it seems "ART Pa" here on RUclips made it work.

    • @computer_toucher
      @computer_toucher Месяц назад +10

      Check out Ben Eater's 6502-based computer from scratch -- the ultimate "how do puter work" from the most basic steps.

    • @neilbradley
      @neilbradley Месяц назад +3

      @@belzebub16 I'm doing 640x480 on a PICO with a 640x320 frame buffer. With dual cores + the PIOs, it's quite capable.

    • @der.Schtefan
      @der.Schtefan Месяц назад

      ​@@belzebub16There are pi picos that do vga with the RP2040 io processor

    • @sprybug
      @sprybug Месяц назад +4

      Are you talking about James Sharman? I've watched his VGA from scratch videos multiple times, along with a few other people who have done VGA on a breadboard in order for me to figure out how to the the VGA on my current project, which I'm throwing into a CPLD.

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

    I love it. Circuit bending a CGA card.

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

    this is very cool! And really only possible on this old hardware, where you literally solder around bits and bytes! This is gold for understanding how things work!
    I wonder if you could bodge some dual ported Ram on the thing and "route" the acces to different ports depending on the system writing to memory or the CRTC reading and displaying.
    huh... can you replace the DRAM with SRAM somehow? just ignore all the refresh shenanigans and use address and data lines accordingly?

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

    I like this stuff. Very in line with mods various enthusiasts would've done, maybe with some outboard buttons or switches. I dunno if there would've been as open access to schematics or much sharing of ideas and stuff back then, though.

  • @BryonLape
    @BryonLape 29 дней назад

    I've been using PC's and compatibles since 1985 and today I learned this was a thing.

  • @fubaralakbar6800
    @fubaralakbar6800 26 дней назад

    If you use a double-wide font, your computer will start drinking beer and attending monster truck rallies.

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

    You should present all your mods in this format, even if it means double work, its very accessible to us to follow along with your thought processes and get lots of stuff done too

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

    ooh this is fun!
    about the performance mod:
    i would reckon the duty cycle of the display-enable signal is the key to speeding things up, rather than its frequency - high represents the display being on, low represents off, so a shorter duty cycle should make it think the display is off for longer
    assuming the 3.57MHz clock has a ~50% duty cycle, that's shorter than the ~70% i'd expect from display blanking, but not by all that much
    having a very brief pulse at the end of each scan line would probably be ideal for speed, but also compatibility

  • @AndreFachat2
    @AndreFachat2 19 дней назад

    Interesting video! I didn't think that after Commodore had solved the snow issue with their 80 col models, that would still be an issue on the PC.

  • @andrewarmenia1461
    @andrewarmenia1461 Месяц назад +5

    There's an active-low minus sign in "-DISPEN". I think that when you tied the signal low, you were creating the "active video" state all the time. So it waited forever for the horizontal retrace. Out of curiosity does it work if you tie pin 4 high instead of to the 3.58MHz clock?

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

    Good job. :)

  • @Hiphopasaurus
    @Hiphopasaurus Месяц назад +2

    Have you tried GLaBIOS as a replacement for the system BIOS? It has options where you can choose different levels of CGA snow removal including disabling it entirely to get that same effect as your hardware mod. It also claims to be faster at CGA scrolling than other BIOS ROMs. Would be fun to see you could test and verify that though.

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

    Love the video. I think I prefer the blanking though, so they originally made the right decision back then.
    Can you imagine all the support calls or returns they may have had? Snow looks like a fault, whereas the blanking does not.

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

    SHENANIGANS! I love it!

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

    I thought the mods were fun and a good learning experience. And as you noted, there was no permanent damage done and could be reversed. In fact, more mod videos IMHO would be awesome.

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

    This is the advantage to old tech, you have access to everything. With later boards you cannot do much as it's all buried inside large custom chips.
    This also reminds me of the video on my old TRS-80, same snow, however you cannot do anything about it in software as there is no register for the software to monitor.

  • @DavidGonzalez-uz6cl
    @DavidGonzalez-uz6cl 22 дня назад

    Hi Adrian, I have been seeing your both channels long.
    I think this question is off topic about this video but I didn't find the video where I see a tool to bend the legs of the chips, and I wanted to know where did you buy it.
    Thanks and keep doing all this because you do a great job

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

    I can say with 100% certainty I will NOT be doing this Mod. Mainly because I don't even OWN this board. 🤣 Otherwise great video & glad you had fun messing.... err I mean Modding it! 😸

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

    Nice hack, Adrian! Have you done a vid on the bidir-mod for parallel ports? It's one of my favorite historical hacks... They didn't need anything more than to reroute a trace! Not even a mod to software/BIOS. And, it made for such great early hackery, like from the book "Build Your Own Computer Controlled Robot" back before Pis, or even Arduinos, or even Basic Stamps!

  • @retrozmachine1189
    @retrozmachine1189 Месяц назад +1

    Not that I've looked but the character dots are probably being produced by a shift register, which latches in the data on the edge of some other signal. Delay that latch signalling a wee bit so that the CG ROM address line has had time to set and the ROM itself now returns data from the alternate space and you'll likely solve the thin / thick character problem. A single buffer of a 74LS07 or the like would probably be long enough.

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

    You know, you keep saying that this was pointless and silly, but this type of hardware hacking is a lot of fun to all of us hobbyists, and I'm sure I'm not alone when I say that I'd love to see more of these videos.

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

    maybe dumb idea, but i was wondering if the disp enable could be used a chip select to between another bank of memory basically creating a double buffer, which would fix the snow and flicker.

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

    For modifying the board, I would have considered putting the chip in a socket. You can pop a pin out of a machined pin socket fairly easily or you can bend the leg of a chip.
    I would also have likely tried to put in some sort of deadbug circuit to make the CRT enable easier to control and also make the blanking signal the software waits for always true.

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

    That newer CGA card actually looks like it's got a Video BIOS onboard (the two large chips in the corner). If that's the case, then the reason it doesn't flicker is probably not because it ignores that hardware line, but actually because when the computer first boots up, it detects the expansion card's ROMs, executes the code in them automatically, which replaces the default BIOS routines with its own custom ones (similar to how ZANSI.SYS or FASTCRT do). The software patch is just built into the card.
    This was very common for most video cards with more advanced features, as they would add functionality to the stock BIOS routines to support switching to other modes, or using more advanced graphics capabilities, etc, that way too.

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

    I want to do that thin character mod now!

  • @ml.2770
    @ml.2770 4 дня назад

    I've been most happy with Clansi. Despite being slower, it also hunts for soviet submarines.

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

    I am not surprised about the font attribute delay (well, I design video pipeline in FPGA for a living) : graphics data has to be read from the character ROM in advance. The attributes are applied while shifting the 8-bit data to the video output, one character delay later.

  • @anthonyblacker8471
    @anthonyblacker8471 Месяц назад +4

    I think it would be silly to even suggest you may have 'ruined' that card, the same card that was headed to recycling and scrap. How about this: back in the 80s - even to today, people have ALWAYS tried to hack / mod / improve the hardware BEST we possibly could!! Adrian I think it's FANTASTIC that you took the time and had the patience to go through some of these mods on the CGA card MY pc had in it (basically) back when we got our first XT clone.. yeah man.. awesome!

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

    Adrian, the display enable signal is active LOW (it says -DISPEN on the schematic), so you should hook it to 5V instead of ground.

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

    26:00 Awesome! Now, if you could figure out how to get snow instead of freezing/blanking on over-the-air digital TV, we might finally have TV as useful as we had for the half-century prior!

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

    When you are looking for a clock signal to tie the speed up mod to, could you not have tied it to the 4.77 megahertz clock signal on the ISA bus

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

    On the screen around the 5:45 mark is that dates that is scrolling down showing when a particular task was done? If so, that is so interesting to see. A look back in time on how long this was used, and just thinking about the history behind the program of the person using it. So neat, idk why but it is.

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

    so when it was really slow by bodging on the sync signal, what would happen if you inverted the signal?

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

    Hi Adrian, is it possible to put faster chips into the graphics card ? And increase the ram etc? So sort of super mod it with more resources than they could ever have dreamed of when they created the card?

  • @gmirwin
    @gmirwin 26 дней назад

    The slow updating text is every Hollywood OS.

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

    Single pixel wide and double pixel wide character sets... seems likely this was intended to support light and heavy (bold) characters in text mode. BUT because of the requirements of composite video bold text is enabled always. Also possibly because they ran out of attributes bits in CGA so the feature couldn't be implemented but IBM already had the ROMs so character set could be selected with this hardware mod. Documentation for ANSI.SYS from Microsoft listed the ansi escape sequence for bold text but it didn't work. So maybe It was supposed to work but the hardware support just never happened

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

    Noticed that when running/installed the quickcrt/f, it returns a message, saying "installed, without snow suppression"

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

    It's weird... I had an original 5150 with CGA BITD, and I do not remember the flickering at all. Of course it has been almost 40 years since then.
    I do remember the snow, such as while CopyWrite was failing to dup a disk. I hardly ever loaded ANSI.SYS though because there were few programs I had at the time that would send ANSI escape codes. Also, BASIC seemed to go through the BIOS routines so BASIC programs also didn't benefit from it.
    But to answer one of your questions: Turning off the blink bit allows the background to have all 16 colors. With the text blink bit on, the background would take its brightness bit from the foreground text color, IIRC.

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

    PNW pinball convention this weekend I'll be there with my ADB mercy on.

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

      might keep an eye out for ya then! wish I knew about any retro/vintage computing museums in the area though

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

    I am sure the Nim family were quite well known in the early days of computing, they had a gane named after them as well.

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

    This is all just great. But you don't mention the DOS TSR that fixes the snow problem! Long ago I had an idea for a 3D display using crossed polarizers. To implement it, I needed to understand how IBM PC graphics were generated and controlled. So I bought a book called "Programming the EGA and VGA Displays" and I learned x86 assembler (oh what torture) to understand it. Then hardware got way better, and I realized I was barking up the wrong B-tree.

  • @AK-vx4dy
    @AK-vx4dy Месяц назад

    36:48 I think that BIOS procedure can't start writing if signal is already low because it will not know it just started or about to end and how much times i has, so it waits to high and then to low signal yo be sure

  • @humidbeing
    @humidbeing Месяц назад +7

    The "contention" between CPU and Video Card accessing the video memory as Adrian describes it is why later high performance cards used VRAM instead of DRAM. (VRAM and DRAM are different types of memory. These days everyone says VRAM to mean video memory, but in the 90s it meant a specific type of video memory). VRAM was dual ported, so the video memory could be read and written at the same time.

    • @adrianchadd
      @adrianchadd Месяц назад +1

      Yeah, I think they didn't wanna include the logic to introduce wait states to the CPU when the 6845 was accessing things.

    • @tw11tube
      @tw11tube Месяц назад +1

      @@adrianchadd It's not just about missing logic. The memory system on the CGA card runs at the speed of 160 memory cycles during the active display. In 40-column text mode and all graphics modes, the video refresh logic needs 80 cycles (80 bytes per line, think of the attribute bytes in text mode!) per line, so the memory system alternates between one cycle that can be given to the ISA bus and one cycle for display refreshing.
      In 80-column text modes, the display refresh needs to fetch 80 character codes and 80 attribute codes during the active part of a scanline, which mean it will take *all* available memory access time slots during the active period. The active period is around 40µs, so in the worst case, you would need to add 40µs of wait states until there is an unoccupied time slot. This is forbidden, because there is no memory refresh during wait states, and the IBM PC architecture needs a memory refresh cycle every 16µs.
      What the CGA card does: It executes the bus video memory access cycles in the time slots designated for processor access even in 80-column text mode. The address requested by the CRTC is substituted by the address requested by the ISA bus, and the data lines obviously also contain the byte read or written by the CPU, not the byte required for display refresh. Nevertheless, the display refresh circuit grabs the data from the memory data lines and treats it as if it were the data required for memory refreshing.

    • @monad_tcp
      @monad_tcp Месяц назад +1

      and to this day people think VRAM used in GPUs are different, but no, its just different timings because the traces are shorter and more bits. PCs transfer from RAM at 512 bits, GPUs transfer from RAM at 4096 bits, it just uses more channels with thigh timing, but basically its the same kind of memory. GDDR5 is DDR4

    • @adrianchadd
      @adrianchadd Месяц назад +2

      @@monad_tcp i vaguely recall a few designs with dual ported RAM, but RAM got a lot faster and dense very quickly in the early 80s to 90s. I remember reading up on the Amiga designs with VRAM and .. well, then RAM got cheaper and faster.
      Combined with wiring memory in parallel - even just using the fast page mode of DRAMs helped - stuff suddenly had freed up cycles.
      Then when companies started rolling ASICs they would frequently put a small FIFO in between the system bus and the graphics subsystem bus so you could buffer writes from the CPU -> graphics RAM without requesting wait cycles.

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

    The font data is loaded into the shift register before the attribute data is read, so it won't have the attribute set for wide font when the font data is being read

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

      Ah yes, ok makes sense! It's always offset by one character. (Verified as I've used this card a bunch more.) I suppose this means there really is no way to fix this problem without massive re-engineering?

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

      @@adriansdigitalbasement2 Not if you're using the attribute, no. CGA memory is pairs of bytes, the character code followed by the attribute, so the attribute is always read second. You'd need to come up with some other way of switching between the fonts, which won't be as good as using the attributes...

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

    Maybe instead of cutting the trace and permanently pulling enable pin high, it would be worth adding a capacitor there. So that it stays on during brief interruptions (like, when scrolling), but still keeps off until initialized.

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

    Some VGA drivers use CACHE write-back policy to speed up video memory manipulation ; you write to cache memory instead of actual video memory in the card and then (i supose in blank interval) is flush to the video card (or something like that, i dont remember specific)

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

    My first computer was an IBM 8088 with a CGA video card. We got it used from a thift shop for a few hundred dollars.

    • @TatsuZZmage
      @TatsuZZmage Месяц назад +1

      10$ from a neighbor moving in 93 go i miss it an idiot tossed it.....

  • @AK-vx4dy
    @AK-vx4dy Месяц назад

    As a TurboPascal programmer i can say that probably few programs used DOS routines to write on the screen, some used BIOS but even TurboPasacal have option to bypass BIOS so that's why you have diffrent results with diffrent programs

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

      Yep, most things, especially later DOS stuff, wrote directly to hardware.

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

    Hi Adrian. IBM probably put the double-pixel font into the character ROM in case you use the composite video output, otherwise you’d get the color fringing that one sees on an Apple //e in 80-columns mode, or in certain games that try to draw their own text into the hi-res screen. 😊

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

    Not me screaming "Relaunch the browser and update already!"

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

    That one-character-per-frame mode simulates ~600bps (for 8N1 equivalent)

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

    'Whatever is rightly done, however humble, is noble.' - Henry Royce

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

    You know, that weird first character not being double width in the flashing mode, reminds me of how the text looks in that first Civilisation game ... Or is that just my bad eyes?
    Sorry if I missed a bit, but do we know how it actually does the blinking - does it just omit a character for that cell and only draw the background or is it a special glyph or something?

  • @nR-kv7xo
    @nR-kv7xo Месяц назад

    I think mods are fine, as long as you put a sticker to say what you did. I buy/find a lot of this hardware with wires and mod and I am not sure why, and takes time to reverse. Otherwise, welcome, there are many in the market anyways, some original, some modded.

  • @AK-vx4dy
    @AK-vx4dy Месяц назад

    38:50 Difference is in frequency but also in pulse width which is not 50/50 for hsync

  • @eliotrulez
    @eliotrulez Месяц назад +1

    funny, but I would hate the snow :)

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

    Is there a mod to prevent both the flashing and snow and not break certain software?

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

    Your character set mod is delayed by one character because the character generator address needs to be available before the character generator output and character attributes are latched. You could try tapping into pin 3 of U35 instead of pin 2.

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

    Yes, by the way VI uses a alternate text buffer.

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

    There are a lot of remake CGA cards on eBay at the moment.. 50 AUD.

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

    As an academic exercise, the mods and investigation surrounding them were very interesting.
    The fact you posed the question to the audience regarding butchering what is presumably a genuine IBM CGA card suggests you at least belatedly realised that the activities would raise the hackles of some viewers.
    - Ultimately, it's your board, you have at least one other and as you point out, you'd already resurrected this one from a scrap pile, from where it was in a heavily corroded state.
    (I'd tin and wick off the excess solder to protect the exposed copper on the edge connector, BTW - precursor and material to gold plate that exposed copper is horrendously expensive)
    - On the other hand, having resurrected a genuine IBM CGA card, it would have been nice to have it in as pristine condition as possible.
    - The counter-argument to that is, had you done these mods to a supposed 1:1 clone of an O.G. IBM CGA card, there's always the doubt that it is 100% electronically equivalent to "the real thing", so doing same mods on a clone board may generate false positive and/or false negative findings!

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

    @9:50 Download in die 80”? From a BBS I think or you get it via a computer club.

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

    My grandfather did the one pixel font mod for my dad when he was a kid.