Top all-time · #1471
DJ Delorie
Personal blog · delorie.comprogrammingsystems
DJ Delorie writes delorie software, a personal blog at delorie.com about programming and systems. Since 2008, 51 different Hacker News readers have linked it 60 times, most often “DJGPP”. No feed was found, so read it on the site itself.
Most-linked posts?
- DJGPP8 people · 10 mentions · first linked 2022-01-22
- DJGPP, a complete 32-bit C/C++ development system for Intel 386 PCs running DOS4 people · 4 mentions · first linked 2011-11-02
- /djgpp/history.html3 people · 3 mentions · first linked 2024-01-18
- /pub/djgpp/current/v2/2 people · 2 mentions · first linked 2022-01-22
- /users/dj/2 people · 2 mentions · first linked 2022-06-04
- The History of Djgpp2 people · 2 mentions · first linked 2021-02-10
What Hacker News says?
It's interesting to see the real specification for this system call, as only the device availability subfunctions were widely known outside of Microsoft [1]. I wonder if many other hidden or deprecated functions are present in these releases. [1] http://www.delorie.com/djgpp/doc/rbinter/id/65/27.html
Comment linking /djgpp/doc/rbinter/id/65/27.html
on “Microsoft makes source code for MS-DOS and Word for Windows available to public”Submitted DJGPP as a story · 156 points
HN discussionOnly if they never call DOS or the BIOS or execute a Real Mode Software Interrupt. When they do, they ask the DPMI server (which could be an OS like Windows 9x or CWSDPIM) to make the call on their behalf. In doing so, the DPMI server will temporarily enter into a VM86 Virtual Machine to do execute the Real Mode code being requested. http://www.delorie.com/djgpp//doc/libc-2.02/libc_220.html
Comment linking /djgpp//doc/libc-2.02/libc_220.html
on “How Quake.exe got its TCP/IP stack”Submitted Djgpp – 32bit DOS Development System as a story · 23 points
HN discussionVM does not mean Virtual Memory in this context. VM does mean Virtual Machine. When an OS/DPMI Server/Supervisor/Monitor provides an OS or program a virtual interface to HW interrupts, IO ports, SW interrupts, we say that OS or program is being executed in a Virtual Machine. For things like Windows 3.x, 9x, OS/2, CWSDPMI, DOS/4G (DPMI & VCPI), Paging & Virtual Memory was an optional feature. In fact, CWSDPMI/djgpp p…
Comment linking /djgpp/v2faq/faq15_2.html
on “How Quake.exe got its TCP/IP stack”Submitted Djgpp as a story · 2 points
HN discussionGNU tools have profoundly changed the Microsoft platform, I remember when http://www.delorie.com/djgpp/ came out, everyone could get a legit C compiler for DOS/Windows. This was a huge deal. Microsoft did its damnedest to kill Borland and its inexpensive tools. Proprietary dev tools still exist, true, but the landscape is so vastly different. Even my favorite IDE IntelliJ has the source released under a BSD license,…
Comment linking /djgpp/
on “Dave Winer: Why I stand up for Stallman”Submitted Djgpp as a story · 2 points
HN discussionI did know that. The point is that unlike Unix, MS-DOS had no FHS to go with its hierarchical file system, which would cleanly separate the namespaces of user files from device nodes. (The file system layout didn’t even start becoming standardised until the Windows 95 days.) One could fairly legitimately create a DEV directory in the root of the file system and expect to be able to keep their own files there, naming…
Comment linking /djgpp/v2faq/faq22_21.html
on ““It is 2018 and this error message is a mistake from 1974””Submitted DJGPP, a complete 32-bit C/C++ development system for Intel 386 PCs running DOS as a story · 2 points
HN discussionThe paper/executable starts with "ZM", but shouldn't a DOS .exe file start with "MZ"? ( http://www.delorie.com/djgpp/doc/exe/ ) What am I missing?
Comment linking /djgpp/doc/exe/
on “A C89 compiler that produces executables that are also valid ASCII text files [pdf]”Submitted Djgpp as a story · 1 points
HN discussionFrom Ralphs Interrupt List, INT 21H with AH=4D -> https://www.delorie.com/djgpp/doc/rbinter/id/88/29.html INT 21 - DOS 2+ - GET RETURN CODE (ERRORLEVEL) more in the link above. That took me like 30+ years ago back ;)
Comment linking /djgpp/doc/rbinter/id/88/29.html
on “Does this 8088 code in the Leisure Suit Larry 2 game do anything?”Submitted The History of Djgpp as a story · 1 points
HN discussionIt wouldn't be surprising if RMS said that and you got me to look it up. The source for "MS-DOG" seems to be Morten Welinder ( http://www.delorie.com/djgpp/doc/msdog.html )
Comment linking /djgpp/doc/msdog.html
on “Why Open Source Misses the Point of Free Software”Submitted GNU Emacs Calc Manual: Not your Grandpa's Calculator as a story · 1 points
HN discussionQuickly reviewing some of the posts on the ag blog/page[1], I'm guessing the speedup is mainly from a custom dir scanning algorithm and possibly from running two threads. In the course of checking out ag (again) I also learned about gnu id-utils[2]. [1] http://geoff.greer.fm/ag/ [2} http://www.delorie.com/gnu/docs/id-utils/id-utils_1.html
Comment linking /gnu/docs/id-utils/id-utils_1.html
on “Modernizing “less””> Why would any sane person do this? Perhaps the same kind of people who got GCC to compile for 386 DOS machines (also using DPMI). Which might sound useless, since it's an underpowered operating system running on underpowered hardware, but it was used to build some very popular software, like the original Quake game (source: http://www.delorie.com/djgpp/history.html ).
Comment linking /djgpp/history.html
on “Show HN: My website, hosted on a 386 25 MHz, 4 MiB of RAM, 38400 baud internet”Please be very careful doing math with bash and awk... cat data.csv | awk -F "|" '{ sum += $4 } END { printf "%.2f\n", sum }' From that command, it's unclear whether the sum will be accurate, it depends on the inputs and on the precision of awk. See (D.3 Floating-Point Number Caveats): http://www.delorie.com/gnu/docs/gawk/gawk_260.html
Comment linking /gnu/docs/gawk/gawk_260.html
on “Useful Unix commands for data science”That wiki page doesn't mention tilde does it? I know tilde escapes from cu(1) (part of uucp) http://www.delorie.com/gnu/docs/uucp/cu.1.html But it may well have originated before then.
Comment linking /gnu/docs/uucp/cu.1.html
on “How to kill an unresponsive SSH session”What you need is an ‘Acme i986DX7/900 PC with a SCSI-III 10-Terabyte disk drive under MulticOS/42 v7.99’. https://www.delorie.com/djgpp/v2faq/faq3_1.html
Comment linking /djgpp/v2faq/faq3_1.html
on “DOjS – A DOS JavaScript Canvas with Sound”No, AFAIK MS-DOS always initialises it to zero before starting the program. I'm trying to find a better reference, but I think this[0] effectively explains what state the registers are in on entry to your program. Edit: I take that back. According to [1]: .COM-format executables begin running with the following register values: AL = 00h if first FCB has valid drive letter, FFh if not AH = 00h if second FCB has valid…
Comment linking /djgpp/doc/rbinter/id/51/29.html
on “Paint16b: A 16 byte paint program written in 12 lines”They're runtime checks, but they're inserted by the compiler at compile time. So yeah, if you link in code that wasn't compiled with them, then that code isn't protected. You're right that a summary seems hard to find; http://www.delorie.com/gnu/docs/gcc/gccint_124.html has some decent stuff in it, but given that it's random GCC docs, the details may not be 100% accurate today, I dunno, I'm on a flight layover right…
Comment linking /gnu/docs/gcc/gccint_124.html
on “Rust on AVR: Safer microcontrollers almost here”It requires a little getting used to, but quite powerful: http://www.delorie.com/gnu/docs/gdb/gdb_56.html
Comment linking /gnu/docs/gdb/gdb_56.html
on “GDB tricks”They should provide tools that run in both Windows and plain MS-DOS / FreeDOS (hey, sometimes it's useful). One way I know how to do this is to compile with http://www.delorie.com/djgpp/ and link in the CWSDPMI DOS extender from http://homer.rice.edu/~sandmann/cwsdpmi/index.html The DOS extender will not run if it detects DPMI provided by Windows, so the binaries work in both environments. I suggest this for some At…
Comment linking /djgpp/
on “Gow – The lightweight alternative to Cygwin”Replacing malloc/calloc/free etc an application-specific xmalloc/xcalloc/xfree is seemingly a fairly common pattern. There's one example in libiberty[0] (-liberty, get it?) where, for instance, the return value of malloc is checked for NULL and the program terminates if so. [0]: http://www.delorie.com/gnu/docs/gcc/libiberty_5.html
Comment linking /gnu/docs/gcc/libiberty_5.html
on “How I spent two weeks hunting a memory leak in Ruby (2015)”They have a pretty recent build of GCC, 12.2 from 18 months ago. https://www.delorie.com/pub/djgpp/current/v2gnu/
Comment linking /pub/djgpp/current/v2gnu/
on “DJGPP”> It's written consistently in all upper case in the copy text at https://www.delorie.com/djgpp/ . And consistently lowercase in the article linked in the post I was answering. There is 10 years between the 2 links, seems the author changed their mind about introducing words with forced irregular capitalization.
Comment linking /djgpp/
on “DJGPP”The author has a page[0] wherein he notes his legal first name is "DJ" and that it is not appropriate to spell it in lower case, insert spaces or periods, etc. Also on that page, directly above that admonition , is an image with his name spelled in lower case. ¯\_(ツ)_/¯ 0 - https://www.delorie.com/users/dj/
Comment linking /users/dj/
on “DJGPP”Is this still being developed? https://www.delorie.com/pub/djgpp/current/v2/
Comment linking /pub/djgpp/current/v2/
on “DJGPP”