[{"data":1,"prerenderedAt":276},["ShallowReactive",2],{"project-21114491":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":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":43,"post_text":45,"what":46,"said":69,"maker_in_thread":128,"shape":137,"grid":141,"attempts":238,"same_week":239,"maker_shows":35,"maker_hidden":268,"reader_version":269,"card":270},"21114491","boot2c","A simple way to write standalone C programs for i386","title","Show HN: A simple way to write standalone C programs for i386","https:\u002F\u002Fgithub.com\u002Fluke8086\u002Fboot2c","github.com","qx89l4",1569846041,2019,147,34,294,2195,14,"notable","dev_tools","bootloader development","library",[24,25,26,27,28],"i386","bootloader","bare metal c","real mode","x86 boot","loved",0.333,{"positive":32,"neutral":33,"mixed":34,"critical":35},6,5,0,1,12,{"execution":38,"docs":39,"idea":41,"performance":42},{"positive":35,"critical":34},{"positive":40,"critical":34},2,{"positive":35,"critical":34},{"positive":34,"critical":35},[34,34,34,33,33,34,34,44,44,35,34,34,34,34,34,34,34,34,44,44,34,34,33,33,33,44,33,34,34,34,34,34,34,34],3,null,{"problem":45,"audience":45,"pricing":45,"motivation":45,"time_to_build":45,"stack":47,"openness":67,"stage":68,"team_size":68},[48,55,63],{"value":49,"source":50,"evidence":51},"C","maker",[52],{"id":53,"by":11,"text":54},"21137837","I feel your pain, so sorry that you still need to support the .code16gcc hack! My first approach was actually to avoid GCC\u002Fclang altogether, and use Turbo C instead. It came with…",{"value":56,"source":57,"evidence":58},"GCC","commenter",[59],{"id":60,"by":61,"text":62},"21135759","rwmj","No, he's using -m16 -march=i386 which creates 32 bit code that boots in 16 bit mode using the 32 bit size prefix on most instructions, and that will only work on 80386 and above.",{"value":64,"source":57,"evidence":65},"Clang",[66],{"id":60,"by":61,"text":62},"open_source","unknown",{"praise":70,"objections":85,"requests":93,"questions":101,"alternatives":109},[71,78],{"value":72,"source":57,"evidence":73},"Code is short, readable and well designed",[74],{"id":75,"by":76,"text":77},"21135249","saagarjha","The code was surprisingly short and readable. If you have a minute, I’d suggest taking a peek; it’s pretty well designed.",{"value":79,"source":57,"evidence":80},"Refreshing approach to entering the topic",[81],{"id":82,"by":83,"text":84},"21138912","frank_nitti","Very refreshing approach, as someone deeply interested in this topic but without the time to dive in to the docs myself",[86],{"value":87,"source":57,"evidence":88},"Targets real-address mode, so it is not really i386 but XT-era hardware",[89],{"id":90,"by":91,"text":92},"21135405","tus88","> they only work in the real-address mode So it's not for i386, it's for XT by the sounds of it.",[94],{"value":95,"source":57,"evidence":96},"Add a TCP\u002FIP stack for IoT use",[97],{"id":98,"by":99,"text":100},"21136049","ape4","If you could get a TCP\u002FIP stack working, it could be used for a simple IoT device.",[102],{"value":103,"source":57,"evidence":104},"Could a minimal version exist for x64 UEFI machines",[105],{"id":106,"by":107,"text":108},"21136087","Udo","I wonder what a minimal version of this would look like for x64 UEFI machines. Does anyone know whether such a project exists?",[110,114,121],{"value":111,"source":50,"evidence":112},"Turbo C",[113],{"id":53,"by":11,"text":54},{"value":115,"source":57,"evidence":116},"OpenWatcom",[117],{"id":118,"by":119,"text":120},"21139905","ofrzeta","You could also use OpenWatcom, I think. https:\u002F\u002Fgithub.com\u002Fopen-watcom\u002Fopen-watcom-v2",{"value":122,"source":57,"evidence":123},"Unikernels such as Hermitcore",[124],{"id":125,"by":126,"text":127},"21146188","nodefourtytwo","Isn't that a unikernel [0]? I've been wanting to try Hermitcore [1] for a while. [0] https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FUnikernel [1] https:\u002F\u002Fgithub.com\u002Fhermitcore\u002Flibhermit",{"comments":32,"answered":40,"key":129},[130,131,134],{"id":53,"text":54},{"id":132,"text":133},"21138210","Targeting 8086-level of instructions was actually my first idea. It wasn't possible with gcc\u002Fclang, but Turbo C is freeware these days, so... ;) In case you're interested, see…",{"id":135,"text":136},"21149113","Hadn't heard of them, thanks for the links!",{"commenters":138,"max_depth":33,"maker_replies":32,"first_comment_mins":139,"lifespan_hours":140},23,918,81,[142,145,146,150,152,154,156,159,161,163,165,169,171,174,176,177,179,181,182,186,189,192,195,199,204,209,214,219,223,227,229,231,233,235],[143,34,34,144,61,34],"21135731","commenter\u002Fneutral\u002Fexecution",[53,34,34,144,11,35],[147,34,34,148,149,34],"21138450","other\u002Fneutral\u002Fnone","oso2k",[75,35,33,151,76,34],"project\u002Fpositive\u002Fexecution",[82,35,33,153,83,34],"project\u002Fpositive\u002Fdocs",[106,40,34,155,107,34],"other\u002Fneutral\u002Fidea",[157,40,34,148,158,34],"21141486","dantle",[98,44,44,160,99,34],"project\u002Fneutral\u002Fidea",[125,162,44,160,126,34],4,[90,33,35,164,91,34],"project\u002Fcritical\u002Fperformance",[166,33,34,167,168,34],"21135559","commenter\u002Fneutral\u002Fperformance","Crinus",[132,33,34,170,11,35],"maker\u002Fneutral\u002Fperformance",[172,33,34,173,149,34],"21138692","other\u002Fneutral\u002Fperformance",[135,33,34,175,11,35],"maker\u002Fneutral\u002Fnone",[118,33,34,148,119,34],[178,33,34,148,168,34],"21145523",[180,33,34,148,11,35],"21149093",[60,33,34,167,61,34],[183,33,44,184,185,34],"21136822","project\u002Fneutral\u002Fperformance","jacobush",[187,33,44,184,188,34],"21135911","dexen",[190,33,34,191,11,35],"21138112","maker\u002Fneutral\u002Fdesign",[193,33,34,167,194,34],"21138263","PixelOfDeath",[196,32,33,197,198,34],"21138342","project\u002Fpositive\u002Fidea","ColanR",[200,201,33,202,203,34],"21121819",7,"maker\u002Fpositive\u002Fdocs","jmpman",[205,206,33,207,208,34],"21135474",8,"project\u002Fpositive\u002Fnone","dusted",[210,211,44,212,213,34],"21136279",9,"project\u002Fneutral\u002Fnone","peteradio",[215,216,33,217,218,34],"21128714",10,"maker\u002Fpositive\u002Fnone","ngcc_hk",[220,221,34,148,222,34],"21139659",11,"Accujack",[224,221,34,225,226,34],"21140077","commenter\u002Fneutral\u002Fnone","blacksmith_tb",[228,221,34,225,222,34],"21147514",[230,221,34,225,11,35],"21149125",[232,221,34,225,226,34],"21152342",[234,36,34,148,99,34],"21135848",[236,36,34,148,237,34],"21138197","pacaro",[],[240,245,250,254,259,264],{"id":241,"name":242,"points":243,"category":244},"21101918","Bot Land",444,"games",{"id":246,"name":247,"points":248,"category":249},"21134903","Ledonardo",442,"creative",{"id":251,"name":252,"points":253,"category":244},"21136364","Astro Golf",232,{"id":255,"name":256,"points":257,"category":258},"21106611","Ieddit",220,"consumer_social",{"id":260,"name":261,"points":262,"category":263},"21110425","Aristotl",173,"learning_science",{"id":265,"name":266,"points":267,"category":263},"21106202","Ansible Crash Course",160,false,"v2",{"id":271,"name":5,"line":6,"ai":268,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":272,"top":18,"kw":273,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":274,"url":9,"mix":275,"praise":72,"objection":87,"sub":21},21114491,0.33,[24,25,26,27,28],"0005500331000000003300555350000000",[32,33,34,35],1794036581426]