• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

SuperMac PDQ, Spectrum 8, 24, Thunder ROMs

Arbee

Well-known member
@pl212 Looking at the drawing code, the 8LC has the logo stored as 1 bit per pixel. So each byte in the array is 8 pixels. 0 bits are black, 1 bits are "RasterOps blue/green".
 

joevt

Well-known member
@pl212 Looking at the drawing code, the 8LC has the logo stored as 1 bit per pixel. So each byte in the array is 8 pixels. 0 bits are black, 1 bits are "RasterOps blue/green".
Yes.
Code:
perl -0777 -pE 's/DC\.B//g; s/[^\w]//g; s/(.{62})/\1\n/g;
while (/(?{$X=pos()})(\w\w)/mg) { substr($_,$X,2) = sprintf ("%08b", hex($1)); pos() = $X + 8 };
' <<< '
  DC.B    $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FC,$00,$00,$00,$00,$00
  DC.B    $00,$00,$00,$00,$00,$00,$00,$0F,$C0,$00,$00,$00,$00
  DC.B    $00,$7F,$FF,$FC,$00,$00,$00,$00,$00,$00,$00,$01,$FC,$00,$00,$00,$00,$00
  DC.B    $00,$00,$00,$00,$FF,$80,$00,$0F,$C0,$00,$00,$00,$00
  DC.B    $00,$7F,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$01,$FC,$00,$00,$00,$00,$00
  DC.B    $00,$00,$00,$07,$FF,$E0,$00,$1F,$80,$00,$00,$00,$00
  DC.B    $00,$0F,$FF,$FF,$C0,$00,$00,$00,$00,$00,$00,$01,$FC,$00,$00,$00,$00,$00
  DC.B    $00,$00,$00,$1F,$FF,$F0,$00,$1F,$80,$00,$00,$00,$00
  DC.B    $00,$07,$FC,$3F,$E0,$00,$00,$00,$00,$00,$00,$01,$F8,$00,$00,$00,$00,$00
  DC.B    $00,$00,$00,$7F,$87,$F8,$00,$1F,$80,$00,$00,$00,$00
  DC.B    $00,$07,$F8,$0F,$F0,$00,$3C,$FE,$00,$1F,$E0,$03,$F8,$00,$00,$FE,$00,$1E
  DC.B    $00,$E0,$00,$FE,$01,$FC,$00,$FF,$F8,$00,$03,$FC,$00
  DC.B    $00,$0F,$F8,$0F,$F0,$01,$FE,$FE,$00,$7F,$FC,$3F,$FF,$E0,$07,$FF,$80,$7F
  DC.B    $03,$F0,$01,$FC,$01,$FC,$07,$FF,$FF,$00,$0F,$FF,$80
  DC.B    $00,$0F,$F0,$07,$F8,$07,$FF,$FE,$00,$FF,$FF,$3F,$FF,$C0,$1F,$FF,$C0,$FF
  DC.B    $87,$F0,$03,$F8,$00,$FE,$0F,$FF,$1F,$C0,$1F,$FF,$E0
  DC.B    $00,$0F,$F0,$07,$F8,$0F,$F3,$FC,$00,$FC,$FF,$7F,$FF,$C0,$3F,$CF,$C1,$FF
  DC.B    $8F,$F8,$07,$F0,$00,$FE,$0E,$7F,$07,$E0,$1F,$9F,$E0
  DC.B    $00,$0F,$F0,$07,$F8,$1F,$C1,$FC,$01,$F8,$3F,$07,$F0,$00,$7F,$87,$E3,$FF
  DC.B    $9F,$F8,$0F,$F0,$00,$FE,$00,$7F,$07,$F0,$3F,$07,$E0
  DC.B    $00,$1F,$F0,$07,$F8,$3F,$81,$FC,$01,$F8,$1F,$07,$F0,$00,$FF,$07,$E7,$3F
  DC.B    $BB,$F8,$1F,$E0,$00,$FF,$00,$7F,$03,$F0,$3F,$03,$E0
  DC.B    $00,$1F,$E0,$07,$F8,$7F,$01,$FC,$01,$FC,$0E,$07,$F0,$01,$FE,$07,$EE,$3F
  DC.B    $F1,$F8,$1F,$E0,$00,$FF,$00,$7E,$03,$F8,$3F,$81,$C0
  DC.B    $00,$1F,$E0,$0F,$F0,$7F,$03,$F8,$01,$FE,$06,$07,$E0,$01,$FE,$07,$FC,$3F
  DC.B    $E1,$F8,$3F,$C0,$00,$FF,$00,$FE,$03,$F8,$3F,$C0,$C0
  DC.B    $00,$1F,$E0,$0F,$F0,$FE,$03,$F8,$01,$FF,$00,$0F,$E0,$03,$FC,$0F,$D8,$3F
  DC.B    $C1,$F0,$3F,$C0,$00,$FF,$00,$FE,$03,$F8,$3F,$E0,$00
  DC.B    $00,$3F,$E0,$1F,$E0,$FE,$03,$F8,$00,$FF,$80,$0F,$E0,$03,$FC,$0F,$C0,$7F
  DC.B    $80,$E0,$7F,$C0,$00,$FF,$00,$FE,$03,$F8,$1F,$F0,$00
  DC.B    $00,$3F,$C0,$1F,$C1,$FC,$03,$F8,$00,$FF,$C0,$0F,$E0,$07,$F8,$1F,$80,$7F
  DC.B    $80,$00,$7F,$80,$00,$FF,$00,$FC,$03,$F8,$1F,$F8,$00
  DC.B    $00,$3F,$C0,$3F,$81,$FC,$07,$F0,$00,$7F,$E0,$0F,$C0,$07,$F8,$7E,$00,$7F
  DC.B    $00,$00,$7F,$80,$01,$FF,$01,$FC,$03,$F8,$0F,$FC,$00
  DC.B    $00,$3F,$C0,$7F,$03,$FC,$07,$F0,$00,$3F,$F0,$1F,$C0,$07,$FB,$F8,$00,$7F
  DC.B    $00,$00,$FF,$80,$01,$FF,$01,$FC,$03,$F8,$07,$FE,$00
  DC.B    $00,$7F,$C0,$FE,$03,$F8,$07,$F0,$00,$1F,$F8,$1F,$C0,$0F,$FF,$C0,$00,$FE
  DC.B    $00,$00,$FF,$00,$01,$FE,$01,$FC,$07,$F0,$03,$FF,$00
  DC.B    $00,$7F,$83,$F8,$03,$F8,$0F,$F0,$00,$0F,$F8,$1F,$C0,$0F,$FE,$00,$00,$FE
  DC.B    $00,$00,$FF,$00,$01,$FE,$01,$F8,$07,$F0,$01,$FF,$00
  DC.B    $00,$7F,$9F,$E0,$03,$F8,$0F,$E0,$00,$07,$FC,$1F,$80,$0F,$F0,$00,$00,$FE
  DC.B    $00,$01,$FF,$00,$03,$FE,$03,$F8,$07,$F0,$00,$FF,$80
  DC.B    $00,$7F,$FF,$C0,$03,$F8,$1F,$E0,$C6,$03,$FC,$3F,$83,$0F,$F0,$00,$C0,$FE
  DC.B    $00,$01,$FF,$00,$03,$FC,$03,$F8,$0F,$E0,$C0,$7F,$80
  DC.B    $00,$FF,$FF,$E0,$03,$F8,$3F,$E1,$C7,$01,$FC,$3F,$87,$0F,$F0,$01,$C1,$FC
  DC.B    $00,$01,$FE,$00,$03,$FC,$03,$F8,$0F,$E0,$E0,$3F,$80
  DC.B    $00,$FF,$0F,$E0,$03,$F8,$7F,$E3,$8F,$80,$FC,$3F,$8E,$0F,$F8,$03,$81,$FC
  DC.B    $00,$01,$FE,$00,$07,$FC,$03,$F0,$1F,$C1,$F0,$1F,$80
  DC.B    $00,$FF,$0F,$F0,$03,$FC,$EF,$E7,$0F,$C0,$FC,$3F,$9C,$0F,$F8,$07,$01,$FC
  DC.B    $00,$01,$FE,$00,$07,$F8,$07,$F0,$1F,$C1,$F8,$1F,$80
  DC.B    $00,$FF,$0F,$F0,$03,$FF,$CF,$FE,$1F,$E0,$F8,$3F,$F8,$07,$FE,$1E,$01,$FC
  DC.B    $00,$01,$FE,$00,$07,$F8,$07,$F8,$3F,$83,$FC,$1F,$00
  DC.B    $01,$FF,$07,$F0,$01,$FF,$8F,$FC,$1F,$F1,$F8,$3F,$F0,$07,$FF,$FC,$03,$F8
  DC.B    $00,$01,$FE,$00,$0F,$F0,$07,$FC,$FF,$03,$FE,$3F,$00
  DC.B    $01,$FE,$07,$F8,$01,$FF,$0F,$F8,$1F,$FF,$F0,$1F,$E0,$03,$FF,$F0,$03,$F8
  DC.B    $00,$01,$FE,$00,$0F,$F0,$07,$FF,$FE,$03,$FF,$FE,$00
  DC.B    $01,$FE,$07,$F8,$00,$FC,$07,$E0,$07,$FF,$E0,$1F,$80,$01,$FF,$C0,$03,$F8
  DC.B    $00,$00,$FE,$00,$1F,$E0,$0F,$EF,$F8,$00,$FF,$FC,$00
  DC.B    $01,$FE,$03,$F8,$00,$70,$03,$80,$00,$FF,$80,$0E,$00,$00,$7E,$00,$03,$F8
  DC.B    $00,$00,$FE,$00,$1F,$C0,$0F,$E3,$C0,$00,$1F,$F0,$00
  DC.B    $03,$FE,$03,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  DC.B    $00,$00,$FE,$00,$3F,$80,$0F,$C0,$00,$00,$00,$00,$00
  DC.B    $03,$FC,$03,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  DC.B    $00,$00,$7F,$00,$7F,$00,$0F,$C0,$00,$00,$00,$00,$00
  DC.B    $03,$FC,$01,$FC,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  DC.B    $00,$00,$7F,$00,$FE,$00,$1F,$C0,$00,$00,$00,$00,$00
  DC.B    $07,$FC,$01,$FE,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  DC.B    $00,$00,$3F,$C3,$FC,$00,$1F,$80,$00,$00,$00,$00,$00
  DC.B    $0F,$FE,$01,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  DC.B    $00,$00,$1F,$FF,$F0,$00,$3F,$C0,$00,$00,$00,$00,$00
  DC.B    $7F,$FF,$C0,$FF,$E0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  DC.B    $00,$00,$07,$FF,$C0,$01,$FF,$F8,$00,$00,$00,$00,$00
  DC.B    $7F,$FF,$C0,$FF,$E0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
  DC.B    $00,$00,$00,$FE,$00,$01,$FF,$F8,$00,$00,$00,$00,$00
'
Code:
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111100000000000000000000000000000000000000
00000000011111111111111111111100000000000000000000000000000000000000000000000000000000000000000111111100000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000011111100000000000000000000000000000000000000
00000000011111111111111111111111000000000000000000000000000000000000000000000000000000000000000111111100000000000000000000000000000000000000000000000000000000000000000000000111111111111110000000000000000111111000000000000000000000000000000000000000
00000000000011111111111111111111110000000000000000000000000000000000000000000000000000000000000111111100000000000000000000000000000000000000000000000000000000000000000000011111111111111111000000000000000111111000000000000000000000000000000000000000
00000000000001111111110000111111111000000000000000000000000000000000000000000000000000000000000111111000000000000000000000000000000000000000000000000000000000000000000001111111100001111111100000000000000111111000000000000000000000000000000000000000
00000000000001111111100000001111111100000000000000111100111111100000000000011111111000000000001111111000000000000000000011111110000000000001111000000000111000000000000011111110000000011111110000000000111111111111100000000000000000111111110000000000
00000000000011111111100000001111111100000000000111111110111111100000000001111111111111000011111111111111111000000000011111111111100000000111111100000011111100000000000111111100000000011111110000000111111111111111111100000000000011111111111110000000
00000000000011111111000000000111111110000000011111111111111111100000000011111111111111110011111111111111110000000001111111111111110000001111111110000111111100000000001111111000000000001111111000001111111111110001111111000000000111111111111111100000
00000000000011111111000000000111111110000000111111110011111111000000000011111100111111110111111111111111110000000011111111001111110000011111111110001111111110000000011111110000000000001111111000001110011111110000011111100000000111111001111111100000
00000000000011111111000000000111111110000001111111000001111111000000000111111000001111110000011111110000000000000111111110000111111000111111111110011111111110000000111111110000000000001111111000000000011111110000011111110000001111110000011111100000
00000000000111111111000000000111111110000011111110000001111111000000000111111000000111110000011111110000000000001111111100000111111001110011111110111011111110000001111111100000000000001111111100000000011111110000001111110000001111110000001111100000
00000000000111111110000000000111111110000111111100000001111111000000000111111100000011100000011111110000000000011111111000000111111011100011111111110001111110000001111111100000000000001111111100000000011111100000001111111000001111111000000111000000
00000000000111111110000000001111111100000111111100000011111110000000000111111110000001100000011111100000000000011111111000000111111111000011111111100001111110000011111111000000000000001111111100000000111111100000001111111000001111111100000011000000
00000000000111111110000000001111111100001111111000000011111110000000000111111111000000000000111111100000000000111111110000001111110110000011111111000001111100000011111111000000000000001111111100000000111111100000001111111000001111111110000000000000
00000000001111111110000000011111111000001111111000000011111110000000000011111111100000000000111111100000000000111111110000001111110000000111111110000000111000000111111111000000000000001111111100000000111111100000001111111000000111111111000000000000
00000000001111111100000000011111110000011111110000000011111110000000000011111111110000000000111111100000000001111111100000011111100000000111111110000000000000000111111110000000000000001111111100000000111111000000001111111000000111111111100000000000
00000000001111111100000000111111100000011111110000000111111100000000000001111111111000000000111111000000000001111111100001111110000000000111111100000000000000000111111110000000000000011111111100000001111111000000001111111000000011111111110000000000
00000000001111111100000001111111000000111111110000000111111100000000000000111111111100000001111111000000000001111111101111111000000000000111111100000000000000001111111110000000000000011111111100000001111111000000001111111000000001111111111000000000
00000000011111111100000011111110000000111111100000000111111100000000000000011111111110000001111111000000000011111111111111000000000000001111111000000000000000001111111100000000000000011111111000000001111111000000011111110000000000111111111100000000
00000000011111111000001111111000000000111111100000001111111100000000000000001111111110000001111111000000000011111111111000000000000000001111111000000000000000001111111100000000000000011111111000000001111110000000011111110000000000011111111100000000
00000000011111111001111111100000000000111111100000001111111000000000000000000111111111000001111110000000000011111111000000000000000000001111111000000000000000011111111100000000000000111111111000000011111110000000011111110000000000001111111110000000
00000000011111111111111111000000000000111111100000011111111000001100011000000011111111000011111110000011000011111111000000000000110000001111111000000000000000011111111100000000000000111111110000000011111110000000111111100000110000000111111110000000
00000000111111111111111111100000000000111111100000111111111000011100011100000001111111000011111110000111000011111111000000000001110000011111110000000000000000011111111000000000000000111111110000000011111110000000111111100000111000000011111110000000
00000000111111110000111111100000000000111111100001111111111000111000111110000000111111000011111110001110000011111111100000000011100000011111110000000000000000011111111000000000000001111111110000000011111100000001111111000001111100000001111110000000
00000000111111110000111111110000000000111111110011101111111001110000111111000000111111000011111110011100000011111111100000000111000000011111110000000000000000011111111000000000000001111111100000000111111100000001111111000001111110000001111110000000
00000000111111110000111111110000000000111111111111001111111111100001111111100000111110000011111111111000000001111111111000011110000000011111110000000000000000011111111000000000000001111111100000000111111110000011111110000011111111000001111100000000
00000001111111110000011111110000000000011111111110001111111111000001111111110001111110000011111111110000000001111111111111111100000000111111100000000000000000011111111000000000000011111111000000000111111111001111111100000011111111100011111100000000
00000001111111100000011111111000000000011111111100001111111110000001111111111111111100000001111111100000000000111111111111110000000000111111100000000000000000011111111000000000000011111111000000000111111111111111111000000011111111111111111000000000
00000001111111100000011111111000000000001111110000000111111000000000011111111111111000000001111110000000000000011111111111000000000000111111100000000000000000001111111000000000000111111110000000001111111011111111100000000000111111111111110000000000
00000001111111100000001111111000000000000111000000000011100000000000000011111111100000000000111000000000000000000111111000000000000000111111100000000000000000001111111000000000000111111100000000001111111000111100000000000000000111111111000000000000
00000011111111100000001111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111000000000001111111000000000001111110000000000000000000000000000000000000000000000
00000011111111000000001111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111100000000011111110000000000001111110000000000000000000000000000000000000000000000
00000011111111000000000111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111100000000111111100000000000011111110000000000000000000000000000000000000000000000
00000111111111000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111000011111111000000000000011111100000000000000000000000000000000000000000000000
00001111111111100000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111100000000000000111111110000000000000000000000000000000000000000000000
01111111111111111100000011111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111110000000000000111111111111110000000000000000000000000000000000000000000
01111111111111111100000011111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111110000000000000000111111111111110000000000000000000000000000000000000000000
 

Arbee

Well-known member
BTW, the 24Mx, 24MxRGB, and 24MxTV were added to the GitHub repo a few days ago. And there are more cards to come.
 

Aeroform

Well-known member
Finally recieved my T48! Attached is a dump of the "Supermac Spectrum SE/30 v1.0" rom. Please help me check wether it seems correct as it's my first ever rom dump. I could read some text in the written data so that at least looked promising :).
 

Attachments

  • Supermac Spectrum SE30 v1.0.BIN
    16 KB · Views: 6

bigmessowires

Well-known member
Is there a modern pin-compatible replacement for the EPROMs used on these cards? I think the original is a 28-pin 27C128, but I'm having a hard time finding a Flash or EEPROM replacement.
 

bigmessowires

Well-known member
It seems that the answer is no. The 28C128 would be the answer, but it's no longer made and it's expensive if you can find one. The 28C256 could be made to work if you duplicate the 128 kB data twice to fill 256 kB, but it's no longer made either. 28C256 can still be found, but they're about $12 apiece, or slightly cheaper from eBay sellers. But now that I think about it, I might actually have one or the other in a drawer around here somewhere...
 

zigzagjoe

Well-known member
Is there a modern pin-compatible replacement for the EPROMs used on these cards? I think the original is a 28-pin 27C128, but I'm having a hard time finding a Flash or EEPROM replacement.
It's not modern, but for a pin compatible option you might look at the w27c257. It's an EEPROM, which is nice, but it is old so harder to come by (less nice).
 

eharmon

Well-known member
I just wrote this up recently, and yeah, unfortunately, 27C128 has no replacement, but the others have a few options:


Oh, and confusingly a 28C256 is definitely not compatible with a 27C256. The pinout is slightly different. I think it might be workable for a 27C128 though.
 

eharmon

Well-known member
Finally recieved my T48! Attached is a dump of the "Supermac Spectrum SE/30 v1.0" rom. Please help me check wether it seems correct as it's my first ever rom dump. I could read some text in the written data so that at least looked promising :).
Looks valid to me! Nice job.
 

Aeroform

Well-known member
I just wrote this up recently, and yeah, unfortunately, 27C128 has no replacement, but the others have a few options:


Oh, and confusingly a 28C256 is definitely not compatible with a 27C256. The pinout is slightly different. I think it might be workable for a 27C128 though.

What about a 29c256? Seems like a popular replacement for a 27c128 from what I managed to find online.
 

bigmessowires

Well-known member
Here's a dump of the SuperMac ColorCard SE/30 ROM. It's a 27C128 EPROM labeled:

1003038 - 0001 COLORCARD
SE/30 Copyright 1989
SuperMac Technology
All Rights Reserved
 

Attachments

  • SuperMac ColorCard SE30.bin
    16 KB · Views: 6

bigmessowires

Well-known member
Finally recieved my T48! Attached is a dump of the "Supermac Spectrum SE/30 v1.0" rom
I tried installing this ROM in my SuperMac ColorCard SE/30. Since I don't have any blank 16KB 27C128 EPROMs, I used a 32KB W27C257 and repeated the 16KB Spectrum SE/30 ROM two times to fill 32KB. The modified 32KB ROM file is attached.

Upgrade successful! With the stock ROM, the card will do 640x480@256 colors or 1024x768@16 colors, as well as portrait mode (which I don't care about). After the ROM swap I was able to run 1024x768@256 colors! This proves that the resolution and color depth settings were entirely firmware-limited on the ColorCard, for sales and marketing purposes and not for engineering reasons.

My card has three different oscillators installed: 64 MHz (used for 1024x768), 30.24 MHz (used for Apple 13 inch RGB), and 57.28 (used for 15 inch portrait mode). In Apple 13 inch RGB mode, it outputs composite sync and sync-on-green, but not separate horizontal and vertical sync. That's disappointing, since it limits the range of monitors it'll work on. The SuperMac SuperVideo control panel also lists an option for 640x480 multisync monitor, but it requires a 24 MHz oscillator. I wonder if I replaced the 57.28 oscillator with a 24 MHz one, could I then use the 640x480 multisync option, and would it output separate hsync and vsync for wider monitor support?

I noticed something else curious about the sync signals. Initially I tried two different Mac-to-VGA adapters: a Griffin Mac PNP and my own prototype adapter. The PnP was set for "autoconfigure" and my prototype was set to pass through the non-existent hsync and vsync. In both cases, there was an echo of the red component of all pixels:

IMG_3984.png

I then reconfigured my prototype adapter to cut off all the sync signals, so the monitor would be forced to use sync-on-green (if it could). The result looked much better:

IMG_3985.jpg
 

Attachments

  • Supermac Spectrum SE30 v1.0 repeated 2x.bin
    32 KB · Views: 4

Aeroform

Well-known member
I tried installing this ROM in my SuperMac ColorCard SE/30. Since I don't have any blank 16KB 27C128 EPROMs, I used a 32KB W27C257 and repeated the 16KB Spectrum SE/30 ROM two times to fill 32KB. The modified 32KB ROM file is attached.

Upgrade successful! With the stock ROM, the card will do 640x480@256 colors or 1024x768@16 colors, as well as portrait mode (which I don't care about). After the ROM swap I was able to run 1024x768@256 colors! This proves that the resolution and color depth settings were entirely firmware-limited on the ColorCard, for sales and marketing purposes and not for engineering reasons.

My card has three different oscillators installed: 64 MHz (used for 1024x768), 30.24 MHz (used for Apple 13 inch RGB), and 57.28 (used for 15 inch portrait mode). In Apple 13 inch RGB mode, it outputs composite sync and sync-on-green, but not separate horizontal and vertical sync. That's disappointing, since it limits the range of monitors it'll work on. The SuperMac SuperVideo control panel also lists an option for 640x480 multisync monitor, but it requires a 24 MHz oscillator. I wonder if I replaced the 57.28 oscillator with a 24 MHz one, could I then use the 640x480 multisync option, and would it output separate hsync and vsync for wider monitor support?

I noticed something else curious about the sync signals. Initially I tried two different Mac-to-VGA adapters: a Griffin Mac PNP and my own prototype adapter. The PnP was set for "autoconfigure" and my prototype was set to pass through the non-existent hsync and vsync. In both cases, there was an echo of the red component of all pixels:

View attachment 65479

I then reconfigured my prototype adapter to cut off all the sync signals, so the monitor would be forced to use sync-on-green (if it could). The result looked much better:

View attachment 65480
That’s awesome! There’s a fourth socket available for adding an oscillator, so hopefully you wouldn’t have to exchange anything and can just add the 24mhz one 😊.
 

eharmon

Well-known member
Has anyone without a ROM reader tried using SlotRom to extract the data? It may not generate flashable ROMs (for instance, if the data stored in the ROM is re-ordered), but it would at least let us have a look at other cards from folks who can't rip them normally. From my experience, that's not a big deal for SuperMac cards anyway (much more common on Radius):

 

Arbee

Well-known member
SlotRom does work and has been used. As you note, what it gives you may not always match a read from the EPROM (most SuperMac cards have all the bits inverted) but it’s useful for reverse-engineering.
 

eharmon

Well-known member
BTW, the 24Mx, 24MxRGB, and 24MxTV were added to the GitHub repo a few days ago. And there are more cards to come.
If anyone has those cards, those ROM revisions look newer than the dumps floating out on the internet. If you'd like to give them a try you don't need to compile anything, there's already srecord dumps in the repo. If you need a binary format for your flasher, you can convert with SRecord's srec_cat:

Code:
$ srec_cat ROM.24Mx.S1.64K -o ROM.24Mx.bin -binary

One of the ROMs uses Mac line endings, which will cause srec_cat to barf. Just fix them with sed first:

Code:
$ cat ROM.24MxTV.S1.64K | sed "s/\m/\n/g" > fixed.ROM.24MxTV.S1.64K
 
Last edited:
Top