Spyke
lemmy.ca

I love that they specify that they're not accepting pull requests.

254

Even funnier when it's their own platform and it has been missing the feature to disable them for so long afaik

21

In 2014, MS-DOS 1.25 and 2.0 were released under a Microsoft shared-source license (Microsoft Research License) which forbids redistribution

In 2018, both versions were published to GitHub and relicensed as MIT, making them properly open-source

Today, MS-DOS 4.00 was added to that repo, also under MIT.

130
lemmy.ml

Ignore them. Send a pull request with the full source of Arch Linux.

127
lemmy.nz

Nah, just a giant compiled binary blob. That's what all the cool hackers do these days.

51
tetris11reply
lemmy.ml

dumb question maybe, but where is the full source of arch Linux? My understanding is that its just vanilla Linux that uses the pacman package manager.

Am I wrong in saying the pacman is the Arch source? Or is there more going on in the tar ball?

9
Aatubereply
kbin.melroy.org

A lot of these packages have Arch-specific modifications. For example, filesystem doesn't even have a non-Arch upstream as it defines the filesystem layout. That PKGBUILD and everything it depends on is the Arch source. Distributions are defined by which packages they include.

7
ylaireply
lemmy.ml

There is even a sentence in README.md that makes it explicit:

The source files in this repo are for historical reference and will be kept static, so please don’t send Pull Requests suggesting any modifications to the source files […]

16
infosec.pub

LOL, some of the comments in the source are gold.

https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/DOS/ABORT.ASM

Note:  We do need to explicitly close FCBs.  Reasons are as follows:  If we
; are running in the no-sharing no-network environment, we are simulating the
; 2.0 world and thus if the user doesn't close the file, that is his problem
; BUT...  the cache remains in a state with garbage that may be reused by the
; next process.  We scan the set and blast the ref counts of the FCBs we own.
;
; If sharing is loaded, then the following call to close process will
; correctly close all FCBs.  We will then need to walk the list AFTER here.
;
; Finally, the following call to NET_Abort will cause an EOP to be sent to all
; known network resources.  These resources are then responsible for cleaning
; up after this process.
;
; Sleazy, eh?~
93

I imagine that's already a compatibility thing. If the os closed the file handles at that point but the program was expecting to do that, it might crash.

2
lemmy.blahaj.zone

i remember writing .bat files and pretending they were really fancy update scripts when i was like ten they did nothing but it was still fun :)

83
lemmy.ml

Like half of my job is writing .bat files to automate stuff locally and not tell my boss that all I do anymore is double click the right things in the right order...

58
vikingreply
infosec.pub

You can put in a timeout command at the end, and then call the next .bat file.

For example "TIMEOUT /T 60" waits for 60 seconds before resuming, or you can override it by pressing any key.

So if you know how long the wait time between scripts is, just write a master.bat and call them in order, with adequate waiting time in between.

23

Or just use the @CALL command to call them in order without having to guesstimate how long they run.

4

Okay so the dumb part is a lot of this is me abstracting away our complex build system. I've basically bubble-gummed a dedicated build system in top of it for only the tasks I do. At a certain point if I start adding configurations or timing I might as well just wrap it in gradle or something. But the system that I'm calling is already their attempt at simplifying another build system that's underneath it that was written by the old guard using arcane sorcery. The whole thing is a mess

3
slrpnk.net

Next step, bind them to unused keys on your keyboard and press them in the right order

17

i propose to create a menu in which you can define what batchfiles to run in what order. its been a while since i worked with batch files, but if memory serves right, that should be doable, no?

6

Yes. You could make menus and capture keystrokes in batch files

My autoexec.bat back in windows 3 asked if you wanted windows or a command line (most games didn't like the memory overhead of being loaded from windows)

1
katy ✨reply
lemmy.blahaj.zone

only if they keep the it room as dark as possible and whenever someone walks in for help they jump up onto the desk with a flashlight and yell "I'M BATMAN' while wearing a cape and underpants.

3

Well I work from home so I do keep my room dark, I like to have a blanket over my shoulders, it's not uncommon for me to just be in my underwear... Honestly I'm most of the way there

1
lemmy.blahaj.zone

I had a job like that and powershell was a godsend. I let it slip when I accidentally set the multiplier for the delay randomiser too low and it did a months work in a morning. I ended up writing a guide for the others there when I left but sadly everyone but me had computers that supported newer versions of Windows where the scripts ended up broken. They asked me to come back and update it the Monday after I left. I asked if they would pay me to do it. They said no. Then I said no.

11

This is part of why I still have manual kickoffs for mine. Never need to worry about work getting done while I'm away or getting done suspiciously fast. Also they should have paid you lol, the dingdongs. Would cost a lot more just in work lost having someone else spend time deciphering and fixing it. They could always get someone else up to speed with the system after it is fixed by you so there's little or no down time

2

Or to play the demo made by the warez group that cracked it before launching the game.

6

I still use bat h files and the system scheduler to automate a shocking amount of my job.

5
swg-empire.de

I guess we now have a timeframe in which to expect the release of Windows.

75
Björnreply
swg-empire.de

I wonder if this is of any use to them or if they're already too far ahead.

18

To my knowledge, FreeDOS has been a fairly complete implementation of DOS for a very long time, so this is probably not useful to them.

28

Good question lmk if you find the answer. I just use FreeDos to play Chex quest

6
psudreply
aussie.zone

They couldn't use it. MS DOS is released under a licence that restricts redistribution

0

MS-DOS, Source public available on March 25 2014 with MS Research License, released with as Free Software MIT license in 2018, this yer released as Open Source MS-DOS 4.0. Anyway, the Source code was available since 2014, only different licenses since then.

49

Probably Microsoft is trying to "save" some of its reputation after adding ads to Windows 11 one more time

12

They probably only got clearance from their lawyers (or IBM's lawyers) just now.

A lot of proprietary software includes bits from other proprietary software that they don't have the rights to open-source. And untangling and removing those bits takes time and effort.

5

Pretty soon they'll need to change the name to HipsterDOS.

FreeDOS before it was cool.

1
lemmy.ml

Cursive writing is the best way to build a race track.

34
Samsyreply
lemmy.ml

Idk, maybe fork it under the name MS-DOSNT

97

Use it to program an functional DOS emulator for MacOS 8?

7

So cool, thanks. As a kid I spent so much time in DEBUG, stepping through DOS's executables, and especially the Interrupt handlers. It's so neat to see the actual source code-- way easier to read and follow. I didn't know it was all written in assembly, from within Debug it sometimes seemed so messy and convoluted that I just assumed more was written in C.

32
lemmy.ca

Look at them, embracing open source like this, how wonderful.

32

I'm sure the only reason why they waited this long is that they needed to make sure it's old enough that the companies they stole code from can't sue.

37
lemmy.today

Can't wait for the OSS community to fork it and build some cool shit on top of this /s

14
lemmy.world

Well, this should be incredibly useful for Dosbox and improving playability of retro games, right?

5

Perhaps, if there are some very specific compatibility issues that haven't been solved yet.

That said, MS-DOS 4 isn't even the most recent version, the last one was 6.22 to my knowledge, and IIRC a lot of games tended to require at least version 5 or 6.

4

2 things, the project exists and is called ReactOS. 2nd, the kernel in the versions of Windows anyone thinks about is the NT kernel which they will never release to be open source. The NT Kernel was built specifically so that they didn't have to use DOS to make Windows work.

1

They sure are extinguishing any posible fear I may have about the absolutely destroying anything beautiful.

8
figaroreply
lemdro.id

Question - did you delete your comment less than an hour after posting it? Or am I seeing that as some kind of glitch in the Sync app?

To me, your comment just says "deleted by creator."

2

This one lasted at least 11 hours ¯⁠\⁠(⁠◉°◉⁠)⁠/⁠¯

Good decision in the long run I suppose

1
lemmy.ml

Where is the ctrl+alt+del function defined? I just want to see what made that sequence work. I'd also be interested in where ctrl+break is defined.

23
mkwtreply
lemmy.world

Ctrl+alt+delete was a separate interrupt line direct from the keyboard. That is, when you pressed the three keys, the interrupt signal was asserted, causing the CPU to jump to the interrupt service routine, which should be in the source code package.

36
billgameshreply
lemmy.ml

is it in the source code, or is it just passed right to BIOS?

2
lemmy.ml

!remind 10 years when they will release the source code of Windows 3.0 for non-commercial use

(3.11 will take another 10 years)

19

Not gonna happen, windows probably still has 3.0 code deep beneath the tape holding things together now

13
xavier666reply
lemm.ee

Should have just before the heat death of the universe (if we are lucky)

8
lemmy.world

I think nobody wants that. I can think of a better way to fuck up your hardware and it pulls nails too.

Microsoft....you keep it. We good.

1
lemmy.world

Would this have Bill’s code in it ? Or was he off the shop floor by then ??

17
nomousreply
lemmy.world

I'd be surprised if Bill had written anything substantial in decades tbh.

13
lemmy.world

Windows is just shit piled on top of shit and sold as something new. It's so bloated so they can maintain backwards compatibility. So original code is definitely in Windows 11.

3

Ever hear of Windows NT? Legacy DOS code was relegated to userspace long ago. And NT was designed by Dave Cutler, the guy who designed VMS and RSX-11. Most certainly not "shit piled on top of shit." Unix could have learned a thing or two from Dave but by then it was too late; the plane had very much taken off.

4
sh.itjust.works

😂 that would be funny. However, windows stopped using DOS as a boot mechanism around the XP era As far as I'm aware anyways

-2

You're thinking of Shit Jobs, the FruitCo charlatan. Gates' pancake sort algorithm held the speed record for 30 years.

10

How much you wanna bet that a select few turbo-nerds are racing to debug it or something.

15
lemmy.world

Is this useful for hobbyists besides poking around and seeking the design philosophy at work back then?

Like would there be any advantage or reason to implement this in a home project? For example maybe that it's lightweight and has some rare compatibility or anything like that?

13
vext01reply
lemmy.sdf.org

I think its interesting from a historical perspective.

I imagine people will examine the code, find easter eggs, bugs, unknown features, amusing comments etc.

I look forward to seeing what is found.

32
Auxreply
lemmy.world

It is useful if you want to learn how to create an OS from scratch as a hobby. Modern open source systems like Linux are ridiculously complex and studying Linux kernel code is not something a newcomer should do. Studying old and simple systems like MS DOS is a better alternative, which will help you grasp the basics of how OS functions. And once you have these basics, you can move on to more complex systems.

10
bigredcarreply
lemmy.world

There are a lot of decades old embedded systems out there. Every so often you hear about a big company still relying on floppy disks and other old tech, including major railways and airplane companies. Having the source code will help with debugging better than having to disassemble or other reverse engineering.

10
lemmy.ca

MS-DOS 1.25, 2.0 were release years ago, your title should specify 4.0

9
macreply
infosec.pub

It's the built-in browser for sync for Lemmy on android

1

Which is a chromium instance. I would use mull with UBO and noscript.

1

Thanks, I was looking exactly for thst !

It will be great to know exactly what happens when you make the function calls.

I have been very curious to know how they wrote the InStr VB6 function. I hope it's somewhere in there !

3
Lowpastreply
lemmy.world

Soke vrsions of DOS used a VCS named Source Library Manager, SLM, aka Slime. Later, it became Microsoft Delta, and eventually SourceSafe, then they switched to SourceDepot, which was a flavor of Perforce.

16
sh.itjust.works

So not 3? Why not, because it was the most successful or something? 🤷

Plus I never even heard of 4 before. I'm going to have to look that up.

Bah, I was thinking of windows. I need to get some sleep.

5
davidgroreply
lemmy.world

As far as Windows goes, 95 was actually version 4.00.950 for the first version.

98 was 4.1, 2000 was 5.0, XP 5.1, Vista 6.0, 7 was 6.1, 8 was 6.2, 8.1 = 6.3

Then they jumped to 10 in both the name and internal version.

Windows 11 is still 10.0.x though.

6
Auxreply
lemmy.world

You're forgetting NT family, there was Windows NT 4.0.

3

Why not release 6.22 and be done? It was the last one before switching to dos 7/8 (as part of windows 9x).

DOS 5 and 6.x were only released a couple of years later than DOS 4, and DOS 6.22 was declared obsolete by Microsoft on 31 Dec 2001. Still over 30 years ago.

3
Lunareply
lemdro.id

Probably yeah, but now they've officially released it under the MIT license so stuff like Wine could now potentially borrow some code to improve compatibility with Windows

26
capitalreply
lemmy.world

That thought occurred to me but is code this old even still relevant at all?

I ask this as someone who writes simple scripts and would never call themselves a coder.

9
Lunareply
lemdro.id

For the most part probably not, but Microsoft cares a lot about backwards compatibility so I imagine some of this code still lives on in Windows

Though you should take this with a grain of salt, since I'm saying this as someone who 1. never looked at Wine source code 2. used the Windows API only once, for a very small program 3. is still learning programming, so I wouldn't call myself a coder (yet) either

5

yeah there are even still some remaining windows 3.0 dialogues used in the latest win11

2

As someone with an IBM PS/1 running 4.0, I'm excited to be able to modify it, distribute it, etc

2

reminds me of the last time I had to remember that dir/copy/move with backslashes. dad's insurance 'software'. always amazed me how computer users get stuck in a way of doing things. print mail

1
kbin.social

Who the hell writes stuff like this in asm, honestly? Hasn't C been around since like the 70s

-12
amiganreply
lemmy.dynatron.me

"Who the hell" writes an OS in assembler in the 80s? Uh, some of the utilities are in C, but compilers were slow and generated slow code back then, and it was quite noticable on a slow machine. When every byte of memory counts, you often need to hand-optimize.

31
billgameshreply
lemmy.ml

My DOS computer from the 90s is sluggish with some of the more complex hand-written assembly things. C and UNIX were for powerful multi-user uses.

Roller Coaster Tycoon was written in assembly for optimization too.

7

The Amiga's OS was written in 68k asm and BCPL (C's grandfather) for the kernel, and C was used for the utilities and GUI. But this was considered quite ahead of its time for a single user micro.

2
lemmy.world

Even today some parts need to be written in assembly, like context switches.

5