• 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 Spectrum/24 Project

Phipli

Well-known member
Not sure why I thought I had a Thunder IV - I think it is a furst generation Thunder.

ROM rips are attached. Note that the Spec24 Ser III one has been verified against MacOSMonkey's, but the other two haven't. I accidentally left MacOSMonkey's ROM in the archive from when I was comparing it with mine. Files are in bin and hex.
Versions :
Spectrum/24 Series III v1.0
Spectrum PDQ v1.27
Thunder/24 v1.601

Edit : Bolle spotted the Thunder and PDQ ROMs were 64k. Please disregard the download that was attached to this post.
IMG_20220919_110447.jpg
 
Last edited:

Aeroform

Well-known member
@Aeroform - The answer is yes - I think it will work. It was just a ROM gimp. However, both of those ROMs had compatibility and other issues. I don't think they were ever fixed. Hopefully, you can find someone who can read in the Spectrum version of the ROM.

I’m over here holding thumbs that 1) Beachycove on Flickr is the same as @beachycove here 2) He still has his card and 3) is willing to dump or have his rom dumped by someone 😂
 

Melkhior

Well-known member
@Phipli Hehe, and I thought I was overdoing it when I was considering 5 or 6 resolution in the NuBusFPGA ... that Thunder 24 DeclRom has 48 different video resources, totaling 98 video modes :) They wanted to make sure it would work with any monitors, I guess.
BTW, both Spectrum cards have bit-inverted ROMs, whereas the Thunder 24 hasn't.
 

Phipli

Well-known member
@Phipli Hehe, and I thought I was overdoing it when I was considering 5 or 6 resolution in the NuBusFPGA ... that Thunder 24 DeclRom has 48 different video resources, totaling 98 video modes :) They wanted to make sure it would work with any monitors, I guess.
They were market leaders around that time, they'd have wanted to give people no excuse for not buying their card!

BTW, both Spectrum cards have bit-inverted ROMs, whereas the Thunder 24 hasn't.
I was surprised to see no obvious text strings in the spectrum. Makes more sense.
 

Melkhior

Well-known member
@Phipli There's tools out there do decode declaration Roms ; I'm using my own heavily modified version of bbraun's declrom.
The SpecPDQv1.27.BIN header looks like this:
Code:
Format block:
bytelanes = 0xe1
testpattern = 0x5a932bc7
format = 0x1
revision = 0x1
crc = 0x6d81ade5
length = 65536
offset = -65516
Resource 1
        sRsrcType: 1 0 0 0
        sRsrcName: SuperMac Spectrum PDQ v1.27
        BoardId: 155
        PrimaryInit: cpuid: 2 len: 3302
        SecondaryInit: cpuid: 2 len: 300
        VendorInfo:
                VendorID: SuperMac Technology
                SerialNum:
                PartNum:
Resource 128
        sRsrcType: 3 1 1 630
        sRsrcName: Display_Video_Apple_Spec/24PDQ
        RsrcDrvrDir:
                id: 2, len: 18874
        sRsrcFlags: 0x6
        sRsrcHWDevId: 1
        MinorBaseOS: 0x0
        MinorLength: 0x100000
        Video Mode 128:
                Dev Type: 0
                Page Count: 1
                Video Parameters:
                        vpBaseOffset: 36864
                        vpRowBytes: 512
                        vpBounds: 0,0,768,1024
                        vpVersion: 0
                        vpHRes: 0x480000
                        vpVRes: 0x480000
                        vpPixelType: 0
                        vpPixelSize: 1
                        vpCmpCount: 1
                        vpCmpSize: 1
                        vpPlaneBytes: 0
        Video Mode 129:
                Dev Type: 0
(...)
Resource 1 is the board description ; others are the 'functions' of the board - all but one have to be disabled (in my experience) at runtime. Presumably, from the looks of the various Video Modes, they each support a different kind of monitors and/or resolution and/or amount of VRAM. Abreviated version:
Code:
Resource 128
        Video Mode 128:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 8
        Video Mode 132:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 32
Resource 129
        Video Mode 128:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 4
        Video Mode 130:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 8
        Video Mode 131:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 32
Resource 135
        Video Mode 128:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 8
        Video Mode 132:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 32
Resource 141
        Video Mode 128:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 8
        Video Mode 132:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 32
Resource 143
        Video Mode 128:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 8
        Video Mode 132:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 32
Resource 144
        Video Mode 128:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 8
        Video Mode 132:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 32
Resource 148
        Video Mode 128:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 8
Resource 149
        Video Mode 128:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 4
        Video Mode 130:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 8
Resource 155
        Video Mode 128:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 8
Resource 161
        Video Mode 128:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 8
Resource 163
        Video Mode 128:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 8
Resource 164
        Video Mode 128:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 1
        Video Mode 129:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 2
        Video Mode 130:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 4
        Video Mode 131:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 8
Resource 168
        Video Mode 128:
                        vpBounds: 0,0,768,1024
                        vpPixelSize: 1
Resource 169
        Video Mode 128:
                        vpBounds: 0,0,480,640
                        vpPixelSize: 1
Resource 175
        Video Mode 128:
                        vpBounds: 0,0,870,640
                        vpPixelSize: 1
Resource 181
        Video Mode 128:
                        vpBounds: 0,0,624,832
                        vpPixelSize: 1
Resource 183
        Video Mode 128:
                        vpBounds: 0,0,870,1152
                        vpPixelSize: 1
Resource 184
        Video Mode 128:
                        vpBounds: 0,0,882,1152
                        vpPixelSize: 1
 

Aeroform

Well-known member
Don't know if it's of any help, but just stumbled upon these SuperMac roms uploaded to archive.org for the Spectrum/8 III, Spectrum PDQ and the Thunder 24. Perhaps can be useful to compare against your dumps or different versions perhaps? https://www.buriedbits.org/a-whole-lotta-roms
 

Attachments

  • SuperMac video roms.zip
    168 KB · Views: 3

ArtiomWin

Member
Don't know if it's of any help, but just stumbled upon these SuperMac roms uploaded to archive.org for the Spectrum/8 III, Spectrum PDQ and the Thunder 24. Perhaps can be useful to compare against your dumps or different versions perhaps? https://www.buriedbits.org/a-whole-lotta-roms
As a contributor of that collection (but Archive.org account is not mine), I would say most of SuperMac ROMs there are from 68kmla (I can't say which ones). Just in case, updated version: https://mega.nz/file/IVkxWByb#nhVBWRw18Rz4bWt2-p6tlGR9LQqkC0iF1cUDfmKu7Vs
 

MacOSMonkey

Well-known member
@Aeroform : Sounds like you will succeed. When you do, upload both images! The ROMs may be identical except for the sRecs, but it's *possible* the Spectrum II version may have had a few other fixes. But...in 1989, it definitely took a back seat vs. the focus on large-screen 24-bit, acceleration, etc.
@Bolle : How did you end up with so many incremental versions?
@Phipli : Thanks!
@ArtiomWin : Thanks -- my minor gripe: .rar and .7z should be put to death. :p .rar may have had extra value long ago during modem days, but .zip and .tar are generally better for universal support without the hassles of having to use paywall tools. There are no bandwidth issues at this point. In order to use that archive, I am going to have find some crappy .rar tool or pay for winzip, and I really don't want to do either one. Can anyone upload a .zip of that archive?
@Melkhior : When you consider base monitor timing support and also virtual desktop sizes, it was a large list. And, as time went on, there was support for multiples -- SuperMac versions, Apple versions, RasterOps versions, etc. Every vendor had their own slightly tweaked timing for the same display -- the 19" Trinitron @ 75Hz was a classic example. 640x870 was used for portrait mode, and I seem to remember that mode also having slightly different/tall virtual desktops -- maybe the regular desktops rotated 90 degrees to better support that form-factor. But, it wasn't very common - also a grayscale monitor, I think (originally as a competitor to the much more popular Radius Full-Page Display and the gimmicky Pivot -- like on the SE/30 Series II product). And, on a technical level, I think there were dedicated 1-bit sRecs for Primary INIT, because the cards had to cold boot in 1-bit mode (albeit with a modified CLUT of red and gray on newer ROMs) and then switch over to the full complement. But, SuperVideo should show all of the supported devices and virtual desktops. The 2 oversize landscape virtual desktops were 2048x1536 and 4096x1536 through mid-1992. And, depending on which Thunder card you are talking about, later ones also included native support for 1360x1024 (on the GX) with additional variations in the 1152 resolutions (910)...and eventually 1600x1200. So...yeah...lots of sRecs. The list became crazier over time. Thanks for the tools reference.
 
Last edited:

MacOSMonkey

Well-known member
Of the Thunder ROMs? I’ve got a bunch of Thunder cards and each one came with a different ROM version.
Nice - I will see which ROM I have. I think it might be 1.6.1, which, BTW, should upgrade a PDQ board of the same generation to be a Thunder board, IIRC.
 

Trash80toHP_Mini

NIGHT STALKER
I’ve got a bunch of Thunder cards and each one came with a different ROM version.
Cool, when you have a chance could you provide pics for the Thunder series and any other SuperMac Cards you have on hand for my SuperMac Timeline Project? Any QuickDraw Accelerator or DSP DaughterCard pics would be especially appreciated.

Spectrum/24 v.___ - undocumented - Rev.B
Spectrum/24 Series IV
Spectrum/24 Series V
Spectrum/24 PDQ
Spectrum/24 PDQ+
Spectrum/8
Spectrum/8 Series III
Spectrum/8*24 PDQ
Spectrum Power 1152
ColorCard 24
Thunder/24 - only have a medium res pic so far
Thunder II GX

Anybody helping out with pics for the NuBus Cards or anything else SuperMac would be greatly appreciated. I've left a placeholder under the IP for addin the likes of my SE/30 Card and VideoSpigot LC.
 

ArtiomWin

Member
@ArtiomWin : Thanks -- my minor gripe: .rar and .7z should be put to death. :p .rar may have had extra value long ago during modem days, but .zip and .tar are generally better for universal support without the hassles of having to use paywall tools. There are no bandwidth issues at this point. In order to use that archive, I am going to have find some crappy .rar tool or pay for winzip, and I really don't want to do either one. Can anyone upload a .zip of that archive?
Well, for you and everyone who has issues with .rar archives, here's link to .zip version of same archive: https://mega.nz/file/MAkVSZYL#KYyoMLO2--r7pcsLomVJE-DzPlKxVMUY6GNg3ACV5Rw
 

Aeroform

Well-known member

Trash80toHP_Mini

NIGHT STALKER
What SE/30 card do you have?
I've got one that says: SPECTRUM SE/30 (c)1989 on the PCB, but the ROM's stickered:
1003038-9002 COLORCARD SE/30 (c)1989
So who knows what it might be? Don't remember if I've ever tested it? I've snagged every large lot of expansion cards I've spotted on the 'Bay for close to 20 years now, heaven only knows what I'll find if I ever do an inventory.

Learning how to dump ROMs without blowing something up has been on my fraidy cat procrastination list for years now. :oops:

That's the interesting one, TPD at 8bit works for me!

Of course there's a Pivot SE/30 in the Radius fanatic's collection. ;) Are there Radius Cards other than FPD/TPD for 030 PDS? Radius VidCard Timeline will be a future project. So far I've only been concentrating on component side pics for identification purposes, but I'll look into adding solder side pics for the markings if and when.

@Phipli thanks, that's plenty high resolution compared to the one I had up previously!

I've always found GWorld memory curious. Has anyone got info links on that?
 
Last edited:
Top