[{"data":1,"prerenderedAt":369},["ShallowReactive",2],{"project-44318588":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":20,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":43,"post_text":45,"what":46,"said":67,"maker_in_thread":174,"shape":184,"grid":189,"attempts":330,"same_week":331,"maker_shows":38,"maker_hidden":361,"reader_version":362,"card":363},"44318588","rou2exOS","A DOS-like hobby OS written in Rust and x86 assembly","title","Show HN: A DOS-like hobby OS written in Rust and x86 assembly","https:\u002F\u002Fgithub.com\u002Fkrustowski\u002Frou2exOS","github.com","krustowski",1750340337,2025,207,60,299,3837,8,"notable","other","hobby operating system",[23,24,25,26,27],"hobby os","rust os","dos-like","x86 assembly","bootable iso","curious",0.124,{"positive":31,"neutral":32,"mixed":33,"critical":34},7,21,0,4,32,{"idea":37,"execution":39,"design":40},{"positive":34,"critical":38},1,{"positive":33,"critical":33},{"positive":41,"critical":42},2,3,[44,33,42,42,33,33,33,38,42,38,38,44,42,33,33,38,33,33,33,44,42,44,33,42,44,42,42,42,42,33,33,42,33,42,33,42,33,42,44,44],5,"To try it out, simply build the project yourself from source, or use attached bootable ISO image of the system (in Releases on Github) and run it in QEMU.\n\nhttps:\u002F\u002Fblog.vxn.dev\u002Frou2exos-rusted-edition",{"problem":47,"audience":47,"pricing":47,"motivation":48,"time_to_build":47,"stack":55,"openness":64,"stage":65,"team_size":66},null,{"value":49,"source":50,"evidence":51},"Experiment with Rust no_std environment and learn how things work under the hood","maker",[52],{"id":53,"by":11,"text":54},"44326137","Well, the point is to experiment with Rust no_std+no_main environment while trying to educate myself on how the things work under the hood. The project itself is part \"just\" a…",[56,60],{"value":57,"source":50,"evidence":58},"Rust (no_std, no_main)",[59],{"id":53,"by":11,"text":54},{"value":26,"source":50,"evidence":61},[62],{"id":63},"post","open_source","prototype","unknown",{"praise":68,"objections":88,"requests":111,"questions":139,"alternatives":159},[69,81],{"value":70,"source":71,"evidence":72},"Good idea to build a retro DOS-like OS as a learning project","commenter",[73,77],{"id":74,"by":75,"text":76},"44319184","rollcat","Memory-safe language. x86_64, with Arm on the roadmap. Networking stack. Boots from a CD and via multiboot. Your hobby project wipes the floor with DOS.",{"id":78,"by":79,"text":80},"44323879","klank","The original blog post has more details: https:\u002F\u002Fkrusty.space\u002Fprojects\u002Frourexos\u002F Ultimately, it's an eye of the beholder type thing, but it seems very fair to call it DOS-like to…",{"value":82,"source":71,"evidence":83},"SLIP-based networking stack is appealing",[84],{"id":85,"by":86,"text":87},"44323301","mct","I love that the networking stack uses SLIP and slattach(1)! I was playing with a toy TCP\u002FIP stack, and decided using SLIP over a pty on Linux was a great way to interface with…",[89,100],{"value":90,"source":71,"evidence":91},"Rust is not inherently safer; only 3% of the code is assembly, so it is mostly Rust",[92,96],{"id":93,"by":94,"text":95},"44325055","MoonGhost","> Rust and x86 assembly then > Memory-safe language. What's the point? Looks like today Rust is like 3D printing was. As if it makes something better. Printing was hyped and…",{"id":97,"by":98,"text":99},"44325086","unchar1","You can write memory safe code in any language, but having a machine i.e. the Rust compiler check it for you is less error-prone than if a human does it. Also if you look at the…",{"value":101,"source":71,"evidence":102},"Not really DOS-compatible; command set and architecture differ from MS-DOS",[103,107],{"id":104,"by":105,"text":106},"44319531","DrNosferatu","DOS-like but not DOS-compatible, correct?",{"id":108,"by":109,"text":110},"44323791","jmmv","I don’t understand: what makes this “DOS-like”? Not even the command names match DOS, except for dir and cls, and the architecture and feature set are completely different.",[112,122,132],{"value":113,"source":71,"evidence":114},"Support for MS-DOS programs like Doom or Lotus 1-2-3",[115,119],{"id":116,"by":117,"text":118},"44319373","pvg","Whoa there. Gotta run Doom and BASIC to compete with DOS. That is the officially recognized DOS-Kármán line.",{"id":120,"by":105,"text":121},"44321157","...meaning MS-DOS compatible :) I.e.: runs Alley Cat and Dune 2 - and Doom.",{"value":123,"source":71,"evidence":124},"Support for GPT and FAT32 filesystems",[125,129],{"id":126,"by":127,"text":128},"44322327","mixmastamyk","I would have preferred something like this to the current UEFI environment and shell, a FLOSS 64-bit DOS-like. A cool retro boot manager and diagnostic env perhaps. Could this…",{"id":130,"by":11,"text":131},"44322522","Booting from an EFI system partition has not been tested yet. FAT12 is the only filesystem (ok, there is a memdisk implementation, but it won't work now) supported, so GPT is not…",{"value":133,"source":71,"evidence":134},"Czech diacritics support",[135],{"id":136,"by":137,"text":138},"44325757","pndy","Are you planning adding support for Czech diacritics?",[140,147,151],{"value":141,"source":71,"evidence":142},"Why x86 rather than ARM",[143],{"id":144,"by":145,"text":146},"44322773","OhNotAPaper","Out of curiosity, why x86? Is it the preponderance of resources? The weird instruction format? The complexity of the boot sequence? Are you specifically trying to mimic DOS? > A…",{"value":148,"source":71,"evidence":149},"Can it boot from an EFI system partition",[150],{"id":126,"by":127,"text":128},{"value":152,"source":71,"evidence":153},"Does it write directly to VGA hardware",[154,155],{"id":126,"by":127,"text":128},{"id":156,"by":157,"text":158},"44323871","90s_dev","Is this using a custom VGA driver from scratch in Rust??",[160,167],{"value":161,"source":71,"evidence":162},"FreeDOS",[163],{"id":164,"by":165,"text":166},"44321462","JdeBP","A version of (say) FreeDOS that was layered on top of the EFI API instead of PC98 firmware interrupts would be quite interesting. That would be a major architectural change to…",{"value":168,"source":71,"evidence":169},"DOSBox",[170],{"id":171,"by":172,"text":173},"44322149","leeter","I did see that and for people that need that specific functionality it seemed like a good solution. My goal was more \"What if DOS hadn't ended and but kept up support for modern…",{"comments":175,"answered":18,"key":176},12,[177,180,183],{"id":178,"text":179},"44319916","What a challenge! Need to implement some interrupts it seems then, to provide an API for filesystem and so... Thank you for such idea",{"id":181,"text":182},"44322310","Afaik there is a 'DIR' command in MS-DOS. Anyway, what would be a better command to list a directory? I could think of 'ls' maybe",{"id":53,"text":54},{"commenters":185,"max_depth":186,"maker_replies":175,"first_comment_mins":187,"lifespan_hours":188},38,6,68,28,[190,192,194,196,200,204,206,209,211,214,217,221,223,226,229,232,235,239,242,245,248,251,254,256,258,259,262,265,267,268,270,272,274,275,276,278,280,284,285,287,288,290,292,293,295,298,299,300,303,305,306,308,311,314,316,320,322,325,326,328],[74,33,44,191,75,33],"project\u002Fpositive\u002Fidea",[116,33,33,193,117,33],"commenter\u002Fneutral\u002Fnone",[178,33,33,195,11,38],"maker\u002Fneutral\u002Fnone",[197,33,42,198,199,33],"44322363","project\u002Fneutral\u002Fexecution","rzzzt",[201,33,42,202,203,33],"44322392","project\u002Fneutral\u002Fnone","jmspring",[205,33,42,202,75,33],"44321291",[207,33,33,193,208,33],"44322144","jdsully",[210,33,33,193,203,33],"44322853",[212,33,33,193,213,33],"44325065","hans_castorp",[215,33,33,193,216,33],"44329778","RoyTyrell",[218,33,38,219,220,33],"44322257","project\u002Fcritical\u002Fdesign","mycall",[181,33,33,222,11,38],"maker\u002Fneutral\u002Fdesign",[224,33,42,225,199,33],"44323038","project\u002Fneutral\u002Fdesign",[227,33,42,225,228,33],"44323324","onre",[230,33,38,219,231,33],"44323910","anyfoo",[233,33,38,219,234,33],"44324486","OccamsMirror",[236,33,44,237,238,33],"44325306","project\u002Fpositive\u002Fdesign","koziserek",[240,33,42,202,241,33],"44326805","GTP",[243,33,42,202,244,33],"44328203","stuaxo",[246,33,33,193,247,33],"44327074","pjmlp",[249,33,33,193,250,33],"44323039","guestbest",[252,33,33,193,253,33],"44323626","AndrewDavis",[255,33,42,202,247,33],"44327067",[93,33,38,257,94,33],"project\u002Fcritical\u002Fidea",[97,33,33,193,98,33],[260,33,33,193,261,33],"44328479","PaulDavisThe1st",[263,33,33,193,264,33],"44325165","whytevuhuni",[53,33,33,266,11,38],"maker\u002Fneutral\u002Fidea",[85,38,44,237,86,33],[144,41,42,269,145,33],"project\u002Fneutral\u002Fidea",[271,41,42,269,231,33],"44323939",[273,41,33,269,11,38],"44325826",[126,42,44,191,127,33],[130,42,33,198,11,38],[277,42,42,198,127,33],"44322742",[279,42,33,198,11,38],"44325788",[281,34,44,282,283,33],"44327515","maker\u002Fpositive\u002Fnone","Toritori12",[136,44,42,202,137,33],[286,44,33,202,11,38],"44326172",[156,186,42,198,157,33],[289,186,42,198,157,33],"44323873",[291,186,33,198,11,38],"44328689",[104,31,42,269,105,33],[294,31,33,269,11,38],"44319771",[296,31,33,297,172,33],"44320310","other\u002Fneutral\u002Fnone",[164,31,33,297,165,33],[171,31,42,269,172,33],[301,31,42,202,302,33],"44323789","snvzz",[304,31,33,198,11,38],"44325895",[120,31,42,269,105,33],[307,31,33,193,165,33],"44321179",[309,31,33,193,310,33],"44321538","vardump",[312,18,42,198,313,33],"44325253","m00dy",[315,18,33,198,11,38],"44328708",[317,318,33,297,319,33],"44328650",9,"ta12653421",[108,321,42,269,109,33],10,[323,321,42,269,324,33],"44323848","paulannesley",[78,321,44,191,79,33],[327,321,44,191,109,33],"44324614",[329,321,33,269,11,38],"44328543",[],[332,337,342,347,352,356],{"id":333,"name":334,"points":335,"category":336},"44323253","ExTracker",394,"infrastructure",{"id":338,"name":339,"points":340,"category":341},"44329457","Nxtscape",314,"productivity",{"id":343,"name":344,"points":345,"category":346},"44351028","Lego Island (isle-portable)",263,"games",{"id":348,"name":349,"points":350,"category":351},"44317012","Claude Code Usage Monitor",245,"dev_tools",{"id":353,"name":354,"points":355,"category":341},"44375761","Scream to Unlock",242,{"id":357,"name":358,"points":359,"category":360},"44348448","Idle Reporter",194,"web_saas",false,"v2",{"id":364,"name":5,"line":6,"ai":361,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":365,"top":18,"kw":366,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":367,"url":9,"mix":368,"praise":70,"objection":90,"sub":21},44318588,0.12,[23,24,25,26,27],"5033000131153001000535035333300303030355",[31,32,33,34],1794036677030]