386DX-40 runs Quake III Arena using Open GL and 64MB RAM

Поділитися
Вставка
  • Опубліковано 24 жов 2024

КОМЕНТАРІ • 90

  • @xenon2Merchant
    @xenon2Merchant 3 роки тому +66

    Two things surprised me (obviously without mentioning great effort for makin this vid).
    1 - code runs on 386 instruction set (+FPU of course) without any fancy 486/586 BSWAP/XADD etc....
    2 - code is so good so it does not crash even on super slow systems (division errors due to timers being out of range)
    I guess its Carmack skill. Rage (1) still can utilize all cores if you set it to super high resolution etc... incredible.

    • @user-nu5ib2ri9o
      @user-nu5ib2ri9o 3 роки тому +7

      1 - Compiler magic
      2 - I would expect division errors on super fast systems instead, due to 0ms delays between events, e.g. famous Run Time Error 200

    • @bryanpratt3933
      @bryanpratt3933 2 роки тому +1

      @@user-nu5ib2ri9o I believe the source was either pure C/C++ and may had had hand-tuned ASM wrapped in #IFDEFs for x86 platforms - so, if you disabled those and recompiled with the appropriate arch, it would work fine. Or, if you are a god-tier programmer, rewrite any ASM segments with 386/7 opcodes for MAX PERFORMANCE!

    • @SevenCompleted
      @SevenCompleted Рік тому +2

      John Carmack is truly a wizard

  • @chitan1362
    @chitan1362 Рік тому +6

    This really puts in perspective how fast technology evolved in that small time frame.

    • @3Dima
      @3Dima День тому

      It's not fair to compare software OpenGL rendering on 386DX to contemporary 3D-accelerated rendering, besides that it was running on Pentium I-II-III machines.

  • @CPUGalaxy
    @CPUGalaxy 3 роки тому +36

    You videos are a piece of art! Absolutely great! I also like your experiment very much. 72 hours. unbelievable. very cool.

    • @command_line_channel
      @command_line_channel  3 роки тому +12

      Thank you! I love your channel as well! 200Mhz 486 is a Legend!

  • @ccanaves
    @ccanaves 3 роки тому +35

    Nice, it runs at ~200 frames per sec.... I mean, ~200 seconds per frame.

    • @hrayz
      @hrayz 2 роки тому +2

      I measured about 8 frames per hour (during the tough fighting parts.) So 450 seconds per frame (7.5 minutes) 😮

    • @bryanpratt3933
      @bryanpratt3933 2 роки тому

      @@hrayz Yep, the math checks out, 271191.7 / 1399 = average of 193.847 SPF, what a MONSTER!

  • @lemagreengreen
    @lemagreengreen 3 роки тому +9

    Well that is surprising, my assumption would be that Quake 3 required much later instructions to run. Very cool :)

  • @kasimirdenhertog3516
    @kasimirdenhertog3516 3 роки тому +16

    You can definitely see the advantage of the co-processor here

    • @command_line_channel
      @command_line_channel  3 роки тому +11

      Everyone should be writing letters to Santa that they want a Cyrix FasMath this Christmas!

    • @kasimirdenhertog3516
      @kasimirdenhertog3516 3 роки тому +3

      @@command_line_channel probably easier to get than one of them new Ryzen chips too 😉

  • @xdeathcon
    @xdeathcon 4 роки тому +21

    74 hours to play a 2 minute demo... Truly blazing fast speeds

  • @dontmindmejustwatching
    @dontmindmejustwatching 3 роки тому +8

    Also I really dig how you selected music, illustrated timelaps, the intro part. Masterpiece. thumbs up.

  • @Korstre
    @Korstre 3 роки тому +10

    Running this game on this kind of hardware may sound so outlandish to a point where it's the most memeable thing in the world, but it's really not far off from the realities of 3D rendering in the early 90's. Notable early projects like the TV show "ReBoot" had been rendering episodes since 1991, but it wouldn't be for another _three years_ until the program would be ready to air.

  • @COIFISHGAMING
    @COIFISHGAMING 3 роки тому +3

    wth really??? This is crazy dedication and a bold step for science!

  • @lydialoud
    @lydialoud 3 роки тому +8

    18.5 frames per hour; impressive!

  • @madoz1608
    @madoz1608 3 роки тому +6

    16mb 30pins wow i thought 4mb ones were the largest. You have taken the lead on this noone has the patience to try this 0.0 fps experiment. Much respect!

    • @luckyluckydog123
      @luckyluckydog123 3 роки тому +4

      yes, 64MB of ram on a 386... it sounds incredible.

  • @artemtill5459
    @artemtill5459 7 місяців тому

    386dx40:
    -Dear diary I cannot find the words to describe the pain and humiliation I have experienced

  • @CharlesVanNoland
    @CharlesVanNoland 3 роки тому +3

    Makes me sad seeing Mr Elusive running around on thee. RIP Jan Paul van Waveren, developer of the Omicron Bot for Quake1 originally and was hired by id Software to do the AI for Quake3, and who worked on all of the games afterward up until leaving to work at Oculus. A lot of the work he did w/ Carmack is what runs on the Oculus Quest headsets to this day.

  • @CYON4D
    @CYON4D 2 роки тому +3

    "How many FPS can I get running Quake 3 on my 386?"
    "YES"

  • @pc-sound-legacy
    @pc-sound-legacy 2 роки тому +4

    Amazing! And the ultimate 386 stress test😄

  • @Kynareth6
    @Kynareth6 2 роки тому +5

    Thanks for the video! Very informative.
    Now imagine running a 2022 game with a good 2012 CPU like the 3770K. It would run no problem, just not for high-refresh monitors.

    • @germanlorenz
      @germanlorenz 9 місяців тому +1

      Estoy jugando Start Wars Jedi Fallen con una Lenovo T430 de fines de 2012 con un modding impresionante. i7-3920XM @ 3.9Ghz (Bios Mod) + Ripjaws 16GB DDR3L @ 1866 (Bios Mod) + eGPU con EVGA nVidia GTX 1660 Super 6GB VRAM + SSD 2TB x 2 SATA3 y mSATA y anda fluido a 30FPS o mas

  • @mattiviljanen8109
    @mattiviljanen8109 3 роки тому +2

    Speedrunnin't. Speeruining. Speedrun't.

  • @TechAmbr
    @TechAmbr 3 роки тому +2

    Wow that little FasMath workin' OVERTIME!! 😆

  • @chironbramberger
    @chironbramberger 2 роки тому

    You're out of your mind... and I love it!

  • @ljrretropcs
    @ljrretropcs 3 роки тому +1

    I love this video :D
    Proper dedication that!

  • @Jabjabs
    @Jabjabs 2 роки тому +1

    Something so stupid it just had to be done. I love it!

  • @dontmindmejustwatching
    @dontmindmejustwatching 3 роки тому +1

    This is some Interstellar movie type of stuff ))))) Everything seems normal but then you check clocks and... mannnnnnn no it's not normal, blackhole in range, we are screwed, mission abort, mission abort ))))

  • @leency
    @leency 3 роки тому +3

    Great experiment!

  • @0xABADCAFE
    @0xABADCAFE 3 роки тому +2

    I'm not sure how much I believe this. For one, it suggests not only was the game engine compiled only using instructions compatible with 386 and the legacy FPU but equally a functioning opengl driver stack for the same. Not impossible but it seems unlikely that no 586+ instructions would exist anywhere in the code path for something released when the Pentium 2 was common.

    • @command_line_channel
      @command_line_channel  3 роки тому

      OpenGL is a software emulation by Scitech GLDirect for Windows

    • @0xABADCAFE
      @0xABADCAFE 2 роки тому

      @@command_line_channelI'll take your word for it but it still seems unlikely to me. If the whole stack was rendered in software I'd expect massively variable render time per frame that would manifest itself as a very jittery video when sped up. Your video looks like you just video captured it on a regular spec system and simply showed an elapsed time that you could've estimated or even plain made up. Who's going to check? I worked on some 3D drivers for the Amiga so I'm familiar with how Quake 3 runs on underpowered hardware and just how much variation there is in frame time on underpowered CPUs and that was with hardware radterisarion.

    • @command_line_channel
      @command_line_channel  2 роки тому

      @@0xABADCAFE you can ask some other retro channels to check, it's not so hard to reproduce for some 386-DX owner. All you need is a math co-processor and GLDirect demo version.

  • @rubberduck4966
    @rubberduck4966 Рік тому +1

    Wow! 18,57132 FPh (Frames per Hour)...

  • @Dilo22
    @Dilo22 2 роки тому

    LGR would be proud

  • @dontmindmejustwatching
    @dontmindmejustwatching 3 роки тому

    The song is Ambient - Light Years

  • @BSzili
    @BSzili Рік тому

    This is completely pointless, and I LOVE it!

  • @kargaroc386
    @kargaroc386 3 роки тому +1

    This video is so good wtf

  • @teoextreme
    @teoextreme 3 роки тому +2

    64MB of RAM on a 386DX-40 motherboard, how??
    My 386DX-40 board only counts up to 16MB and then it stops.
    Also... I didn't know that 16MB SIMM modules exist, I tought I was cool when I found my 4MB SIMMs.

    • @cyberluke
      @cyberluke 2 роки тому +2

      You need to have OPTi chipset or similar. Some cheap brands did not connect all address lines on memory slots.

  • @badrolix
    @badrolix 2 роки тому +1

    THIS IS AMAZING WORK!!!

  • @devonandersson300
    @devonandersson300 2 роки тому +1

    I wonder if this 386 mainboard would work with 128MB RAM / 8x16 MB too.

  • @zanfr123
    @zanfr123 10 місяців тому

    Ah I knew it! so it DOES work! Intel keeps selling "faster" chips but this is proof we only need a 386

  • @CaliburTitan
    @CaliburTitan 3 роки тому +2

    what is the name of the music in the background?

  • @OpenGL4ever
    @OpenGL4ever 7 місяців тому

    This video proves: Pentiums are really fast.

  • @ChristopherEvansCurMudGeoN
    @ChristopherEvansCurMudGeoN 2 роки тому +2

    How on earth did you focus on playing a solid 74 hours?
    Ah, it was a demo mode! answered at the very end ;)

  • @michaelturpen5159
    @michaelturpen5159 3 роки тому

    Now I want to try 16MB SIMMs in my M-321 motherboard. Ostensibly, the board's limit is 32MB, just like the M-326. Maybe even the 256KB cache won't cache all of it, but it'd be interesting nonetheless.

  • @johnhunt1725
    @johnhunt1725 4 місяці тому

    0.0051587 frames per second!

  • @pankoza
    @pankoza 2 роки тому

    still faster than chrome on school pc

  • @johnhio1843
    @johnhio1843 3 роки тому +1

    64 mb ram would've been a lot though. My 486 sx had 4 ..

  • @ExtraDor
    @ExtraDor 2 роки тому

    Yeah, but if you want you can disable some graphics options in .cfg file...

  • @cyklop1977
    @cyklop1977 2 роки тому

    WE WANT MORE :) !

  • @goranzarkovic7350
    @goranzarkovic7350 2 роки тому +2

    you ll need calendar for that instead stopwatch (clarckson)

  • @keithlowe5512
    @keithlowe5512 2 роки тому

    Awesome

  • @milasudril
    @milasudril 3 роки тому +1

    How would a PCI card with OpenGL 3.3 support and 386 work (though you need to update ioquake3). My idea is: More modern graphics API:s can upload all data to the GPU before rendering starts. Modern graphics cards has more video memory. So, before starting playing the game, wait some hours for data to be transferred to the GPU, and expect a playable game. It should hit around 10 fps. Most of the CPU time will be spent in collision detection I guess.

    • @AndreiNeacsu
      @AndreiNeacsu 3 роки тому

      You can not do that for a variety of reasons:
      1) There is no 386 motherboard that supports PCI slots (to my knowledge).
      2) OpenGL 3.3 is is from 2010; no driver for any GPU supporting OGL 3.3 would load on anything lower than a Pentium MMX and Windows XP; I would be surprised if they would load on anything below the Pentium 3 (SSE 1.0). Most high performance code compiled in the last 15 years has abandoned 387 instructions almost entirely, relying on the SSE and AVX instruction sets.
      3) Even if you used an emulator like PCEm and pair a 386+387 with a Voodoo 2 in Windows 95, the API calls for the Glide renderer would still suffocate the CPU. Likewise, if you compiled your own Linux kernel and drivers for a modern GPU, that would be even worse.
      4) The problem is not about GPU memory and data transfer.
      5) It is irrelevant if you have an OpenGL 3.3 GPU with an old game like Quake 1, 2, or 3; the game would still only use OpenGL 1.0, 1.1, maybe 1.2 (respectively, but even Quake 3 runs on cards limited to OGL 1.1)
      6) No game supporting OpenGL 3.3 would run on anything older than a Pentium 4 or Athlon XP.
      + a variety of many other reasons

    • @milasudril
      @milasudril 3 роки тому

      @@AndreiNeacsu I mean that glBegin() glVertex(), glEnd(), is a very CPU heavy way of doing things. That is why it all was scrapped with OpenGL 3.3. And yes, ioquake3 will not be ported to modern OpenGL. But a 386 can sort of cope with DOOM if you reduce the screen size. Thus, if you could offload the rendering I would expect similar figures. Though Quake 3 may have a somewhat more complicated collision detection. I said that would probably be the bottleneck in such a system.

    • @primus711
      @primus711 2 роки тому

      The bus isnt fast enough

  • @AshtonCoolman
    @AshtonCoolman 2 місяці тому

    Try a VLB 3D Blaster with your 386DX-40 on a OPTI 495SX Motherboard and try running Quake again! Will it work? Probably not, but there's only one way to find out 😎

    • @command_line_channel
      @command_line_channel  2 місяці тому

      If i only had a VLB 3D Blaster :) But, as far as I know, it never supported Open GL anyway.

  • @rcarkk
    @rcarkk 2 роки тому

    Gorgeous video. Amazing feat. One thing i didnt know is that the game could run without 3D accelerator. This is OpenGL on software?

    • @command_line_channel
      @command_line_channel  2 роки тому +1

      Yes, GLDirect OpenGL software emulator was used

    • @rcarkk
      @rcarkk 2 роки тому +1

      @@command_line_channel I wonder how a Pentium III 500 runs with that OpenGL software.

  • @alexeyi76
    @alexeyi76 3 роки тому

    Wow! 5 mills per second! You should try 386SX to beat that record.

  • @toddfraser7009
    @toddfraser7009 10 місяців тому

    Subscribed.

  • @davidmacfarlane4761
    @davidmacfarlane4761 3 роки тому +5

    But can it run Crysis?

  • @MobilerInfanterist
    @MobilerInfanterist 3 роки тому

    But ain't nobody got time for that...

  • @eos716
    @eos716 2 роки тому

    А ведь проц старше игры на 14 лет!

  • @electronash
    @electronash 3 роки тому +3

    88 minutes to load the game?
    That's faster than a PS4. lol

  • @adhipurwono7842
    @adhipurwono7842 2 роки тому

    Good. Now try Crysis on 486.

  • @unrealengine1enhanced
    @unrealengine1enhanced 2 роки тому

    i was doing this on 486's you could actually play it tho :D

  • @eletronictoenails
    @eletronictoenails Рік тому

    How long did a single frame last on there?

  • @dimddr_man
    @dimddr_man 9 місяців тому

    maybe is PCem v17

  • @shortcat
    @shortcat 2 роки тому

    i thought this is gonna be realtime, like graphics card taking the workload. naive.

    • @3Dima
      @3Dima День тому

      I don't know, even 386 chipset can support PCI bus.

  • @rootbeer666
    @rootbeer666 9 місяців тому

    Is that software OpenGL renderer?

    • @3Dima
      @3Dima День тому

      ISA VGA is mentioned in description. Even early 3D-accelerators (that couldn't run Q3) were made on PCI or AGP bus.

  • @rebeccaschade3987
    @rebeccaschade3987 3 роки тому +1

    Don't get me wrong. I'm into retro gaming and retro systems. I've got a 386. I've got a 486, a Pentium, Pentium Pro, K6-III and even an Amiga. Heck I've got a ZX Spectrum. And even so, this video makes me go... "But why?" Does this prove that a 386 can run Quake 3? Not in the slightest. Was that even something that anyone though might be possible? I doubt it. But hey, each to their own :)

    • @dontmindmejustwatching
      @dontmindmejustwatching 3 роки тому +2

      For me personally it's a stunning experiment as for proof of concept. Also the video is done pretty cool too. :)