Creating an Operating System for the NES

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 พ.ย. 2024

ความคิดเห็น • 1.2K

  • @BalancedSpirit79
    @BalancedSpirit79 2 ปีที่แล้ว +1356

    This reminds me of the Contiki project. They wanted to make an NES able to surf the net and they were going to use the Zapper as a “mouse” but the project was never finished. Thank you for doing all this work. Making retro systems do great things in modern day is always fun. “Everything old is new again.”

    • @kreuner11
      @kreuner11 2 ปีที่แล้ว +58

      Contiki works on C64, it has much more memory which means it's easier to do

    • @BalancedSpirit79
      @BalancedSpirit79 2 ปีที่แล้ว +4

      @@mr_indie_fan Oh I have that faved already; that was insane!! :D

    • @mmazurr
      @mmazurr 2 ปีที่แล้ว +19

      I'm really curious how that zapper thing would work. As far as I'm aware, the zapper doesn't actually "point" at something. It just checks if the place it's pointed to was the place the screen designated as "correct", which is why the screen flashes when you play the game, as the game is telling the zapper where the duck is.
      Maybe they could come up with something clever or maybe it didn't work out too well. Frankly it seems more difficult to get an NES to try to render HTML properly, and forget about having it interpret CSS or JS. Just HTML is pretty light, but still potentially too much for the NES to handle.

    • @Cmdrbzrd
      @Cmdrbzrd 2 ปีที่แล้ว +2

      @@mr_indie_fan Of course, SuperRT is a piece of expansion hardware, these OS projects are only intended for running on Bone Stock consoles.

    • @kreuner11
      @kreuner11 2 ปีที่แล้ว

      @@mmazurr contiki on the C64 renderd it at a snails pace, without the ability to scroll the site, just autoscrolling while interpreting HTML

  • @decrazyo
    @decrazyo 2 ปีที่แล้ว +2936

    Have you thought about adding support for the Famicom Disk System? I imagine you could load the whole OS into the disk cache at boot. Then the disk drive would be free for loading additional software, saving file, etc.

    • @keytester2733
      @keytester2733 2 ปีที่แล้ว +125

      use the floppy to run dos OR make a mod for family basis where you can save stuff to a floppy (like a commodore 64 or smth)

    • @famitory
      @famitory 2 ปีที่แล้ว +97

      the hardware of the FDS can be modified to allow for unrestricted disk rewriting but I don't know if emulators support that. it would be limited to only a portion of the disk being writable. I suspect a more compatible solution would be some kind of bankswitching in NVRAM

    • @Bobbias
      @Bobbias 2 ปีที่แล้ว +13

      @@keytester2733 this is really cool. Keep up the awesome work!

    • @keytester2733
      @keytester2733 2 ปีที่แล้ว +14

      @@Bobbias actually, it was just a idea, i dont know how to make or edit a nes game. i mean, it looks like just assembly, so i just have to technically just make a bootloader but NES compatible

    • @zulc22
      @zulc22 2 ปีที่แล้ว +11

      @@famitory this is true, but not a problem if, instead of making an OS that "connects" to the FDS, you make the OS *run* on the FDS itself. totally not an easy task, but you could just write to the areas not taken up by the OS.

  • @leomassafm160
    @leomassafm160 2 ปีที่แล้ว +1163

    Now it truly lives up to the name "Family Computer".

    • @YetAnotherJohnSmith
      @YetAnotherJohnSmith 2 ปีที่แล้ว +46

      Ok guys. He won the internet. We can all go home now.
      *as i stare off to the sky sipping on my coffee*

    • @meyers0781
      @meyers0781 2 ปีที่แล้ว +31

      Well there was Family Basic which allows simple programming and even saving made apps to diskette

    • @magnus87
      @magnus87 2 ปีที่แล้ว +3

      I would like a more powerful BASIC for FAMICOM, to really be able to make programs from the console and save them on a Datasette

    • @lucidcode28
      @lucidcode28 2 ปีที่แล้ว

      400th like and 4th reply

    • @leomassafm160
      @leomassafm160 2 ปีที่แล้ว +3

      @@lucidcode28 congrats. who cares?

  • @JiakunLi
    @JiakunLi 2 ปีที่แล้ว +107

    在中国的1995年前后,有一种NES兼容机叫「小霸王学习机」。那部机器确实自带了OS系统,其中包含了Basic语言环境,带磁盘读写的文件操作。同时这个系统还包含了游戏编程,打字练习,文件处理等其他功能。感谢你让我回忆起了这些。

    • @me67galaxylife
      @me67galaxylife ปีที่แล้ว

      Ching chang

    • @MrLind87
      @MrLind87 ปีที่แล้ว +4

      If you could watch the video that means you can understand English, so why did you write down your comment in Chinese?

    • @JiakunLi
      @JiakunLi ปีที่แล้ว +24

      @@MrLind87 因为我是中国人。

    • @MrLind87
      @MrLind87 ปีที่แล้ว +3

      ​@@JiakunLiI am Costarrican but I'm not speaking in Spanish because of that lol

    • @sfeee2677
      @sfeee2677 ปีที่แล้ว +6

      Translated by ChatGPT. In China around 1995, there was a NES-compatible console called the "Xiao Ba Wang Learning Machine." This machine indeed came with an operating system that included a Basic language environment and supported disk-based file operations. Additionally, the system featured game programming, typing practice, file management, and other functionalities. Thank you for bringing back these memories.

  • @DarkStar181992
    @DarkStar181992 2 ปีที่แล้ว +259

    I had a bootleg NES when I was a kid. It had an OS with GUI, multiple apps including a word processor, mouse and keyboard support. It felt like a home computer.

    • @admoran777
      @admoran777 2 ปีที่แล้ว +19

      If only the real NES was the same…

    • @r0ckt3hc4sb4h
      @r0ckt3hc4sb4h ปีที่แล้ว +5

      Do you remember its name?

    • @Iamnotrandom565
      @Iamnotrandom565 ปีที่แล้ว +17

      ​@@r0ckt3hc4sb4h windows 98 comes up in my mind

    • @yerdnAAA
      @yerdnAAA ปีที่แล้ว +44

      ​@@r0ckt3hc4sb4hIn Russia such bootleg NES was called "Magistr Repetitor" (Магистр Репетитор) and had bootleg Excel, Word, Basic

    • @freeculture
      @freeculture ปีที่แล้ว +18

      @@admoran777 One can only wonder why Nintendo of America decided to not bring the keyboard, cassette and later floppy to the US. There was a modem and printer too IIRC. The expansion port to plug those peripherals in the American NES is in the bottom.

  • @Amanda_Huginkiss
    @Amanda_Huginkiss 2 หลายเดือนก่อน +2

    This was the exact project I wanted to pursue and of course, you of all people, would do it. Love it.

  • @tnomad
    @tnomad 2 ปีที่แล้ว +1277

    This is a cool project. To be a bit pedantic it's not really an OS, it's really a GUI text editor. For it to be an OS I think you'd have to either have to expose some kind of API to make additional apps that run within it or find some way to load in and execute games, which I know the latter would be quite difficult. That's not to diminish that it's an interesting project and a good video explaining some of the technical issues of working on the NES.

    • @InkboxSoftware
      @InkboxSoftware  2 ปีที่แล้ว +406

      You're right that it's not quite an OS in the sense of not having an API for other programs to use. But I think it wouldn't be that hard to include some way to have games as well (they'd just have to built into the program). The way the "apps" of the system work is when the user clicks on them it only runs that section of code, so it wouldn't be hard at all to create a game and then place an icon on the desktop for the user to launch it. Even including large games wouldn't be hard because I've actually written this program with the MMC3 mapper (a bit overkill for what I needed) so even if the game required two full pages of CHR ROM you could just switch to the game's section when it launched. To be honest it never occurred to me to write a game into the system (instead I was debating whether or not to build a spreadsheet app), but I think that would have been a nice improvement to the system. Loading games could potentially work with the use of the Family Keyboard's Cassette reader, or using the Famicom Disk System, so it wouldn't be impossible.

    • @XAWZ
      @XAWZ 2 ปีที่แล้ว +78

      @@InkboxSoftware It would be neat if as a built in game you included a "port" of one of those old LCD Game & Watch games. Weather that's possible or not, I don't know. I'm not a programmer. Or Tetris would be cool too.

    • @vuurniacsquarewave5091
      @vuurniacsquarewave5091 2 ปีที่แล้ว +30

      Fun thing is that the Intellivision actually had a sort of "BIOS" or really a standard library of functions sitting on a built-in ROM for games to use. That is one step closer to that sort of thing.

    • @brandontechnerd
      @brandontechnerd 2 ปีที่แล้ว +7

      @@vuurniacsquarewave5091 Same as the INT BIOS calls in x86 IBM PC systems

    • @istrasci
      @istrasci 2 ปีที่แล้ว +7

      I should have read this comment before posting essentially the same thing.

  • @BrowncoatInABox
    @BrowncoatInABox 2 ปีที่แล้ว +34

    3:28 of all the things I was not expecting to learn in a video about a operating system for an NES. This is definitely one of them

    • @alvallac2171
      @alvallac2171 2 ปีที่แล้ว +4

      *an operating (because "operating" starts with a vowel sound)
      *NES, this (to fix your sentence fragment)

    • @BrowncoatInABox
      @BrowncoatInABox 2 ปีที่แล้ว +2

      @@alvallac2171 I was on the moon when I wrote that comment and I regret nothing

    • @PhantomOfficial07
      @PhantomOfficial07 2 ปีที่แล้ว

      @@alvallac2171 You're being pedantic and annoying.

    • @stellarbastard98
      @stellarbastard98 2 ปีที่แล้ว

      @@alvallac2171 first grammar comment I see that isn't rude and actually explains the logic behind the correct spelling, well done!

    • @entx8491
      @entx8491 ปีที่แล้ว +3

      @@stellarbastard98 It's never really ever been rude, we just live in a society that now believes it's uncool to write properly. Hence his ungrateful excuse as a response.

  • @jadeglaze3390
    @jadeglaze3390 2 ปีที่แล้ว +206

    Super cool project! Here’s a relatively straightforward compression idea for your saved files: Since your alphabet is only 64 characters, you only need at most 6 bits per char, not a full byte of 8. This means you can store an 832 char file in 624 bytes with some bit shifting and masking. That’s 13 files in 8kb! And that’s keeping it relatively simple. If you want to really stretch your 6502 chops, you could implement Hoffman coding compression and allow variable length files (just have the first two bytes or so - technically 10 bits is enough- be the file length). Or a compromise: more compact than fixed 6 bytes per char but simpler than full on Hoffman coding: make a predetermined variable length encoding- like a precomputed Hoffman table or something similar to UTF-8 but alternating between 4 and 8 bits per char instead of 8 and 16 bytes per char.

    • @jadeglaze3390
      @jadeglaze3390 2 ปีที่แล้ว +41

      Wait! Better idea for variable file size: the first few bits of the file should represent a length in _chunks_ that the file requires where the chunks are known size. So for example: first 4 bits of the file represents the number (1-16) of 39 byte chunks (16*39=624) that the file occupies.

    • @kargaroc386
      @kargaroc386 ปีที่แล้ว +3

      Yeahhhh but the 6502 would probably choke on any of that stuff. It would work but would you want to use it?
      I guess when the platform is 8 bits the answer is always yes

    • @greenaum
      @greenaum ปีที่แล้ว +10

      @@kargaroc386 I see OP's point about saving 2 bits, it's an idea worth considering if this were a serious project and you wanted an ALL-CAPS word processor for the NES. It'd need as much space for docs as you could get. Huffman compression is something else. Certainly 6502s can do it, and did, back in the '80s. But it's a pain in the arse to get your head round and you wouldn't want to have to debug it. Depends how clever you are.
      Really though you can't just have all-caps. There must be a way to extend the tile table. Games did it, although often using scanline interrupts which wouldn't be suitable when you'd want mixed case in all the text. Maybe try something clever using sprites for the extra letters? That'd get complex I think and you'd have to do it on the fly.
      Then again the ultimate Atari 2600 hack turned out to be having a cart that bangs hard on the machine's data lines. You set the data lines to high, I think, and the cart can drag them down to 0 with enough current. Yeah I doubt it's good for the old gal but maybe they built 'em tough back in NMOS or whatever. They drove the graphics chip hard and got more sprites than you were allowed out of it, looked amazing admittedly and could have been done at the time. But I wouldn't wanna be the guy i the shop when your cart breaks somebody's Atari and there's a queue of them lining up all with the same problem.
      Sorry what's the moral of the story? Abuse the hardware? Sometimes that worked out well.

    • @niallmcardle7
      @niallmcardle7 ปีที่แล้ว

      Take your bytes, and your goals will come!

  • @notthatfatboy6519
    @notthatfatboy6519 2 ปีที่แล้ว +7

    I love seeing people take the old systems I grew up on and still doing new stuff with them. Thank you for this awesome and informative video!

  • @marioalfonsoarreolaa.flore2882
    @marioalfonsoarreolaa.flore2882 2 ปีที่แล้ว +126

    Not bad at all. Mad respect. You accomplished a lot even with the system limitations. In the current state it could work as a weekly journal.

  • @diegomayfield4751
    @diegomayfield4751 2 ปีที่แล้ว +1

    It's amazing what nerds can do in their spare time ! This is awesome!

  • @itsgruz
    @itsgruz 2 ปีที่แล้ว +13

    This is an amazing project and a fantastic video! Hope to see this evolve!

    • @istrasci
      @istrasci 2 ปีที่แล้ว +2

      What up gruz!! You're awesome!

    • @AndyBrearley
      @AndyBrearley 2 ปีที่แล้ว +2

      Game Genie codes for NESOS… 😅

    • @Typical.Anomaly
      @Typical.Anomaly 2 ปีที่แล้ว +1

      @@AndyBrearley BGATES = A blue screen?

    • @AndyBrearley
      @AndyBrearley 2 ปีที่แล้ว

      @@Typical.Anomaly 😂

  • @samaiello7543
    @samaiello7543 ปีที่แล้ว +15

    Dude, criminally underrated channel. Found you through your Emerald Ambulation video, and been going through others as they pique my interest. The passion is here and your graphics and explanations help me actually understand things I’ve always had an interest in, but know nothing about, or where to start. Thank you, and I hope the best for you & your channel.

  • @PockyBum522
    @PockyBum522 2 ปีที่แล้ว +46

    This is very cool. I would love to see some details about what it took to implement some of these things in code. Seeing how programming for the NES works in-depth would be very nifty.

  • @popyui7497
    @popyui7497 2 ปีที่แล้ว +7

    Incredible!, what an accomplishment for an 8 bit computer from the 80's

  • @steventechno
    @steventechno 2 ปีที่แล้ว +94

    I love seeing such obscure stuff like this. A simple 80's styled GUI-based OS for a console from the 80's. really has that vintage computer vibe going for it. Nice work!
    The advantage of this is the files are stored on the cartridge itself, so if you had notes and wanted to view them on another console, just plop that bad boy into another and you're set. Great concept!

    • @joedirt3563
      @joedirt3563 2 ปีที่แล้ว +1

      I do not recall the name but there is some thing like this for modern computers that's basically a mobile Linux OS on a flash drive.

    • @dasheru
      @dasheru 2 ปีที่แล้ว +1

      @@joedirt3563 livecd?

    • @joedirt3563
      @joedirt3563 2 ปีที่แล้ว +2

      @@dasheru that might have been it. I can try and find if your interested.

    • @dasheru
      @dasheru 2 ปีที่แล้ว +1

      ​@@joedirt3563 nah, I'm good. "livecd" is just the blanket term for an external storage device that has a bootable OS installed on it.

    • @weegeenumberone2
      @weegeenumberone2 2 ปีที่แล้ว

      @@joedirt3563 livecd doesn’t let you save anything permanently. It’s like you install it on a flash drive.

  • @kanesmith8271
    @kanesmith8271 2 ปีที่แล้ว +2

    Good to see that the new generation of creative minds has finally matured

  • @TheWigglyLine
    @TheWigglyLine 2 ปีที่แล้ว +3

    1.18k subscribers...
    you're going to be famous soon...
    I'm calling it! 🤞

    • @xaxabogbart
      @xaxabogbart 2 ปีที่แล้ว

      Hehe probably! - bit random but I also found his nerdy voice super hot 😈 I'm a bit of an oddball

  • @KartKing4ever
    @KartKing4ever 2 ปีที่แล้ว +1

    Some of the coolest stuff I've ever seen done on an NES.

  • @mastersummersjr
    @mastersummersjr 2 ปีที่แล้ว +5

    Very clever use of a system not at all designed for a general purpose OS. Awesome work, man!

  • @SONICLOBOTOMYVIDS
    @SONICLOBOTOMYVIDS ปีที่แล้ว +2

    This is quite literally the single coolest piece of nes homebrew I've ever seen, the possibilities of this could be endless, I can imagine how sick a homebrew loader, like an everdrive or whatnot could be with an actual gui interface like this, obviously that would require a lot of effort but this is incredible nonetheless, I don't think Nintendo engineers of the time ever would've thought something this advanced would be possible on the NES.

    • @Schule04
      @Schule04 8 หลายเดือนก่อน

      Nintendo made Family Basic, which is far more advanced than this.

  • @promaster424
    @promaster424 2 ปีที่แล้ว +5

    Finally, one of my dream projects became a reality. I hope that you will continue working on this project and add more programs like a calculator, a painting program or at least a support for colored tiles on the word processor and a calendar or a clock if the battery can handle keeping track of them at all time

  • @grantm7046
    @grantm7046 ปีที่แล้ว +1

    Ever since I found out about the expansion slot on the bottom, I’ve wondered when someone would do something like this. This is truly incredible

  • @goofbug5328
    @goofbug5328 2 ปีที่แล้ว +17

    Wild how such an amazing channel has so few subscribers, really interesting work!

  • @sdjhgfkshfswdfhskljh3360
    @sdjhgfkshfswdfhskljh3360 2 ปีที่แล้ว +1

    It's fun to do something first, and then think about why you did it and how it can be used in practice.

  • @MrMegaManFan
    @MrMegaManFan 2 ปีที่แล้ว +14

    This is certainly more functional than that “Windows 95” for NES that was just a mock-up of a desktop with no real abilities.

    • @CrappyMusic-cb6bl
      @CrappyMusic-cb6bl ปีที่แล้ว +1

      Well the windows 2000 version had some functionality if you played it on either a Famicom with a family keyboard, or a bootleg famiclone keyboard.

  • @flyinghippo5767
    @flyinghippo5767 ปีที่แล้ว

    This video is even cooler than I was expecting. Not only do you break everything down really well, but integrating NESOS into your presentation is really clever!

  • @jengelenm
    @jengelenm 2 ปีที่แล้ว +11

    What a cool idea! And relatively logical progress for the NES at the same time. Given the 6502 was used in commodore 64 and numerous other old machines. Those had GEOS, so we already know it’s possible. Good job!!!!

    • @megapro1725
      @megapro1725 2 ปีที่แล้ว +1

      Change your profile pic

    • @XENON2028
      @XENON2028 ปีที่แล้ว +2

      @@megapro1725 dude he doesn't have to

    • @megapro1725
      @megapro1725 ปีที่แล้ว +1

      @@XENON2028 nobody has to put terrorist state flag in

    • @XENON2028
      @XENON2028 ปีที่แล้ว +4

      @@megapro1725 dude omfg people don't think the same as you, I don't think they are a terroris t state, so I can put it if I like, you can scream all you want but me and him probably woon't change it ever

    • @elimalinsky7069
      @elimalinsky7069 ปีที่แล้ว +2

      The NES has only 2 KB of RAM, which is a severe limitation. Although most of the data can be stored on ROM, an OS needs a lot of memory for variables, hence why 2 KB is not enough for a GUI OS, and also why this not actually a full OS, but just a neat proof of concept.

  • @SamCampbell
    @SamCampbell ปีที่แล้ว +1

    This is awesome! I'm always floored by the ingenuity of custom ROMs like this.

  • @draconic5129
    @draconic5129 2 ปีที่แล้ว +18

    One thing you should definitely add is a tracker to be able to make songs with the Famicom sound chip, maybe even be able to use the keyboard as a music keyboard (I've seen similar things done on other '80s computers).

    • @draconic5129
      @draconic5129 ปีที่แล้ว +2

      @MagicJungle7053 I wasn't talking about using sound samples I was just talking about using the sound chip's voices.

  • @lenzanari
    @lenzanari 2 ปีที่แล้ว +1

    That is incredible! Now the final touch is to put this in a reproduction cartridge and print a custom nes box for it. Great job!

  • @Iamgavinsteele.1985
    @Iamgavinsteele.1985 2 ปีที่แล้ว +3

    So, one thing you can do to help extend the storage capacity is to implement NVRAM paging. Your Zero page would contain your file allocation table for the page numbers and specific addressing spaces.

  • @TheRogueMaverick
    @TheRogueMaverick 2 ปีที่แล้ว +1

    The quality heavily reminds me of The 8-Bit Guy! And that is NOT a bad thing! His channel is my all-time favourite!
    What I mean by that is the technical information is presented in a more friendly manner while not compromising the in-depth side!

  • @ocpmovie
    @ocpmovie 2 ปีที่แล้ว +52

    Computer operating systems have existed for the NES/Famicom almost since its debut -- the original Family Basic from Hudson Soft, and the many unlicensed "educational" Subor/Dendy multicarts which included (versions of) it later on (FBASIC, GBASIC). I've been meaning to translate "Bravesoft Windows 2000" which is one of those, and has several apps. There is some graphics compression we've had to undo first. People on TH-cam have dismissed the Chinese/Russian NES Windows "knockoffs" as non-functional, but they're not. A lot of the "functionality" is fake and just for show, but the applications are not -- and include takes on Word, Excel, DOS, and of course Family Basic (and its background art program, message board and music programs). And so on. Some of the later carts do a decent job of being an 8-bit computer, albeit in a style which was 20 years out of date at that time. Homebrew Family Basic programs were published in magazines at the time, and Gaming Alexandria has been trying to preserve them lately.

    • @ocpmovie
      @ocpmovie 2 ปีที่แล้ว +2

      @@destructodisk9074 No, you have misunderstood based on a lack of experience with this stuff.

    • @Stillxxen
      @Stillxxen 2 ปีที่แล้ว +7

      When I was smol kiddo, I've had nes knock off on keyboard, and cartridge which came with this System had Text Editor, music Player and educational games to which I was "forced" to play xD. I wish that I could have this thing again.
      I think that it was GLK-20XX. It looks like something I had :).
      Greetings!

    • @-Juba-
      @-Juba- 2 ปีที่แล้ว +2

      @@Stillxxen Same here

    • @eddievids5033
      @eddievids5033 2 ปีที่แล้ว +1

      @@Stillxxen me too! it was great! The text editor even have printing functionality.

    • @Stillxxen
      @Stillxxen 2 ปีที่แล้ว

      @@eddievids5033 wow, my wasn't so advanced :D. I could write, But without "printing" Part.

  • @EricGranata
    @EricGranata 2 ปีที่แล้ว +2

    Pretty rad! 😮
    Edit: Congrats on the Engadget article! I think you had like, 16 subscribers a couple of weeks ago? Glad to see your channel get some traction. Keep up the great work!

  • @suntannedduck2388
    @suntannedduck2388 2 ปีที่แล้ว +3

    This is very cool. Very good use of limitations for sure. I bet a fair amount of time and effort to get it running as it is, working with the difference to today with sprites and code.

  • @GabrielPerboni
    @GabrielPerboni 2 ปีที่แล้ว +9

    Excellent! I really liked everything, but my favorite part was that you ask the CPU politely. Kindness is an important virtue and it never hurts to practice it. Good job!

  • @carecoable
    @carecoable 2 ปีที่แล้ว +161

    I never thought somebody would do something like this, but hey here we are. Quite interesting work! I wonder if you're planning on making this open source, since I think there are some people that might've thought of an implementation or two while watching this video, so making it open source can lead to more interesting things happen. Good stuff!

    • @alysdexia
      @alysdexia 2 ปีที่แล้ว +6

      “that”

    • @RonLaws
      @RonLaws 2 ปีที่แล้ว +3

      I was thinking on how someone could adapt it to work in something akin to a game genie, allowing you to plug in application cartridges :) not that i'd even begin to know where to start myself, but i could imagine someone who does taking it to that next level.

    • @pinkie723
      @pinkie723 ปีที่แล้ว

      @@RonLaws *lock on technology!!!!* 🤯

  • @goranjosic
    @goranjosic 2 ปีที่แล้ว +5

    Man this is so underated! More people need to see this video! :)

  • @maxios-7613
    @maxios-7613 2 ปีที่แล้ว

    its so amazing that there is people who comes with these ideas and actually make it happen

  • @xBruceLee88x
    @xBruceLee88x 2 ปีที่แล้ว +50

    I wonder if you could add a basic calculator to it
    Pretty neat that you got it working this well

    • @Determinator21
      @Determinator21 ปีที่แล้ว

      You could make a calculator with that

    • @idiotontheweb
      @idiotontheweb ปีที่แล้ว +1

      Everyone gangsta until you divide by 0

    • @xBruceLee88x
      @xBruceLee88x ปีที่แล้ว

      Then multiply by -0

    • @notthatntg
      @notthatntg ปีที่แล้ว

      @@xBruceLee88x -0 doesn't exist, the closest you can get is multiplying by 0

    • @JeoshuaCollins
      @JeoshuaCollins ปีที่แล้ว +2

      ​@@notthatntg IEEE Standard for Floating-Point Arithmetic (IEEE 754) has entered the chat:
      "Moreover, there are two zero values, called signed zeros: the sign bit specifies whether a zero is +0 (positive zero) or −0 (negative zero)."

  • @mattgio1172
    @mattgio1172 2 ปีที่แล้ว +2

    WowoW!!!! I'm so happy to see your channel finally getting the credit it deserves - this video blew up!!! I've been a huge fan ever since I saw your level on Kosmic's channel - I can't wait to see what else you do :)

  • @stephblackcat
    @stephblackcat 2 ปีที่แล้ว +4

    Would be cool to have something like this that runs from FDS and can write to QDs so you can save stuff legitimately. Of course that would greatly increase demand for QDs.

  • @syntaxerror9994
    @syntaxerror9994 2 ปีที่แล้ว

    Alternative typing method:
    Holding A makes a cross representing the control pad appear. The four directions are labeled "Upper case, Lower case, numbers, and space.
    Pressing the direction for space is obvious but pressing for example lowercase replaces the labels with the alphabet broken into three "ranges" with the fourth being a "go back" option.
    Going into a letter range breaks down those letters into three sub ranges and finally three letter options to print.
    The Upper case and numbers work the same way with numbers also including symbols and punctuation.
    It sounds complicated but I had a smart watch app that let me text like this with only three buttons and you get used to it really quickly and can type much faster than traditional control pad typing methods.
    So for example a lower case A would be Left (lower case), left (A-I), left (A-C) left (A)

  • @russellg5022
    @russellg5022 2 ปีที่แล้ว +7

    "Why?" A better question would be "how?" *Proceeds to answer the question "what?"*

  • @sdjhgfkshfswdfhskljh3360
    @sdjhgfkshfswdfhskljh3360 2 ปีที่แล้ว

    This video made me think about what criteria can be used to separate operating systems and regular programs.

  • @CerisuHakka
    @CerisuHakka 2 ปีที่แล้ว +3

    I'm kind of surprised Nintendo didn't produce any software that utilized the Famicom Keyboard beyond a simple BASIC interpreter. Imagine a reality where a fully-realized, true-to-its-name Family Computer with dial-up connectivity and a suite of productivity applications might have become a staple of Japanese life in the '80s.

  • @Yoshi_21
    @Yoshi_21 2 ปีที่แล้ว +1

    This reminds me of that bootleg Windows 98 NES game, which was just a bunch of still images stitched together.

  • @Cyber_Akuma
    @Cyber_Akuma 2 ปีที่แล้ว +3

    Maybe for loading of programs/files and even saving them you could use the Famicom Data Recorder? It's a bit of an obscure piece of hardware, but the Famicom had an audio cassette data recorder similar to computers from the 70s and 80s at the time, that feature was left over in some NES versions of games like Excitebike, which is why they have a "save" and "load" feature that doesn't do anything.

  • @SamLabbato
    @SamLabbato 2 ปีที่แล้ว

    who could forget the NESOS paint app. I used to use that all the time back in the day.

  • @GXSCChater
    @GXSCChater 2 ปีที่แล้ว +5

    Nice Stuff very cool! Great coding skills and nice options, I like the idea of deleting 1 byte to cancel a file instead overwriting the whole file.

  • @JontyLevine
    @JontyLevine 9 หลายเดือนก่อน +1

    A little known fact about the Nintendo Entertainment System is that, due to the system's ubiquity, there was a time in the 80s when, since very few people owned computers, there were plans to release office software for it and, at one point, even an entire operating system. Gordon "Sting" Sumner of The Police, a group that had at the time come into a lot of money, invested heavily in the latter project, reasoning that eventually this (or an OS like it) would be used to create music. Nintendo of America sent their top investors copies of the software to try out, of which Sting was one of them, but the product never made it to market. To this day, the operating system was thought to be lost media. Nintendo had a habit of deleting their source code at the time and do not have a copy of the software they wrote. More recently however, it has come to light that Sting still owns one of the cartridges and, working with the emulation community, has made plans to release it to the general public.
    He's sending out a NES OS.
    Sending out a NES OS
    Sending out a NES OS
    Sending out a NES OS
    Sending out a NES OS
    Sending out a NES OS
    Sending out a NES OS
    Sending out a NES OS
    (I apologise for nothing. I saw this joke years ago and, having found no trace of it on the open Internet, rewrote it from memory.)

  • @vampiric162
    @vampiric162 2 ปีที่แล้ว +8

    What would be cool would be if you could make a custom board for the expansion port and have the OS run off the custom board, and maybe putting more RAM on the custom board. Also when the custom board is plugged in it instantly boots up into the OS.

    • @lugxnyt2310
      @lugxnyt2310 2 ปีที่แล้ว +1

      Yeah it'd be cool to see how a Raspberry Pi Pico/Zero could be used in a NES, or Famicom.

    • @vampiric162
      @vampiric162 2 ปีที่แล้ว

      @@lugxnyt2310 yup

  • @gabrieleiro4181
    @gabrieleiro4181 2 ปีที่แล้ว +2

    The cursor options are fantastic! But it would make more sense for the UI to be friendlier to button inputs instead of a mouse cursor. A great example is how modern console UIs look (PS5, XBOX, Switch).

  • @SireSquish
    @SireSquish 2 ปีที่แล้ว +7

    Please do one for the master system so that we can argue about which one is better.

  • @Bro3256
    @Bro3256 2 ปีที่แล้ว +49

    I'm curious if you could possibly add support for the Famicom Data Recorder? Being able to save files on tape (or through digital audio recordings) would work pretty well as the Family Basic keyboard already has that functionality for read and write.

    • @Bro3256
      @Bro3256 2 ปีที่แล้ว +8

      (NESOS more like FamiOS am I right)

    • @doomedtoobscurity3965
      @doomedtoobscurity3965 2 ปีที่แล้ว +2

      @@Bro3256 we need a snesos and an n64os

  • @WSNO
    @WSNO 2 ปีที่แล้ว +1

    This is brilliant. Would love to see this idea expanded upon and to see a cartridge i could run on my own NES someday

  • @tombert512
    @tombert512 2 ปีที่แล้ว +9

    This is super cool. I know the NES had an Arkanoid pad, implying that there was *some* way to get analog inputs in there. Have you considered adding something akin to mouse support?

    • @adamp9553
      @adamp9553 ปีที่แล้ว +2

      Technically the SNES mouse can be used with the NES. It's the same tech. Only the plug needs to be changed.

    • @LongTailCat3
      @LongTailCat3 ปีที่แล้ว

      @@adamp9553 wow

  • @namco003
    @namco003 ปีที่แล้ว

    My kid is getting into hardware and engineering type stuff. Gonna use some of your tutorials and see what we can come up with this summer

  • @tehrobotjesus
    @tehrobotjesus 2 ปีที่แล้ว +11

    Nice work. Years ago I made a simple command line interface for the NES. I added a PS/2 keyboard interface to the cartridge though, instead of using the famicom keyboard.
    It could launch a very spartan brainf*** interpreter along with a couple game demos.
    I also called it NES-OS :)

  • @gwalla
    @gwalla 2 ปีที่แล้ว

    AIUI tilemap backgrounds really evolved from text display so implementing text like that seems pretty natural.

  • @UnrealSolver
    @UnrealSolver 2 ปีที่แล้ว +3

    I love to watch people with skills to build something like this, you deserve more subs and attention 🍻
    That’s hella cool 🔥

  • @Gunbudder
    @Gunbudder 2 ปีที่แล้ว +1

    i love a good bespoke OS. one of my professors in college created a full OS for the arduino uno just to see if it was possible. it was barely functional, but it worked (with task switching)!

  • @kortcobane
    @kortcobane 2 ปีที่แล้ว +6

    Should have called it NEOS (Nintendo Entertainment Operating System)

  • @kip258
    @kip258 2 ปีที่แล้ว

    My man used my favorite music from all my favorite obscure NES games. Lunar Pool and Gun Nac are two that I have in my collection!!

  • @oglothenerd
    @oglothenerd ปีที่แล้ว +8

    Is it open source?

  • @Captureman
    @Captureman 2 ปีที่แล้ว +1

    Thank you for experimenting with the NES. I love what you do!

  • @b3ans4eva
    @b3ans4eva 2 ปีที่แล้ว +3

    Does it run DOOM? :p

  • @fuarkstyle
    @fuarkstyle ปีที่แล้ว

    wow impressive stuff. People are creating in all the consoles, amazing!

  • @sirkastic
    @sirkastic 2 ปีที่แล้ว +5

    This is an app. Not an OS

    • @GDT-Studio
      @GDT-Studio 7 หลายเดือนก่อน

      An app requires an OS

    • @sirkastic
      @sirkastic 6 หลายเดือนก่อน

      @@GDT-Studio And an OS runs Apps. Show me an App this runs

  • @BryanHolmes
    @BryanHolmes 2 ปีที่แล้ว

    If you want to improve your keyboard ime on a standard controller do this:
    A -> input mode
    B -> space
    While holding A, your direction pad becomes letters, a/b/c/d for up, left, down and right. The letter is drawn on the screen but it does not progress. So if you pressed up, then down, it'd show an A then a C in the same spot. If you *release* A, it goes to the next spot to type.
    If you press the *same* letter twice or if you hold a direction, it goes to the next page. So A/B/C/D goes to E/F/G/H. Hold/double press again and it goes to I/J/K/L. You could make it so double tapping up goes to the next vowel page (IE a/b/c/d -> e/f/g/h -> i/j/k/l -> m/n/o/p -> u/v/w/x).
    Regardless by making it a chord, holding A and using the D pad, you're basically advancing 4 characters at a time instead of one at a time and saving a LOT of typing time.

    • @BryanHolmes
      @BryanHolmes 2 ปีที่แล้ว

      Also if you wanted to save button presses:
      Hold "A" to enter input mode. If you hit a direction, it starts typing. But if you don't press a direction, and you let go of "A", it'll write a space. If you double press a direction/hold a direction and then release without , it also inserts a space.

  • @joshuajerome1997
    @joshuajerome1997 10 หลายเดือนก่อน +3

    can you please fix it most emulators on pc don't want to run it when it does it has like 9999 ways of crashing. it says there's a cpu error

  • @plumjet09
    @plumjet09 2 ปีที่แล้ว +1

    Congrats on 1K!

  • @finkelmana
    @finkelmana ปีที่แล้ว +3

    What a complete waste of time and effort for something absolutely useless and serves no purpose at all. I love it.

  • @ocsanik502
    @ocsanik502 2 ปีที่แล้ว +1

    My guy wrote a OS, Filesystem, and Text Editor just for fun. What a chad!

  • @piousminion7822
    @piousminion7822 2 ปีที่แล้ว +3

    Why in Kanji if the NES was made for an English market? Would make more sense if you built "FamiconOS" instead of NESOS.

  • @Disthron
    @Disthron 2 ปีที่แล้ว +1

    Thinking about it some more, I think Famicom Basic dose turn the OG Famicom into an 8-bit micro. Things like the C64 didn't really have an OS like we understand it today. It had a rom chip that had basic on it. You could have a word processor on tape, and there was even one built into the cart.

  • @something2424
    @something2424 ปีที่แล้ว

    Seeimg this run native on a real system would be so awesome, great work!

  • @RamyReda2125
    @RamyReda2125 ปีที่แล้ว +1

    I wish the SG-1000, Master System/Mark III, SNES/Super Famicom, and Genesis/Mega Drive had operating systems too.

  • @Strange_Armour
    @Strange_Armour 2 ปีที่แล้ว

    This is - beyond a doubt - a true testament to the power of boredom. Kudos 👍

  • @theconfusingwords
    @theconfusingwords 2 ปีที่แล้ว

    This is an impressive project you pulled off here, thanks for sharing

  • @CassyK04
    @CassyK04 5 หลายเดือนก่อน

    Whenever I heard "Message In A Bottle" by The Police when I was younger I kept hearing the end chorus as "Send another NES OS" and this is pretty much what I visualized in my head

  • @therealsnowwhite1937
    @therealsnowwhite1937 2 ปีที่แล้ว +2

    Reminds me of those mock OSes that come with Famiclones mimicking that of Windows 98 and later.

  • @jamesfloyd6693
    @jamesfloyd6693 2 ปีที่แล้ว

    it's like over complicated post it notes. I love it

  • @mr_indie_fan
    @mr_indie_fan 2 ปีที่แล้ว +2

    4d games, games on calculators, raytracing and advanced 3d models on a snes, a non euclidian VR game and now an OS on a nes......... I have jumped down quite the rabbit hole of interesting indie game projects haven't i?

    • @mr_indie_fan
      @mr_indie_fan 2 ปีที่แล้ว +1

      Portal 64 is the icing on the cake.

    • @mr_indie_fan
      @mr_indie_fan 2 ปีที่แล้ว +1

      Peak Innovation in gaming!

  • @ironrion
    @ironrion 2 ปีที่แล้ว +1

    What a remarkable feat. Subbed for this video. Thank you so much for creating badass content like this

  • @TechLokal
    @TechLokal 2 ปีที่แล้ว

    Excellent work, man! :) Your channel is about to blow up. 🙌

  • @CaptainCaveman1170
    @CaptainCaveman1170 2 ปีที่แล้ว +1

    THANK YOU for giving Xerox the proper credit for inventing the Mouse cursor based Graphical User Interface. Tired of the revisionist History :-)

  • @Prokudak
    @Prokudak 2 ปีที่แล้ว +2

    I applaud you, sir.

  • @alejandrovivas1027
    @alejandrovivas1027 2 ปีที่แล้ว

    What a legend only one ad in the beginning . Your so damn underrated

  • @taubrow4973
    @taubrow4973 2 ปีที่แล้ว

    I have no idea why I'm watching this, but the Arthur interstitial jingle @1:27 won my heart over

  • @livefreeprintguns
    @livefreeprintguns 2 ปีที่แล้ว +1

    Is it hard waking up everyday knowing what kind of actual Chad you are? Amazing stuff!

  • @bwc1976
    @bwc1976 ปีที่แล้ว

    This is so cute! I was going to add that the Japanese Famicom did offer a disk drive, but someone else already has.

  • @retsapb6319
    @retsapb6319 2 ปีที่แล้ว +1

    This is insanely cool

  • @metal_bird
    @metal_bird 2 ปีที่แล้ว +1

    Very cool! Awesome work on the implementation and explanation!

  • @SuperCrazyfin
    @SuperCrazyfin 2 ปีที่แล้ว

    Awesome to see youtube promoting some good content for once!

  • @Thunderstormworld
    @Thunderstormworld 2 ปีที่แล้ว +2

    Many years ago I came across a NES clone that had a few game cartridges and one OS cartridge which you had a full OS like Amiga that you can work like a Amiga, this NES came with a printer specially made that plugged in a one of the 4 game controller ports it came with a mouse and keyboard, sadly it was just to expensive to buy at the time.

  • @honzapobisCZ
    @honzapobisCZ 2 ปีที่แล้ว

    That Lunar Ball music is just forever imprinted in my brain :D

  • @CableWrestler
    @CableWrestler 2 ปีที่แล้ว +1

    Congratulations for hitting the algorithm 💪🏻