I hope this is the right space for this question...
Has anyone successfully built and run a Linux kernel for the Sega Dreamcast? There is that old 2.4.5 kernel and related Debian distribution that floats around the homebrew sites and that works. But has anyone ever built a more recent (or any) kernel from scratch that runs?
I have put some effort into this as outlined in this post:
http://multimedia.cx/eggs/notes-on-linux-for-dreamcast/
I can build a kernel but I can't make it run. Actually, I don't really know that it's not running at all. Perhaps execution reaches a certain point but can't go any farther because of other issues, while the framebuffer is not hooked up so that I don't get any visual feedback.
Thanks.
Modern Linux Kernels
-
- DC Developer
- Posts: 35
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Thu Mar 17, 2011 11:57 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
- Quzar
- Dream Coder
- Posts: 7498
- Joined: Wed Jul 31, 2002 12:14 am
- Location: Miami, FL
- Has thanked: 4 times
- Been thanked: 10 times
- Contact:
Re: Modern Linux Kernels
I don't know anything about compiling the Linux Kernel, but the DC's chip is part of the 7550 series. The exact model number *is* 7091 (or 7091R depending on the manufacture date), but that is simply the proprietary flavor that reflects the exact model. As far as I know, the differences are all either physical or in added features/connections for external devices, etc. (for instance the exact workings of the DMAC).
If I can find where I posted it before (and you're interested) I'll toss in an email chain between myself and a SuperH employee which somewhat backs this.
If I can find where I posted it before (and you're interested) I'll toss in an email chain between myself and a SuperH employee which somewhat backs this.
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
-
- DC Developer
- Posts: 35
- Joined: Thu Mar 17, 2011 11:57 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
Re: Modern Linux Kernels
Thanks for the reply. I wager that minor model number variations probably don't matter that much. However, I did notice that the DC is supposed to be a SH-4a. gcc has different compiler options for that (-m4a vs. -m4). Maybe I'll see if I'm lucky enough for that to male a difference.
Realistically, I'll probably need to dig down deep to make this work, finding a way to debug various stages.
Realistically, I'll probably need to dig down deep to make this work, finding a way to debug various stages.
-
- DCEmu User with No Life
- Posts: 3641
- Joined: Sat Feb 16, 2002 1:55 pm
- Has thanked: 0
- Been thanked: 0
Re: Modern Linux Kernels
It's not SH-4A, but the original SH-4 (SH7750) family. SH-4A is the SH7780 family, which wasn't out until ca. 2004.
For feedback, I'd guess that a serial console would be the way to go, since (IIRC) Dreamcast's serial port is just the SH-4 serial port which should have a Linux driver. If you can find the appropriate place(s) to put it, you could also try writing values to 0xA05F8040, which sets the backdrop color for the RAMDAC (it's a 32-bit register; see this page). That wouldn't give you much information, but might let you get a sense of how far it's getting (assuming it's visible on your TV/monitor).
For feedback, I'd guess that a serial console would be the way to go, since (IIRC) Dreamcast's serial port is just the SH-4 serial port which should have a Linux driver. If you can find the appropriate place(s) to put it, you could also try writing values to 0xA05F8040, which sets the backdrop color for the RAMDAC (it's a 32-bit register; see this page). That wouldn't give you much information, but might let you get a sense of how far it's getting (assuming it's visible on your TV/monitor).
"You know, I have a great, wonderful, really original method of teaching antitrust law, and it kept 80 percent of the students awake. They learned things. It was fabulous." -- Justice Stephen Breyer
-
- DC Developer
- Posts: 35
- Joined: Thu Mar 17, 2011 11:57 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
Re: Modern Linux Kernels
Thanks for the suggestions. Changing the overscan color sounds workable. I've had to do things like that before (e.g., indicating code status through a series of LEDs).