Discuss Scratch

JackAndFreinds
Scratcher
28 posts

Runing Windows 1.0

I think its possible to run Windows 1, since scratchs max size is 5mb, windows 1 is 3mb and msdos 3 is 100kb
1RocK0StaR1
Scratcher
100+ posts

Runing Windows 1.0

Ooookay?
cs2861142
Scratcher
100+ posts

Runing Windows 1.0

Although Windows 1 technically fits within Scratch 3.0's size limits, converting and running the code in Scratch is impractical, if not impossible. That's a good observation, though.
8to16
Scratcher
1000+ posts

Runing Windows 1.0

cs2861142 wrote:

(#3)
Although Windows 1 technically fits within Scratch 3.0's size limits, converting and running the code in Scratch is impractical, if not impossible. That's a good observation, though.
it's possible, we literally got linux running in scratch, which is much larger
Jonathan50
Scratcher
1000+ posts

Runing Windows 1.0

cs2861142 wrote:

Although Windows 1 technically fits within Scratch 3.0's size limits, converting and running the code in Scratch is impractical, if not impossible. That's a good observation, though.
Yes so you probably wouldn't do that, instead you'd write a 16-bit x86 PC emulator in Scratch with CGA video etc. (not sure if Win1 requires 286/protected mode, probably 8086/real mode is good enough). Then you can run MS-DOS and other 16-bit PC operating systems.

[offtopic]But since you bring it up, it would be a bit more work but theoretically we could transpile instruction sets (x86, RISC-V) to Scratch and get it to work with the other machinery of an emulator (memory, regs, everything except instruction decoding/execution), and it'd be somewhat faster than an emulator. Basically like a JIT emulator, but ahead-of-time instead of just-in-time. (Handling jumps would be a pain; you can't just translate something to a straightforward stack of Scratch blocks. When I wanted to go about something similar with Scheme, then @bobbybee suggested translating to a hardcoded binary search of nested if/elses on the program counter; jumps would take log time, which is not great since they should be instant (of course better than linear); but IDK if any Scratcher has had a better idea.) Of course that wouldn't work for anything with self-modifying code, or any operating system (since it needs to load programs), unless you use AOT compilation just where possible, and proper emulation when you jump to addresses that are actually in memory, but the gains of that wouldn't be so great and it'd be twice the work. [/offtopic]

If somebody theoretically did this (and made a video or something) it'd be pretty awesome to see, but of course it's pretty hard to get Win1 without piracy (it's sad when you don't live in the US and want old tech but you'd have to pay for eBay international shipping) and you can't redistribute it on Scratch.

Last edited by Jonathan50 (Dec. 7, 2024 23:44:18)

davidtheplatform
Scratcher
500+ posts

Runing Windows 1.0

Jonathan50 wrote:

Handling jumps would be a pain; you can't just translate something to a straightforward stack of Scratch blocks
This is sort of possible, although it tends to cause freezes/crashes and usually doesn’t work in turbowarp. The jumps also have to be hardcoded, you can’t choose where to jump at runtime.

Last edited by davidtheplatform (Dec. 8, 2024 04:00:20)

LukasDoesCode
Scratcher
59 posts

Runing Windows 1.0

Run DOS
Install Windows 1.0
Upgrade to Windows 3.1
Upgrade to Windows 98
Upgrade to Windows 2000
Upgrade to Windows XP
Keep going until you have Windows 11 in Scratch

BigNate469
Scratcher
1000+ posts

Runing Windows 1.0

LukasDoesCode wrote:

Run DOS
Install Windows 1.0
Upgrade to Windows 3.1
Upgrade to Windows 98
Upgrade to Windows 2000
Upgrade to Windows XP
Keep going until you have Windows 11 in Scratch

You would need a bit more than the 5MB Scratch gives you for the project.json to do that

*Tries to open Copilot* *computer crashes from trying to run a LLM in a Scratch project*
davidtheplatform
Scratcher
500+ posts

Runing Windows 1.0

LukasDoesCode wrote:

Run DOS
Install Windows 1.0
Upgrade to Windows 3.1
Upgrade to Windows 98
Upgrade to Windows 2000
Upgrade to Windows XP
Keep going until you have Windows 11 in Scratch

This isn't possible. There's at least one break in the chain where upgrading isn't possible (I don't think 1.0 -> 3.1, 3.1 -> 95, or 98 -> NT4 are possible). Maybe if you started at NT4 this would work in a VM, but it still wouldn't work in scratch.
PIXEL_BY_PIXEL_ERROR
Scratcher
100+ posts

Runing Windows 1.0

it has been accomplished (almost) by Dom_games.
ninjaMAR
Scratcher
1000+ posts

Runing Windows 1.0

PIXEL_BY_PIXEL_ERROR wrote:

(#10)
it has been accomplished (almost) by Dom_games.
would be helpful if you linked to the project
JackAndFreinds
Scratcher
28 posts

Runing Windows 1.0

PIXEL_BY_PIXEL_ERROR wrote:

it has been accomplished (almost) by Dom_games.

You mean this? https://scratch-mit-edu.ezproxyberklee.flo.org/projects/524676343/, That is just a recreation, look inside.

Powered by DjangoBB