Radius Full Page Display for Macintosh 512ke/Plus - Cloning project possibilities?

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
Looks like my rotation concept proved:

The LCD​

The final size was always going to be determined by the LCD panel which needed to be able to display the 512px x 342px screen buffer. I eventually settled on the smallest 640x480px LCD I could find at a sensible price which was a 2″ TFT panel . Unfortunately it transpired it was technically 480x640px i.e. portrait. I assumed using in landscape would be trivial but I was wrong. The driver being used on the panel (the ST7701S) offers no image rotation function so the only option would be to rotate the frame buffer on the Pico. The problem was that the Pico was already being seriously overclocked to make pico-mac responsive so there just weren’t a lot of processor cycles to spare.

I looked at using one of the spare PIO state machines to rotate the frame buffer but I couldn’t find a way to make that work. In the end I took a step back and looked at a different approach. In its native portrait orientation, the LCD panel I had was 480px across. This was only 32px (1/16) less than the Macintosh screen width of 512px, which might be an acceptable compromise, so I tried getting the PIO that outputs the image data to drop every 16th pixel. This worked … sort of … but the result was unsatisfactory due to the common use if 1px wide vertical lines on the Mac interface such as window borders which would completely disappear at times. What I needed to do was make the emulator output a 480px wide image natively and this meant altering the Macintosh ROM file it uses.

I went about this all the wrong way but eventually managed it and compiled a version of pico-mac that outputs 480x342px … I was back in business. This compromise on resolution had a silver lining. Because I was now running the Mac screen across the full width of the LCD in portrait orientation, it meant the visible screen area was now smaller and that meant the Macintosh could be slightly smaller. It also solved the problem of having to factor in space for wide black margins on either side of the LCD which would have been necessary had I put a 512px wide image on a 640px wide LCD. It also meant the LCD flex cable was located at the bottom, not the side of the LCD so I would not have to bend it tightly.

Apart from an SPI interface to configure the LCD driver, the panel uses RGB565 (5 bits for the red and blue, and 6 for green) for the image data. That’s 16 data bits which was way more than I had available on the Pico. Fortunately, the original Macintosh had a black and white screen. It did not even support shades of grey. So I actually only needed to send one of two signals; all data bits high or all data bits low, and this could be done using the existing RGB data line provided for the pico-mac VGA out. I ran this past Matt but he said he didn’t think a single GPIO could drive that many inputs without using buffers so I began working on adding logic buffers to my PCB design.

In the end I didn’t need to because the backlight on the LCD panel is so bright, I found that only setting the most significant bit of each colour high still produced a bright enough image. Due to the asymmetry of RGB565, I found this gave a reddish tint but this disappeared if I drove the top two bits of each colour and gave be 50% more brightness. That is what I settled on and I have experienced no problems driving these 6 input lines from the same GPIO.

________________________________________________________________________

Seems like his initial approach to going from portrait to landscape mode for his LCD should work. He went with a different approach which worked out very nicely, reducing the size of his Pico-Mac-Nano. I'll have to take pics of my sketches illustrating the first iteration to post.

Capturing the full frame buffer and stripping the "Portrait Mode" pixels out of the buffer at right angles would yield a nicely rotated "Landscape Mode" input of the frame buffer to the LCD I'd think. Then Rotate LCD.

I'd like to build rotation hardware into the FPD card clones.
 
Last edited:

jmacz

Tinkerer
Mar 21, 2025
35
25
18
Interested in what you figure out.

I have been unable to find a reasonable portrait display and card for my stock SE, whether due to brokenness or asking price.

I was hoping to hack my own solution using a rotated LCD and a RGBtoHDMI, using black crop bars and a custom 3d printed bezel, but the RGBtoHDMI cannot rotate the image on the fly, so I had stopped as I don’t have the knowledge required to design something new.
 

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
Thanks for chiming in! I wind up talking to myself in these threads. :(

As you'll see below (hopefully) the scanline output orientation of Radius' FPD boards is unsuitable for using a standard LCD. I've found only exceedingly expensive solutions for the rotation of Hi Definition Video and the like. I figure rotating only 640x864 single bit pixels ought to be "easily" done. LOL!

Couldn't find the original, so cobbled this diagram together at work in downtime tonight. I think the presentation is a bit better, maybe?

Scanline-Rotation-00.JPG


Dunno what panels might be available for a custom build. Been thinking that my 1024x768 or 1280x 1024 panels might work out nicely in FPD mode? In the 1280 panels, DVI connector input appears ubiquitous. Keeping everything digital (DVI-D) would seem to be the ticket.

Scaling to utilize the full panel would be perfect, but haven't gotten around to looking at that as yet. I've got an Extron Scaler, but dream is to do scaling with the same hardware used for stripping out the captured frame buffer. Everything should be built into the FPD Card Clone.
 
Last edited:
  • Like
Reactions: JDW

jmacz

Tinkerer
Mar 21, 2025
35
25
18
I was thinking 1024x768 which would fit the 640x870 resolution well at 1:1 when rotated, with crop bars (77 pixels on each side and 64 pixels top and bottom) without scaling and cover up the crop bars with a bezel. 1280x1024 would need scaling or have huge crop bars.

I had looked for panels with built in rotation but couldn’t find any.
 

jmacz

Tinkerer
Mar 21, 2025
35
25
18
I might have searched for the wrong thing, there are some panels that are native portrait mode, for example saw one at 800x1280.
 

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
Interesting, bare panel/controller or full on display? I've been thinking inexpensive/obsolescent displays.

I was thinking 1024x768 which would fit the 640x870 resolution well at 1:1 when rotated, with crop bars (77 pixels on each side and 64 pixels top and bottom) without scaling and cover up the crop bars with a bezel.
That's exactly what I've been thinking. But figured they're older displays lacking DVI input?

1280x1024 would need scaling or have huge crop bars.
Hoping scaling can be worked out for the likes of my 19"/20" HP and Dell displays.
Fearing that the 1 pixel borders of windows and such will be problematic?

I had looked for panels with built in rotation but couldn’t find any.
I didn't even search for that.

Been waiting a very long time for big, high res displays with customizable resolution "picture in picture" that can be positioned at lower left or right corner. next to a compact Mac. Scaling FPD res by 2x or 4x would be no big deal. Perchance to dream!

Thinking DVI-D input for "middle aged" displays sans HDMI, but the output of the card should best be Micro HDMI from SBC of some sort.

Raspberry-Pi-5-HDMI-micro-HDMI-camera-display-connectors.jpg

Micro HDMI end of HDMI Cable ought to be able to be fished through the security port of a Plus?

Screenshot 2025-06-27 at 12-18-55 Amazon.com BENFEI DVI to HDMI Bidirectional DVI-D to HDMI Ma...png

Sub-$10 Adapter transition to DVI-D input of older Display completes the connection. Native HDMI Display or Panel/Controller combo for new build would be straight HDMI cable setup. If using SBC with full size HDMI output can be converter to Micro HDMI internally.

Hadn't thought of using 16:10 WUXGA, that's a very interesting option in a 15" panel! Wondering if it'll fit within bezel restraints?
 
Last edited:

jmacz

Tinkerer
Mar 21, 2025
35
25
18
Interesting, bare panel/controller or full on display? I've been thinking inexpensive/obsolescent displays.

Bare panels. They are a little small though, 10”.



These seem to be native vertical but not 100% sure. This next one seems to support built in rotation.


That's exactly what I've been thinking. But figured they're older displays lacking DVI input?

mini HDMI.
 

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
Yep, 10" tablet size panels are much too small to work out at all for me. 15" 1024x768 panels might be the ticket with the right frame buffer tomfoolery. Trying hard not to pull the trigger on this one:


Gotta get someone involved who can pull together the SBC based rotation trickery. Then I can try to get the image squared away with my Extron Scaler on that panel. Gotta find an LCD controller for it with HDMI input as the first step.

Dunno, too many things bouncing around in the noggin' to make much sense of anything ATM. But that panel might just work out for a ground up build. Though still thinking inexpensive displays should be the target at this point.

Need to get the captured Frame Buffer stripped off column-wise for rotation on board the FPD clone with an inexpensive SBC.
 

jmacz

Tinkerer
Mar 21, 2025
35
25
18
Plenty of 15” 1024x768 panels. But at that resolution, do you really need a scaler? Why not 1:1 with cropping?
 

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
1:1 with customized cropping would be the Extron Scaler's stock in trade. I can set the margins around the FPD output however I want. If such can be handled via SBC magic so much the better, but I'm thinking in terms of what I might be able to do with hardware in hand at this point.
 

jmacz

Tinkerer
Mar 21, 2025
35
25
18
1:1 with customized cropping would be the Extron Scaler's stock in trade. I can set the margins around the FPD output however I want. If such can be handled via SBC magic so much the better, but I'm thinking in terms of what I might be able to do with hardware in hand at this point.

Ah got it. Based on the name I thought you meant scaling it to fill. Cool!
 

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
Scaling the image for fit an inexpensive, used 20" 1280x1024 panel would be the way to go. Dunno if the Extron is up to that. It's been a long time since a messed with it, baby steps.

Anybody out there interested in implementing rotation along the lines of what I illustrated above?

edited typo
 
Last edited:

jmacz

Tinkerer
Mar 21, 2025
35
25
18
I just found a newer thread regarding display rotation and the RGBtoHDMI project.


Might be a solution to provide both rotation and crop? If not, I would think that modifying that code base would be the fastest path to getting something working? I don’t have my RGBtoHDMI with me to try but will have to give it a whirl when I have a chance.
 

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
I've been pondering this TTL input spinoff from the RGBtoHDMI project. It keeps everything in the digital realm.


Have you got linkage to the original RGBtoHDMI project handy?
To bad this stuff is so very, very far above my pay grade. 😦


edit: I think it should be a lot easier to implement the frame capture/column stripping technique in my illustration above. RGBtoHDMI seems overly complex for a simple datasnatch rotation of a single bit image?

p.s. thanks for your like of my doodling @JDW
 
Last edited:

Trash80toG4

Active Tinkerer
Apr 1, 2022
1,094
315
83
Bermuda Triangle, NC USA
Just pulled the trigger on that 15" panel. Gotta find the right controller. Looks like backlight cable power is needed?

Design study/mockup of FPD enclosure is right up my alley. Printing a case and cobbling the bits together is well beyond the scope of this project however. Scaling the image to a the likes of an obsolescent 20" 1280x1024 Display is definitely the way to go. KISS principle compliance!