Live data from Hacker News

Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

cakehonolulu.github.io

21–30 of 33 posts

Re: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

#21
post #16

For those unfamiliar with the Hitachi SuperH architecture, imagine THUMB. ARM even had to license some of the patents from Hitchai when they developed THUMB. SuperH architecture is not the same thing as THUMB, but it has a lot in common, mainly use of 16-bit instructions, and instructions that only specify two registers rather than three. But it also has some RISC jank of the era, such as branch delay slots.

> 16-bit instructions, and instructions that only specify two registers rather than three

These are not strange design features. I'm surprised they were patented? For example, most non-SIMD x86 instructions are two-operand. The trade-off between two-operand and three-operand has been known for a long time. (Shorter instruction encodings, but sometimes you need more instructions)

Re: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

#22

Earlier quoted context omitted.

Hi! Nice to see you here. Yes so, this was tested within a software context; the ASIC that does the bus arbitration on the side of the 32X has some of the required pins as N/C. They do a much more interesting deep-dive on the link you added. I initially thought the 68000 side /UWR & /LWR pins were wired to the complimentary 315-5818 ones (Since there wasn't any apparent difference between the pinouts of both). This m…

I was actually thinking, if memory is the bottleneck; I could always go with the Saturn instead (Or find a way to have the 32X catridge writes go through…; but I’m no EE unfortunately). I do recall having a RAM expansion cartridge in mine that could possibly be used to fit more stuff if the main 2MBs it had were too little to hold Linux. You got me thinking…

Yeah, the Saturn is probably the more practical target. The SH-2s are clocked a little faster, the memory bus is 32-bit wide and there's an off-the-shelf 4MB RAM expansion cartridge. There's also a readily available, first-party PS/2 keyboard adapter (this adapter can also be used on the MD, but you need a custom passive adapter since they switched connectors).

> Good thing is, this is actual Linux (And not uCLinux) so there's still stuff that can be disabled further if for some reason it can't fit still on the available memory.

Doesn't actual Linux require an MMU?

Re: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

#24

Earlier quoted context omitted.

I was actually thinking, if memory is the bottleneck; I could always go with the Saturn instead (Or find a way to have the 32X catridge writes go through…; but I’m no EE unfortunately). I do recall having a RAM expansion cartridge in mine that could possibly be used to fit more stuff if the main 2MBs it had were too little to hold Linux. You got me thinking…

Yeah, the Saturn is probably the more practical target. The SH-2s are clocked a little faster, the memory bus is 32-bit wide and there's an off-the-shelf 4MB RAM expansion cartridge. There's also a readily available, first-party PS/2 keyboard adapter (this adapter can also be used on the MD, but you need a custom passive adapter since they switched connectors). > Good thing is, this is actual Linux (And not uCLinux)…

It does require an MMU technically, this kernel is built with that in mind but I see no mention of uCLibc whatsoever on the kernel log (Or that I remember out of all the files I saw open). I’ll see if I can pinpoint exactly what it is.

Re: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

#25

Earlier quoted context omitted.

Hi! Nice to see you here. Yes so, this was tested within a software context; the ASIC that does the bus arbitration on the side of the 32X has some of the required pins as N/C. They do a much more interesting deep-dive on the link you added. I initially thought the 68000 side /UWR & /LWR pins were wired to the complimentary 315-5818 ones (Since there wasn't any apparent difference between the pinouts of both). This m…

I was actually thinking, if memory is the bottleneck; I could always go with the Saturn instead (Or find a way to have the 32X catridge writes go through…; but I’m no EE unfortunately). I do recall having a RAM expansion cartridge in mine that could possibly be used to fit more stuff if the main 2MBs it had were too little to hold Linux. You got me thinking…

Careful, or at this rate you'll end up running Linux on the Sega Saturn's 68000.

Re: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

#26
post #8

Earlier quoted context omitted.

Hi! I'm basically forwarding UART data from the SH2s over to the M68K using a simple communication channel. Since the SH2s don't really have "direct" access to the Genesis's I/O port (They have TTL UART which caps at 4800 bps) I need this precise schema to have output. Technically speaking it should be simple enough to wire RXD too so you can interact with it. I saw some keyboard prototypes for the Genesis online (Wh…

As a semi silly (But also possibly pragmatic, if we want to do this for more than simple 'fun') question... I wonder what it would take for projects like this, to take the video output and turn it into a (possibly not-visually-usable) jankhacked data output stream that could then be decoded? I mean, there's a lot of hand-waving there (i.e. it would only be output which could complicate ease of using it practically) O…

This is how Lumacode works, for home computers and consoles that don't have a digital display output. It encodes data in brightness levels of the composite video signal that can be reconstructed on the other end. An example: https://github.com/c0pperdragon/LumaCode/wiki/VIC-II-dizer-(...

Re: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

#29

"Didn't have the time at that moment to file a bug report" Because you were busy working on that so urgently needed port of Linux to the Sega 32X?

Aha! You got me ;)

Banter aside; I was basically on a tunnel-vision/nerd-snipe/however you want to call it to get it to run; GCC report is still coming. It’s just that I’ve never sent out (a report) to them (gcc) and wasn’t really sure how to proceed (Even though they give out a pretty step-by-shep guide) so I wanted to finish the bringup and then try to make some easy reproduction code (That’s not compiling Linux, that is).

I actually have a comment on GH from one of the many cool people that’s (I think?) maintaining the GCC backend for SuperH.

TL;DR: It’s coming.

Re: Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?

#30

Do I have to get Linux running on my SORD M68MX now? (I actually planned to do this but unfortunately there seems to be a hardware issue and it seems to inside an irreplaceable ASIC :()

Yes. It's a moral imperative. :-)

Hate to hear about your ASIC issue. I have too many boxes sitting idle because some custom bit of semiconductor has gone wonky with no way to replace other than cannibalism.

Post reply on HN