This is a deep dive on what is necessary to get Linux on the 68000-based Atari Jaguar. No specialized hardware/flash carts. All runs within the original hardware vision (2 megabytes of RAM) and gets to a Busybox shell. Linux repository with the changes: https://github.com/cakehonolulu/linux_jag
I've actually thought of that, but the memory space is so limited that I feel it'd be impossible. Also considering the fact that no official memory banking solutions exist for the Jaguar... maybe it'd be an interesting technical challenge to have a custom mapper that can do both ROM and RAM.
On of the few things where getting Doom to run on it wouldn’t be that cool. But I love the post, except for the part where you reminded me I was old by acting like no one remembers that thing.
Still occasionally bring out my old jaguar for Alien vs Predator to try and remember what the excitement was all about, but as to putting Linux on it, amazing effort, but I think I'm going to pass :-)
Not that I blame you... in comparison with pretty much the rest of cartridge-based systems, the available flash cart is priced higher (And AFAIK no DIY open-source ones exist). AvP is one of the best games to play on the system, it was future technology at the time it came out.
The pro move would be getting the Jaguar development tools with their assemblers for the GPU (yes, the Jaguar had a GPU) and the DSP up and running. With just the 68000 it's kind of a glorified Atari ST as a console.
I think it could be feasible (Like, embedding the utils), but I'm not too sure how I'd handle the "upload" of the RISC code for the Tom (While at the same time it's driving the Linux console) and similar...
We used to use the blitter for that and then there was a memory location to write to to initiate execution of what was uploaded. The Jaguar developer docs are available online if you haven't seen them.
Once the GPU or the DSP was running. You could then chain overlays together by running to a location in the GPU itself from which you called the blitter to upload the next segment and then you could just jump to its first instruction. I believe later compilers enabled just running the GPU from main RAM but it has been decades.
It was unwittingly extremely useful mental preparation for programming in cuda a decade later.
Ah yes, I'm more worried about the actual limits of what the combination of Linux + the initramfs can let us do (Memory wise, mostly).
In theory it should be feasible but I'm not too sure how you'd "adapt" the way of doing things within Linux; the environment is very limited and I can't think of a way to cleanly make the Tom more "accessible" (While again, Tom is already executing the object lists to drive the Linux console). Doesn't help that it'd need additional afterthought not to trip it up with one of the many hardware erratas both Tom & Jerry had...
Absolutely! You could possibly develop a custom mapper that provides extra RAM (I guess memory bank switching would need to happen) plus the ROM but as far as I'm aware it's not available.
> Overall, it got lots of traction commercially; it ....
Before ARM the m68k was possibly the most deployed processor architecture in history. In the late 1990s it was in printers, cars, personal digital assistants, erc, as well as all the home computers, arcades and unix workstations it found it's way into in the 1980s and early 1990s.
It's sucessor, the Coldfire, could have taken ARMs place...
Probably this is the reason it's still in the Linux source tree!
Also, between m68k and ARM there was PowerPC. It got used a lot in embedded systems. Because “the newer the car, the more microprocessors it has”, chances are it got used more than m68k.
FWIW, Google’s AI gives me:
- for the m68k: “industry analysis and historical data indicate that hundreds of millions of units were produced across the architecture's lifespan”
- for PowerPC: “By 2008, Freescale Semiconductor had already shipped over 100 million Power Architecture-based MCUs for automotive powertrain management alone. Hundreds of millions more have since been produced for networking, industrial automation, and aerospace applications.”
- for the 8051: “according to industry accounts and semiconductor historians, the cumulative production of 8051-based microcontrollers is estimated to be on the order of billions to tens of billions of units”
About a minute and a half. It varies by 2~ seconds at most. Could possibly be related to how Linux does the calibrate_delay() stuff? (And well, I'm also not too sure on how deterministic it's supposed to be in terms of time).
I'm awaiting some screenies from a peer that has the flash cart for the Jaguar; don't worry, they'll get added! I have both the Jaguar and the Jaguar CD but don't have the flash cart...
This is a deep dive on what is necessary to get Linux on the 68000-based Atari Jaguar. No specialized hardware/flash carts. All runs within the original hardware vision (2 megabytes of RAM) and gets to a Busybox shell. Linux repository with the changes: https://github.com/cakehonolulu/linux_jag
Might be fun to run this as a barebones router.
I've actually thought of that, but the memory space is so limited that I feel it'd be impossible. Also considering the fact that no official memory banking solutions exist for the Jaguar... maybe it'd be an interesting technical challenge to have a custom mapper that can do both ROM and RAM.
On of the few things where getting Doom to run on it wouldn’t be that cool. But I love the post, except for the part where you reminded me I was old by acting like no one remembers that thing.
But… there was a commercial port of Doom to the Jaguar.
It had me looking up the specs for the Atari Lynx II that I had as a kid in lieu of a more popular handheld.
Heh. I had already been programming for 28 years when it came out.
Wow, i recognized the 68000 before i even saw the caption. That little chip sure powered a lot of different things back then.
Still occasionally bring out my old jaguar for Alien vs Predator to try and remember what the excitement was all about, but as to putting Linux on it, amazing effort, but I think I'm going to pass :-)
Not that I blame you... in comparison with pretty much the rest of cartridge-based systems, the available flash cart is priced higher (And AFAIK no DIY open-source ones exist). AvP is one of the best games to play on the system, it was future technology at the time it came out.
I see, this would've been totally rad in 1994:
https://www.youtube.com/watch?v=PlhrLC4cL2Y&t=1856
(Not a good player, though)
Surely I must have seen someone do this already on Slashdot like 25 years ago. Cheers for using a recent kernel though, that's neat.
Hi! Thanks! Though' I must say that it also helped lots that there's still m68k (Heck, even base 68000) arch code on upstream Linux...!
The pro move would be getting the Jaguar development tools with their assemblers for the GPU (yes, the Jaguar had a GPU) and the DSP up and running. With just the 68000 it's kind of a glorified Atari ST as a console.
I think it could be feasible (Like, embedding the utils), but I'm not too sure how I'd handle the "upload" of the RISC code for the Tom (While at the same time it's driving the Linux console) and similar...
We used to use the blitter for that and then there was a memory location to write to to initiate execution of what was uploaded. The Jaguar developer docs are available online if you haven't seen them.
Once the GPU or the DSP was running. You could then chain overlays together by running to a location in the GPU itself from which you called the blitter to upload the next segment and then you could just jump to its first instruction. I believe later compilers enabled just running the GPU from main RAM but it has been decades.
It was unwittingly extremely useful mental preparation for programming in cuda a decade later.
Ah yes, I'm more worried about the actual limits of what the combination of Linux + the initramfs can let us do (Memory wise, mostly).
In theory it should be feasible but I'm not too sure how you'd "adapt" the way of doing things within Linux; the environment is very limited and I can't think of a way to cleanly make the Tom more "accessible" (While again, Tom is already executing the object lists to drive the Linux console). Doesn't help that it'd need additional afterthought not to trip it up with one of the many hardware erratas both Tom & Jerry had...
It should be possible to build a custom cartridge to use some of that 8MB address space for RAM.
Absolutely! You could possibly develop a custom mapper that provides extra RAM (I guess memory bank switching would need to happen) plus the ROM but as far as I'm aware it's not available.
> The Motorola 68000
> Overall, it got lots of traction commercially; it ....
Before ARM the m68k was possibly the most deployed processor architecture in history. In the late 1990s it was in printers, cars, personal digital assistants, erc, as well as all the home computers, arcades and unix workstations it found it's way into in the 1980s and early 1990s.
It's sucessor, the Coldfire, could have taken ARMs place...
Probably this is the reason it's still in the Linux source tree!
> Before ARM the m68k was possibly the most deployed processor architecture in history
My money would be on something smaller such as the 8051 (https://en.wikipedia.org/wiki/Intel_MCS-51)
Also, between m68k and ARM there was PowerPC. It got used a lot in embedded systems. Because “the newer the car, the more microprocessors it has”, chances are it got used more than m68k.
FWIW, Google’s AI gives me:
- for the m68k: “industry analysis and historical data indicate that hundreds of millions of units were produced across the architecture's lifespan”
- for PowerPC: “By 2008, Freescale Semiconductor had already shipped over 100 million Power Architecture-based MCUs for automotive powertrain management alone. Hundreds of millions more have since been produced for networking, industrial automation, and aerospace applications.”
- for the 8051: “according to industry accounts and semiconductor historians, the cumulative production of 8051-based microcontrollers is estimated to be on the order of billions to tens of billions of units”
How long does it take to boot?
About a minute and a half. It varies by 2~ seconds at most. Could possibly be related to how Linux does the calibrate_delay() stuff? (And well, I'm also not too sure on how deterministic it's supposed to be in terms of time).
Honestly not that far off from my 486 DX2/66 back in the day
Am I the only one who clicks on these kind of articles holding out hope to see the glimmer of Linux on an actual CRT from composit outputs?
But it's always just screen shots from an emulator...
I'm awaiting some screenies from a peer that has the flash cart for the Jaguar; don't worry, they'll get added! I have both the Jaguar and the Jaguar CD but don't have the flash cart...
Very neat!