Тёмный

256 colors is enough for everyone 

Bisqwit
Подписаться 147 тыс.
Просмотров 129 тыс.
50% 1

In this video I use source code as means to illustrate how stunning RGB graphics can be achieved on a 256-color screen, so much that you actually may doubt whether it is really only 256 colors.
Twitter: / realbisqwit
Patreon: / bisqwit (alternatives at iki.fi/bisqwit/donate.html)
Twitch: / realbisqwit
Homepage: iki.fi/bisqwit/
Note: The animation does not look blurry because of dithering. Dithering does increase blurriness a little, but in a different way and most certainly not this much. The reason to blurriness is that the actual video is all about orbs that do not have a defined edge (they're just clouds of pure light). And then there's motion blur that is added to it. In other words, the original video material is blurry. I created it this way to maximize the number of color mixtures shown.
[SPOILERS BELOW]
Disclaimer: The story behind this video is a fabrication to justify the fact that the code is too complex for QuickBASIC to run, and too heavy for today's computers even if translated to C, unless run on a multicore CPU. All the technical details are absolutely correct. I did indeed write the first revisions of this program in QB, but I then translated it to C++, with which I created the actual animations after refining the code a bit, and I backported the changes to QB to show how it would be done, did QB not have those limits. The reason why it is slow is not because of dithering, but because of the really ineffective algorithm for rendering stars, dithering or not; what with doing some 25000 distance calculations tests _per pixel_.
[END SPOILERS]
Also, I am not advocating anyone to replace 24bpp with 8bpp. Rather, I am trying to educate programmers to utilize paletted resources better, and I illustrate some exact algorithms with which to achieve that. Stop using floyd-steinberg for GIF animations!
If you cannot get the program working, you are not yet part of the target audience.
Note: In this video, I used a copy of actual QuickBASIC 4.5 by Microsoft... well, Megasoft Corp. However, after creating and publishing this video, I discovered QB64, a modern free port of QB. I ported this program to QB64! It works, though minor changes. Here is a link to the QB64 version's source code: bisqwit.iki.fi/jutut/kuvat/pr...
Note that it still requires computers from a parallel universe to run smoothly...

Опубликовано:

 

23 фев 2011

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 358   
@bluebull399
@bluebull399 7 лет назад
You appear to be from a parralel universe where adlib doesn't sound too bad, and people actually made things in QBASIC that looked cool. I want to be in your universe!
@nathangamble125
@nathangamble125 5 лет назад
"parralel universe where adlib doesn't sound too bad" No, that's our universe, at least if the music's written properly for it (rather than a terrible conversion of MIDI - even MIDI conversions can sound good if done properly).
@proxy1035
@proxy1035 5 лет назад
i mean you can do things now that look good in QBASIC or rather QB64, which doesn't require DOSBOX or something to run and compiles programs into an .exe file so you can run it at any time. plus a billion other modern features
@oscwavcommentaccount
@oscwavcommentaccount 3 года назад
@@nathangamble125 Btw this is an spc conversion to adlib. I know that because at the start there is "SNES track"
@madmanincommand2968
@madmanincommand2968 3 года назад
@@nathangamble125 fm synthesis can play a super wide variety of timbre and the adlib was one of the most advanced fm chips yamaha actually made of that era. they went into sy77 territory right after that (even with opl4 though we never saw that in pcs) and so the YM/YMF architecture was dead. it's why with the numbers of the chips available they'd make great "super tx7z"'s which is the OPL2/3's close cousin, even more than the Genesis. . way more YMF262s out there than old DX/TX chips. the caveat was that it was hard to program.
@hatsunemikuchannel2023
@hatsunemikuchannel2023 3 года назад
You made an awesome song!! 😃😃😄😄😍🥰😍🥰🤗🤗
@Bisqwit
@Bisqwit 13 лет назад
I just discovered QB64. I ported this program to QB64! It works, though minor changes. I added a link to it in the video description. Note that it still requires computers from a parallel universe to run smoothly...
@Bisqwit
@Bisqwit 11 лет назад
Thanks for the analysis! :-) I double checked it and your math seems to match. But of course, it would be much smarter to optimize the actual algorithm, so that there won't be 25000 calculations per pixel, rather than to micro-optimize using SIMD and multithreading.
@SomeRandomProgrammer
@SomeRandomProgrammer 9 лет назад
256 colors is not enough. It is MORE than enough :) DOS rules!
@Bisqwit
@Bisqwit 11 лет назад
The name of the _song_ is Epoch theme, I think. The name of the MIDI is... ct-epoch.mid , for I made it and I have not released it. How is this helpful?
@lagduck2209
@lagduck2209 6 лет назад
CT music is easily one of the best soundtracks ever made for video game
@OriruBastard
@OriruBastard 7 лет назад
Rather impressive in my eyes. I wouldn't have had patience to program something like this especially with Q-Basic.
@Bisqwit
@Bisqwit 11 лет назад
Because the QBASIC versions produced in our universe do not support that kind of array sizes.
@XaneMyers
@XaneMyers 8 лет назад
This has to be turned into a screensaver!
@XaneMyers
@XaneMyers 7 лет назад
...and made...fasster on non-parallel-universe computers! It takes a bit for the first frame to be rendered, though maybe something that uses the graphics card and CPU could be fast enough to somehow have it as a screensaver. Still, saved first frame as a picture which is currently my wallpaper.
@keinunvergebenesaliasgefunden
@keinunvergebenesaliasgefunden 5 лет назад
could create a gif file from it. Therefor it would be nice to have it as loop, so that it will not have a transition gap at the restart of the loop.
@Bisqwit
@Bisqwit 5 лет назад
This kind of content is quite poisonous for GIF compression though.
@kudisony6
@kudisony6 10 месяцев назад
​@@keinunvergebenesaliasgefundento to
@kudisony6
@kudisony6 10 месяцев назад
Fucewe
@Bisqwit
@Bisqwit 12 лет назад
From a selection of 262144 colors to be exact. (64*64*64) Should I demonstrate how this looks like if just 16 colors are chosen from the 262144 color palette? :-) And yes, I know that with careful task-oriented color choices very few colors can get far. (This starfield demo was not particularly task-oriented, requiring all sorts of colors.)
@Walczyk
@Walczyk 5 лет назад
I love how you annotate, this is beyond education for a newbie like me. Thank you so much for your videos!
@Bisqwit
@Bisqwit 11 лет назад
The video also shows a QuickBASIC version 4.5 made by Megasoft Corp, not by Microsoft. Yours is no doubt made by Microsoft. Please read the subtitles! (Also, reading the video description may be wise.)
@Joker200084
@Joker200084 4 года назад
LoL! I thought that was the qbasic editor. I haven't seen that since '94 in 4th grade =P
@CocoTheMii
@CocoTheMii 5 лет назад
_But first, we need to talk about parallel universes._
@KuraIthys
@KuraIthys 7 лет назад
Ah, super Nintendo music... Which is also interesting given I've been reading WAAAY too much SNES programming documentation in recent months. Now there's a 256 colour system with a LOT of quirks. Well, I say 256 colour, but there are more than a few ways to trivially get it to do way more than that... And certainly a few methods that would make it possible to display the entire 15 bit source palette at once. Or... Even more than that, by exploiting composite artifacting... Still, it is indeed somewhat miraculous what 256 colours alone can do...
@dylantaylor490
@dylantaylor490 5 лет назад
Wow, you're a talented coder
@amir3515
@amir3515 4 года назад
i'd say calling it talent is an insult to the 20+ years of work he has put in to get to his current level
@muhtesemsiyanur
@muhtesemsiyanur 4 года назад
He's a fucking god
@Amy-ft5mt
@Amy-ft5mt 5 лет назад
Yes I agree that 256 colours is enough especially when it's dithered really well like this. Even 16 colours can look really good if it's dithered well.
@RKroese
@RKroese 5 лет назад
Watch the vid in 144p
@OpenGL4ever
@OpenGL4ever 7 месяцев назад
A 16 bit color mode looks really well, if it is postfiltered to 22 bit. Believe me, that's really voodoo magic.
@tomyyoung2624
@tomyyoung2624 7 месяцев назад
yes point in this video do I write #include, or any C++ language at all, in QBASIC.
@TheComputadude
@TheComputadude 8 лет назад
Absolutely fantastic! Its stunning to see how much you can do with so little.
@YengetoSan
@YengetoSan 12 лет назад
You always choose a good song for your videos...You never get boring hearing the same loop and they fit with the video. BTW well done!
@pikachuchujelly7628
@pikachuchujelly7628 7 лет назад
Megasoft Orifices 98 lol
@JamesRobertOsborne
@JamesRobertOsborne 12 лет назад
Excellent! The dithering is well done! The color banding is visually more appealing!
@PierrotTheGreat
@PierrotTheGreat 12 лет назад
I read your page on dithering earlier and then stumbled upon this video. You have no idea how happy this makes me feel (in part due to my love of QB and chrono trigger) THANK YOU
@Bisqwit
@Bisqwit 13 лет назад
@LtSurge659 Thanks for the feedback. In general though, the subtitles are of low importance; they just provide additional information that can be ignored if one is not curious enough. Even if the subtitles were shown for a three times longer time, it would still be too short for some people, because the program is being typed at the same time; if you want to observe all details, you will have to pause in any case.
@Syrillios
@Syrillios 7 лет назад
Wow, very cool, I have a lot respect for you. You are extremely talented!
@Bisqwit
@Bisqwit 12 лет назад
@gamax92 Using the program described in the video information (you did read it, didn't you?) I rendered directly into PNG files, which comprise the animation.
@Bisqwit
@Bisqwit 12 лет назад
As far as I know, PSX uses 16-bit (32k or 64k colors). I know it from the obvious dithering artifacts that appear whenever transparencies are invoked (for example, in FF9 whenever magic spells are cast). Most emulators do not emulate it properly, but go the "I can do better than that" route.
@Bisqwit
@Bisqwit 13 лет назад
@jeredwi Thank you for the feedback. You're right, my comments say there "mov bx, [bp-2]" but my code really says "mov bx, [bp+6]". I'm not sure where this discrepancy came from and why. It is possible that I changed the parameter list of the asm subroutine at some point and forgot to update the "disassembly". Basically though, QBasic passes integer values by reference rather than by value. Hence need a double-indirection. Something like that! I'm not sure at this point. Asm is often writeonly.
@Xiefux
@Xiefux 5 лет назад
God said 640 x 480 and 16 colours is plenty.
@DjAle1
@DjAle1 5 лет назад
Amen
@satellite964
@satellite964 5 лет назад
I wish I didn't know the back story to this reference. Makes me kinda bummed out. Yet here I am.
@Optimus6128
@Optimus6128 10 лет назад
Well, thanks for the video! I remember coding a two layer plasma in qbasic with alternating colors in chessboard pattern, was even simply experimenting without expecting the result. Then I was mindblown by the result :)
@Catmato
@Catmato 5 лет назад
Thanks RU-vid for recommending this in 2019.
@Bisqwit
@Bisqwit 12 лет назад
Thank you!
@johnrickard8512
@johnrickard8512 8 лет назад
Quite the impressive starfield effect!
@Bisqwit
@Bisqwit 12 лет назад
@Xkeeper0 Oh, and I intentionally don't make a fuss about that it's an algorithm that *I* created. I just showcase it a lot :-P Hoping it catches on.
@BimBims
@BimBims 5 лет назад
Meanwhile many framework out there but we confuse which one we gonna use, we hype about css, javascript but we forgot about a simple programming like this
@Username93611
@Username93611 13 лет назад
You're getting free blending from the sub-optimal bitrate YT uses to encode even at 1080p. I'd love to see the original output. Obviously, awesome skills and props to you, regardless.
@Bisqwit
@Bisqwit 11 лет назад
At no point in this video do I write #include, or any C++ language at all, in QBASIC.
@Bisqwit
@Bisqwit 12 лет назад
@Xkeeper0 Yes, the SGF player uses vanilla ordered dithering, though with a gamma-tweaked regular palette. In most of my dithering showcases I used the Yliluoma-2 dither though. (In the Doom ones I used its predecessor algorithm, Yliluoma-1 with tritones IIRC.)
@Bisqwit
@Bisqwit 13 лет назад
@Username93611 Hmm, no. I was looking at wrong set of files. These PNGs are about 260 megabytes in total. I placed them at the following address: bisqwit.iki.fi/jutut/kuvat (slash) programming_examples/sfield_pn­gs.zip  . You can play them as such: mplayer mf://tile-*.png -mf fps=30 Note that MPlayer may perform chroma-supersampling when displaying them. You may need to include a -sws 4 -vf scale=640:400 first, though I don't remember whether that helps.
@Bisqwit
@Bisqwit 11 лет назад
The music composition is from a SNES game, but this one is played through ADLMIDI, my own program, using emulation of OPL3 hardware, which is different from that in SNES. In other words, it sounds different than the actual game (Chrono Trigger) does. As for your question... In what I see, they did use dithering. But sometimes artists opt for the posterisation effect for artistic reasons. There is also the problem that if the color options are far apart, dithering patterns may look distracting.
@CMYTUB
@CMYTUB 11 лет назад
Thank you very much for your answer! Its just for personal consumption! And you are an excelent programmer!
@wicqedeyebot5631
@wicqedeyebot5631 7 лет назад
its really cool what you are doing. Keep it up....
@qbvet
@qbvet 13 лет назад
I just have to drop a line here... This struck a chord with me; QBasic was the first programming language I got into, back in junior high, some 16 years ago. Then of course, I've always loved the music you're using in a lot of your videos; Mitsuda rocks ;D Advocating 13h graphics, which I'm keen on too, ain't really that hard when there's stuff like this out, despite it not being realtime; it just goes to show how far 253 (! heh) colors can get you! Pure nostalgia, man! Greets from Sweden
@IsaiahSugar
@IsaiahSugar 5 лет назад
256 display colors is more than enough, but if you're doing complex video or image color grading/editing, you might well need much, much more than that to be able to produce a nice-looking image that suits your creative needs.
@IsaiahSugar
@IsaiahSugar 5 лет назад
@Đeath Vader really really
@IsaiahSugar
@IsaiahSugar 5 лет назад
@Đeath Vader no i mean yes yes
@IsaiahSugar
@IsaiahSugar 5 лет назад
@Đeath Vader yes, but no. more colors will not change the image that you see, but it will give you m ore flexability when processing those image to have it still look nice. using LUTS on 256 color looks way less good than on RAW stuff.
@Bisqwit
@Bisqwit 12 лет назад
@gizaha Which actually makes sense if you read the subtitles and the movie description.
@qbvet
@qbvet 13 лет назад
@Bisqwit Thank You! Can't wait for that to happen! :) I'll sure keep that in mind.
@Diosukekun
@Diosukekun 13 лет назад
this is art, this is ingenious, this is nuts!
@SireSquish
@SireSquish 10 лет назад
I was waiting for the video to load, read this - that's gotta be epoch from Chrono Trigger... Nailed it.
@Bisqwit
@Bisqwit 12 лет назад
Allright, it's uploading. Will take a few hours. I hand-picked a 16-color palette for it from the VGA selection. Yeah, "if". We will never know, because the art was designed for that particular palette that they used.
@CMYTUB
@CMYTUB 11 лет назад
Thank you very much!.
@bbdakraxor
@bbdakraxor 12 лет назад
Ah, this music takes me back. Also, you're awesome!
@agugyin
@agugyin 4 года назад
Oh. you made me realize how much I miss Qbasic :"( It was my first experience with programming and didn't have so much fun with coding ever since... The idea and especially the way you implemented it is genius! I want to do something similar with characters in black and white, maybe I'll fire up an old box :)
@CYON4D
@CYON4D Год назад
Amazing stuff. I miss DOS.
@samueljava
@samueljava 2 года назад
Amazing!
@batlin
@batlin 5 лет назад
Very beautiful dithering! I wonder what can be done in 16 colours. A few years ago I tried using Floyd-Steinberg dithering to recolour the arcade Street Fighter 2 sprites for display on an Atari ST, but the results were pretty bad. Maybe with smarter dithering and better palette selection.
@kos256
@kos256 3 года назад
Him: 256 Colors are enough Gamers: MOAR!
@Bisqwit
@Bisqwit 13 лет назад
@qbvet Thanks for the message! Hopefully someday soon I'll get to show another case how 16 colors is enough for everyone, particularly, those from Commodore 64 :P
@PaulRamnora
@PaulRamnora 6 лет назад
Amazing 'output' effects! Boy, what a coder...! ;-) Me, I got as far as knowing how to write/output the 12 X Tables...and, that was about it; so, I really can't help but to feel completely astonished watching this demo of what's truly possible, when you know 'how'...?
@Bisqwit
@Bisqwit 13 лет назад
@Username93611 Actually, RU-vid reduces the frame rate by simply dropping frames. It does not blend. Frame dropping results in jerky video rather than blurry video. EDIT: Oh, you said bitrate, not framerate. Yeah, but bitrate-blur looks ugly and smeary. I still have the original (actually, a few of them, because I had to re-encode many times with different settings until RU-vid accepted the file), but there is a problem: The file is about 1 gigabyte in size... The PNGs total ~1.8 gigabytes.
@Bisqwit
@Bisqwit 12 лет назад
@PierrotTheGreat Thank you for the feedback!
@Bisqwit
@Bisqwit 13 лет назад
@Username93611 Actually, you did not get the link right, because RU-vid messed it up by inserting invisible characters in it. You will have to type it or spot and remove the % sequences manually. (I verified your access from the access log.) I am not lying to you.
@Bisqwit
@Bisqwit 11 лет назад
To run it, you should port the program to the fastest language and compiler at your disposal.
@Xkeeper0
@Xkeeper0 12 лет назад
@Bisqwit Well, yeah, and for that it does quite well. It's just that particular color change stands out a lot. Though I have to wonder, do your other videos use that dithering? Your SGF player, for example, seems to use the first version.
@BorderHopper408
@BorderHopper408 11 лет назад
Hey Ur awesome. May I ask where you learn all this stuff, years of just working on it, or school?
@t0biascze644
@t0biascze644 2 года назад
imagine how this would look in FullHD the dithering in that resolution would hide completelly the 256 colours
@Bisqwit
@Bisqwit 13 лет назад
Thanks. I explained the song at around 1:20 to the video. I chose it because it was the first song from my SPCtoMIDI attempts collection that I tried that sounded good when played through ADLMIDI. I admit it's not a perfect fit for the content of the video, though if you consider how it was made, it gets slightly better.
@lukarikid9001
@lukarikid9001 5 лет назад
I would really love a screensaver of something similar to this
@Bisqwit
@Bisqwit 13 лет назад
@willrandship No. The distance update is just an instantaneous change of coordinate. Much like teleporting. It does not matter what distance it teleports and to which direction, it all costs the exact same amount of CPU time. However, it would appear smoother (at the cost of movement being slower), because more intervening frames would be rendered between two positions.
@Bisqwit
@Bisqwit 12 лет назад
@Xkeeper0 Certainly. It would allow for a more refined palette, since the palette does not need to be regular in any way, unlike with the vanilla ordered dithering. I don't see need, though. And I happen to like the dithering artifacts... But, if you can supply me a good background texture and a new game SGF to showcase (short, but very entertaining in a challengeful way (not just newbies marching the parade of endless mistakes), preferably professional play), I will do it.
@markpenrice6253
@markpenrice6253 7 лет назад
I am indeed getting mid-late 90s 3dfx screensaver feels off this, including the music (a particular favourite had a very long midi bgm and it was very chill to sit and watch) Don't suppose there's any way of getting a non dithered, high rez (1280x800 would be nice but 640x400 is more than enough) version of this for windows at all? Without the "highly inefficient" (though extremely effective!) dithering routine I fancy it shouldn't trouble my i5 too much. That and the full CT soundtrack and any others you have available converted the same way and playable at random behind it... Doesn't have to be a screensaver per se. I just wanna sit and zone out to it occasionally. Maybe run it through a projector onto the ceiling. (heck, an hour long render of the second version would work, just to avoid looping issues from ripping the video then manually editing out the part of interest...)
@thogameskanaal
@thogameskanaal 8 лет назад
Chrono Trigger music! I love your VG music style! :P
@Bisqwit
@Bisqwit 11 лет назад
At least if you use BASIC. That's why I recommended the approach of porting it to the fastest compiler & language available to you. :-)
@CMYTUB
@CMYTUB 11 лет назад
Im interested in that midi.Could you share it with me? Thanks.
@Bisqwit
@Bisqwit 12 лет назад
@Xkeeper0 The palette was autogenerated with an algorithm (neuquant iirc). If it had a shortage of colors in some particular hue (such as that purple/fuchsia), it would have to be synthesized as a combination between other nearby colors. I guess the point of this video is not so much to evangelize people on the benefits of 256 colors than to evangelize coders on the benefit of dithering: It can make up for a _lot_ of lack in hardware definition when used properly.
@LeonDerczynski
@LeonDerczynski 7 месяцев назад
thank you
@kokodin5895
@kokodin5895 Год назад
is there a way to make dithering effect grid random each frame or manipulate color palette in real time?
@Bisqwit
@Bisqwit Год назад
If you want random dithering, you can use INT(RND*64) instead of dither8x8(something). Because this program is unoptimized and uses no caching at all, then it is rather trivial to make changes to the palette. Just do all the same steps that are done in the loop that initializes Pal(), except the READ, using your own custom color (s&). Of course, QB is not very suitable for this task to begin with due to bad performance (and like I said, the program is not particularly optimized either, so even in C++ it doesn’t get wonderful performance).
@johneymute
@johneymute 11 лет назад
is the music from the snes?some snes games dot had 256 colors but even then i still cut see flatty colors,even the donkeykong country series shows some slight flatty colors,why they dit,nt used color dithering???
@Odrox
@Odrox 13 лет назад
It's beautiful...
@intel386DX
@intel386DX 11 лет назад
this is so cool! but when i tryed to start it - error out of memory ? why? I tryed with Qbasic 1.1
@tomyyoung2624
@tomyyoung2624 7 месяцев назад
Yes. The distance update is just an instantaneous change of coordinate. Much like teleporting
@ChozoSR388
@ChozoSR388 6 лет назад
I'd love to have that as a screen saver!
@kahnfatman
@kahnfatman 3 года назад
If I were whiteboard interviewed - I would prefer you to be my judge. YOU know how to code.
@mworldnetwork
@mworldnetwork 9 лет назад
Sublime work man. Amazing. Imagine a A.I. in this kind of code :D
@Bisqwit
@Bisqwit 9 лет назад
Not any more or less in DOS than in any other operating system. There's nothing special about DOS, except that it makes some things (such as multithreading) rather excessively cumbersome. The question is reduced to: Could you create an Artificial Intelligence with consciousness? Which then leads to a avalanche of philosophy on what counts as a consciousness. No, I don't have any leading edge to that kind of challenge compared to centuries of research by the entire mankind that is so far unsuccessful. You could find this article fascinating: en.wikipedia.org/wiki/Artificial_intelligence
@mworldnetwork
@mworldnetwork 9 лет назад
+Bisqwit Thanks for your answer very interesting to see this video and how you made it.
@Bisqwit
@Bisqwit 9 лет назад
***** Quantum computing is pretty much science fiction today. As far as I know, the most sophisticated progress made towards quantum computing today is that they are barely able to entangle a single qubit. The difference between that and a full-blown computer is like the difference between learning how to forge a sickle (for cutting straws to make bricks of) and the building of a skyscraper with elevators. It is unknown whether any of those lofty dreams about quantum computing can ever be realized.
@Bisqwit
@Bisqwit 9 лет назад
***** Oh, and I am planning to make a video about this very topic (singularity) some day. Thanks for reminding me!
@mworldnetwork
@mworldnetwork 9 лет назад
Bisqwit Great to hear I will watch that for sure and leave a like!
@jeredwi
@jeredwi 13 лет назад
Thanks Joel, I really loved that, this was the programming I grew up with. :) Around 5:39, the asm listing you show doesn't quite match your data, should be 8b5e06: mov bx, [bp+6] there (bp+csip). I had to go hunt down "BASIC Techniques & Utilities" to learn what was at [bx+10] in a qbasic dynamic array, and am still not quite sure why you wanted to use that rather than just [bx].
@tejonBiker
@tejonBiker 3 года назад
I think 256 colors is a perfect match for constrained embeded hmi applications
@dolphinsoft4783
@dolphinsoft4783 9 лет назад
Bravo!
@freecrac
@freecrac 9 лет назад
I like to use the VESA VBE-bios of modern display devices. Starting with my MSI Geforce 4 TI 4200 card(VBE3; AGPx4; 64MB) i can use refreshrate controlled videomodes up to 160 hz refresrate with a 19" CRT monitor with a capacity of 96 khz together with the VBE hardware triple buffering. And with my Colorful Geforce GTX 295(VBE3; PCIe) and with my Radeon 7950(VBE3; PCIe) i can use the widescreen resolution of 1920x1200(16:10 aspect ratio) for to fit the native resolution of my 28" LCD monitor. I do not think that my Intel quadcore Q9550 with 2.83 GHZ is running to fast with using my assembler code for the MS DOS(6.22) Operating system.
@RKingis
@RKingis Год назад
That's really impressive for QBasic!!! Could you replace the if/then's with select? Might make it a bit faster.
@Bisqwit
@Bisqwit Год назад
A switch-case can be faster than a list of if-elses only in three cases: --- The switch-case can be internally converted into a jump table. This is only if the values to be compared are integers or closed integer ranges. --- The number of branches is large and the compiler can optimize them into a binary decision tree that is more optimal than the structure of if-elses provided. --- Expressions being repeatedly evaluated in the if-else are expensive, and the switch-case would only evaluate it once. None of these cases applies here.
@TheRanguna
@TheRanguna 5 лет назад
You are a God
@Xkeeper0
@Xkeeper0 12 лет назад
@Bisqwit Hm. Possible to make the SGF player use the better dithering? (It may not surprise you that I only just now realized that it is *your* algorithm... orz)
@intel386DX
@intel386DX 11 лет назад
I see your link of source code is for QB64, but the video shows version QuickBASIC 4.5 can you post this source code , so I can try to run it ? :)
@alejandroalzatesanchez
@alejandroalzatesanchez 3 года назад
Ahhhhh dithering our hero!
@Bisqwit
@Bisqwit 13 лет назад
@Louix94 Thanks for the feedback :-)
@CMYTUB
@CMYTUB 11 лет назад
What is the name of the MIDI that start this video my friend?
@carsonthornburg7560
@carsonthornburg7560 5 лет назад
No, 16,777,216 colors are enough for everyone.
@XaneMyers
@XaneMyers 3 года назад
Just returned to this video to say the MIDI still sounds good, and when I hear the original Epoch, it doesn't sound right to me since I heard this first.
@Christdeliverme
@Christdeliverme 7 лет назад
I would be interested to see what kind of demos you could create with assembly on the 4-bit video capabilities of the Sega Genesis
@markpenrice6253
@markpenrice6253 7 лет назад
*9-and-a-bit bit...
@yay4this
@yay4this 5 лет назад
Do it on a 486 DX50 with 4MB RAM
@tmengucor
@tmengucor 5 лет назад
Yes, envy is a fickle beast.
@furrball
@furrball 5 лет назад
true, in part. 4MB are irrelevant, but the CPU was.
@Bisqwit
@Bisqwit 12 лет назад
No. LZMA was first released in 7-zip in 2001-08-30. PS2 was released in 2000. N64 came in 1996. Even GameCube came in 2001-09-15, way too late for that kind of development decision. They may have based on LZ for what I know, but not LZMA.
@Bisqwit
@Bisqwit 11 лет назад
Hexadecimal is just another representation of numbers. You know, when you have a heap of apples, you might put them into groups of four apples, or maybe into groups of eight apples, or maybe into groups of ten apples, or maybe into groups of sixteen apples, or any other group size you like. If you group them in tens, you might get 4 tens and 1. Hence you call the number "41", decimal. Maybe you group them and get 2 sixteens and 9. Hence "29", hexadecimal. Or 5 eights and 1, hence "51", octal.
@LavaCreeperPeople
@LavaCreeperPeople Месяц назад
The music sounds like the epoch theme from chrono trigger interesting video by the way
@intel386DX
@intel386DX 11 лет назад
ok then which version should I us to run the program?
@adam7868
@adam7868 11 лет назад
idk my version dosent like me putting in #include and floats and doubles
Далее
Creating a MIDI player in MS-DOS / BASIC
18:22
Просмотров 37 тыс.
ШОКОЛАДКА МИСТЕРА БИСТА
00:44
Просмотров 398 тыс.
The 256 Color Revolution | Retro Dream
5:02
Просмотров 12 тыс.
100+ Linux Things you Need to Know
12:23
Просмотров 663 тыс.
What are EXE files made of?
11:00
Просмотров 144 тыс.
Creating a Chip8 interpreter/emulator in C++14
10:51
Просмотров 111 тыс.