• 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.

Carrera040 Info / Hacking Thread

GeekDot

Well-known member
Are you running MacsBug(?) to identify the addressing error?
Erm, it's not really an error. It's the-right-software-on-the-wrong-system behaviour ;-)

Babysteps, my firends, babysteps. Like said before, just leave the INIT alone for now. As long it's not completely understood/patched it won't get you anywhere.

Aditionally, it's not neccessary for now. All it does is enabling the C040 earlier in the boot-process to make that faster. As soon the CP is successfully patched, the INIT will be a piece of cake.

To sum it up: 

  • I'm pretty sure the C040 does not disable the 68030 (assert CPUDIS), else the IIx adapter won't feature a CPU.
  • This also explains why the patched CP "works" (i.e. does not bomb) because the initialization of the card just went into Nothingness and the system sticks to the 68030.
Have some patience, young Padawan. Strong the force is with us  ;-)

Cheers, Axel

 

Bolle

Well-known member
Well, it can‘t do that anyways as it is not a standard 030 bus signal. It is not present on anything that does not have a real IIci cache slot.

You could take a look at what the /BR, /BG and /BGACK signals are doing. I have the feeling it might not even reach the point where it even tries to take the bus from the 030.

 

Trash80toHP_Mini

NIGHT STALKER
@GeekDot: Per your summation, hardware differentiation again comes into play.

I'll try laying my visualization of the building blocks out as a Carrera support truth table to toss in here this time around:

A - No CPUDIS present on the "same" 030 PDS bus available to IIsi adapter, but it works.

B - No CPUDIS present on the 68030 CPU socket interfaced IIcx adapter, but it works.

C - CPUDIS is not a signal native to the MC68030 itself, but MMUDIS is on the MC68030 pinout.

-  -  -  We can (probably) rule MMUDIS out as a factor due to A.

-  -  -  We can (almost certainly) rule MMUDIS out as a factor because:

-  -  -  -  -  -  MMUDIS enables use of MC68020 generation's discrete MMU IC. MC68030 MMU is a less capable subset of same.

D - Of the NuBus Macs with only three slots, the IIci is unique (IIRC) in its implementation of NuBus Slots $C, $D and $E

E - per the docs on IIx adaptation $9 thru $E implementation (PowerCache) does appear to be problematic.

-  -  -  IIRC, IIci Video is an ungodly blending of $E and $B borkage.

-  -  -  -  -  -  The Mac only supports the top 8(fuzzy recollection) NuBus Slot IDs for whatever reason. (Memory Map?)

-  -  -  -  -  -  Interestingly, Apple chose the high end of the 16 available Slot IDs of NuBus spec to bork.

F - $E in the IIx is unencumbered by the Cache/Video complications of the IIci kluge.

-  -  -  That kluge lands us smack into Part III of DCaDftMF: Application-Specific Expansion Interfaces

-  -  -  I'm again curious about that IIx adapter, might there be a GAL/logical adaptation on board?

Observation: The one thing IIsi and IIcx have in common to differentiate them from the SE/30 would be the bus mastering setup required for NuBus.

As I see the blocks falling, the socketed IIcx adapter/virtual IIcx Gestalt spoofing of the driver hypothesis again comes into play.

Hadn't seen your mention of the Carrera not asserting CPUDIS before that last post, was that also in the lost thread? That's making my native CPU as I/O co-pro of the Rocket in Accelerator mode under RocketWare analogy look even better. Rocket in Macintosh II requires MMU and FDHD ROM upgrades to bring it up to a minimum 68030 support standard.

Has anyone put a logic analyzer on CPUDIS in the Carrera/IIci config? My shiny nickel is on the Carrera juggling bus mastery with native 68030 directly at the CPU pinout level on the IIcx adapter. The Rocket appears to do the bus mastery shuffle over NuBus in the IIx, IIcx, IIci and even the PPC NuBus generation. RocketShare is supported on IIsi, but RocketWare in Accelerator mode is borked at that level.

olePigeon, have you tested RocketWare/Accelerator mode in your IIci?

Dunno, something in these tables needs to come together (rough outline of Rocket support table needs to be fleshed out for comparison) if we're gonna adapt the SE/30 to Carrera. We're definitely not adapting Carrera to SE/30  from my point of view.

Again: the zombie's socketed IIcx Adapter in SE/30 is about the only model that makes any sense to me at all from the hardware side of things at this point.

< wishes me Yoda'd trashed not Jedi temple and texts he did just. :-/ >

 
Last edited by a moderator:

Trash80toHP_Mini

NIGHT STALKER
Erm, it's not really an error. It's the-right-software-on-the-wrong-system behaviour ;-)
Dunno, dialog box says it's an addressing error. If MacsBug(?) might tell you where addressing is borked might that not help narrow down the possibilities  for the point at which the driver craps out in your degubbing campaign?

If nothing else, MacsBug(?) allows the System to pick the pieces and start right back up at the point of borkage without rebooting. Not sure if it was MacsBug I used on my PowerBook 100 when it was new. I came up with a workaround for the unimplemented trap in the printer driver for Epson Color Stylus on unsupported 68000  .  .  .

.  .  .  but I forgot to use it on a regular basis. :-/

 

joethezombie

Well-known member
Like said before, just leave the INIT alone for now. As long it's not completely understood/patched it won't get you anywhere.

Aditionally, it's not neccessary for now. All it does is enabling the C040 earlier in the boot-process to make that faster.


I don't think so.  I just tried the Carrera040 in my IIsi with just the control panel.  Playing with the options do not enable the 040.  One *must* have the extension in place for the control panel to enable the 040 modes.  Additionally, I get the same bomb message seen on the SE/30 if the IIsi doesn't have 32-bit addressing enabled.

As far as the IIcx adapter, I elected not to hack up my socketed logicboard to try it.  Instead, I ordered a couple of 68030 sockets to use as a riser.  If that doesn't give enough clearance, I'll pull a soldered logicboard apart to install a socket and power pigtail.  Unfortunately, that IIcx adapter also blocks the PDS slot.

 

joethezombie

Well-known member
Is that the ScuzzyGraph?  You have one of those things?  And it works?  Amazing!

I'm hoping with the 68030 riser stack, I'll have enough room to plug in a 90deg euroDIN.

 
Last edited by a moderator:

Trash80toHP_Mini

NIGHT STALKER
Mine's the SuperMac Box Radius re-branded as the PowerView after the merger/buyout/whatever. Worked great the last time I had it set up. Lemme know, I still have a few things to send you for that other project. [:)]

 

GeekDot

Well-known member
I don't think so.  I just tried the Carrera040 in my IIsi with just the control panel.  Playing with the options do not enable the 040.  One *must* have the extension in place for the control panel to enable the 040 modes.  Additionally, I get the same bomb message seen on the SE/30 if the IIsi doesn't have 32-bit addressing enabled.
Ohhhhhh dammit... you're so right! :cry:

Received my adapter from Bolle today, modded my Asanté NIC and fired up my workhorse IIci to get everything prepared for the SE/30.... but it gave me quite some troubles for about 2hrs (Couldn't find the SCSI2SD, Floppy drive failed and needed to be replaced) - little IIci probably pouted on me because I didn't swiched him on for months  :unsure:

So after finally having everything up-and-running I played a bit with the patched CPs as well as the INIT. And like you've said, there's no 040-fun without the INIT loaded. Dang!

While the readme play this point very low "With version 1.8 we have included an extension which ensures the Carrera040 code to load very early in the boot process." it's indeed absolutely necessary to be loaded.

Sigh. Well, so it's back to the drawing/disassembly board again...

Did I mention that I've identified the 68882 Emulation code etc. in the CP code? But there's a good chance, that the INIT loads a resource (aka code) from the CP to execute... so it won't be a complete waste of time.

PS: As for the 32-bit cleanness... this is a must-have and well documented in the readme. No wonder, because the CP/INIT wouldn't be able to access anything in the 0x53000000 area with 24bit only. And there's a ton of SwapMMUMode calls in the code...

 

Trash80toHP_Mini

NIGHT STALKER
  .  .  .  there's a ton of SwapMMUMode calls in the code...
Theerin lies the proof that the 68030 is never shut down via CPUDIS.

Carrera/68030 is a multiprocessor platform, very much like RocketShare the way I see it. Carrera's developer(?) would be familiar with Radius' AppleTalk over NuBus multiprocessor setup. Apple borked that setup with changes to AppleTalk in the move Past 7.1 Pro.

AppleTalk over PDS would be much faster, likely more easily implemented and possibly longer legged over later OS developments.

 

tt

Well-known member
I have a Sonnet branded version of the IIsi adapter and it looks almost the same as the MicroMac version, except it is missing the capacitor through-holes. I am guessing that the Mobius Speedster I have would work with that adapter. I think the Sonnet 040 accelerator looks different than the Mobius/Carrera boards though, so I am not sure about testing them out until I am more certain the adapter is compatible.

CwIQBNA.jpg.ab720a0a1e55e11d7e739e57288371d8.jpg
 

GeekDot

Well-known member
A bigger UPDATE:

Sooo, after some hassle with, well, nearly everything in my SE/30, finally here's where we are now:

1st Test:

SE/30, 32bit clean ROM -Using the INIT (which I've diassembled and it indeed does not more than picking on code-resource out of the control-panel resource) and my patched CP it boots all the way through. No error, no exception, even the CP-icon has been X'ed as no C040 was in the system.

That's a pretty uncommon view, isn't it? ;-)

/monthly_2018_02/large.IMG_20180220_121248.jpg.bdb62eb0cf1ef129a4caa9591dc033ad.jpg

2nd Test:

Little Carrera went where no Carrera has gone before... a bit tight but it's OK (the front corner baaaarely touches the tube):

/monthly_2018_02/large.IMG_20180220_143609.jpg.59dbab7d537dcd7d458a25d40a6af35c.jpg

Cross fingers, light a candle - prepare curses for Bolle :p , just in case - and flick the switch:

Chime & Happy Mac, installs MacsBugs, INITs'n'stuff and... stuck at the control panel.

Woohoo! Well, not 100%-Woohoo but it shows that we're getting somewhere. I assume a deadlock where the CP waits for an answer from the C040 at a given address ($5300 0000) on which little SE/30 is deaf, dumb and blind.

It crashes that much, that even MacsBugs is shocked and vanishes (even the debug-key is not working)... but we'll fix that.

/monthly_2018_02/large.IMG_20180220_143556.jpg.d1984c7e5c043018d1ce1321c1793f60.jpg

 P.S. We love Bolle, don't we?  :wub: :lol:

 

Trash80toHP_Mini

NIGHT STALKER
Woohoo! Well, not 100%-Woohoo but it shows that we're getting somewhere. I assume a deadlock where the CP waits for an answer from the C040 at a given address ($5300 0000) on which little SE/30 is deaf, dumb and blind.
I hope you can get the drivers hacked to get something going on Bolle's PowerCache Adapter, but I wonder?

That's why I'm rooting for the zombie attack on the IIcx 68030 socket adapter flank. Gotta be easier to fake up a virtual IIcx setup from the socket. Have you got any kind of PDS Video Card to test the SE/30 with the Video ROM pulled? You said you're using a clean ROM, is it big's universal MacII series ROM? I've got a terrible vision of the need disable onboard video to win the Gestalt ID battle between the drivers and the SE/30 to get the Carrera to use IIcx ROM routines that the SE/30 doesn't. That would all but require having the Xceed internal GS Card I'll never own to get Carrera up and running in an SE/30  .  .  .  not that I'll ever have a Carrera. :blink:

Hoping your MacsBugs degubbing goes well, I figured that puppy would come in handy somewhere along the line of development.

Question: does the Carrera INIT load before or after AppleTalk installs?

 

tt

Well-known member
@GeekDot I am not sure if I followed what you did, but I tried v1 control panel (linked on the first page) and the Startup Carrera extension with a 32-bit clean ROM. Here is the screen that came up:

OkX6rYk.png.7fbb6c00d0b2805d6b4f24036d7f8e2d.png


 

GeekDot

Well-known member
@GeekDot I am not sure if I followed what you did, but I tried v1 control panel (linked on the first page) and the Startup Carrera extension with a 32-bit clean ROM. Here is the screen that came up:
You took the V1 from this archive, right? That's what I'm using on my SE/30, too.

Which System version are you running? Have you installed it "for every Macintosh" as described in the Carrera ReadMe? 

Error 10 explained:

"There are many routines in the Macintosh ROM that can be called by placing instructions in a program that aren't in the 68000's vocabulary. When the 68000 encounters such an instruction, it looks it up in the instruction table. This table gives the location of routines paired with each instruction. If it finds an entry in the table for the instruction, it branches to the routine. If there's no entry for the instruction, you see one of these errors."

What kind of ROM is yours? I'm using the BMoW image in an Rominator II. 

Quick progress-update:
I'm currently still aiming in, where the code crashes. It's tedious as I have to manually trace closer to "the edge" but try not to fall off the cliff. If I did - and I did many times - rinse & repeat.

But as far as I see, it currently crashes in the "loader" or returning from it. A bit strange because all it does is load the init and display the Icon, mainly using "ShowInit" by Paul Mercer (Man, I'm really getting sucked into this control panels code)

BTW: Found these lines along the CPs code... maybe one of the names rings a bell for someone in the forum? (Buddy from back in the days, have a beer, get the code ;) )...

"Software By Scott Coleman, Hardware By Bob Richie, CDEV by Hilla Pedramparsi Additional fixes & System 7.5.x compatibility by Glenn L. Austin"

 

Trash80toHP_Mini

NIGHT STALKER
Very hazy images: first cuppacoffee level notions.

Hadn't known you were using that ROM, that may not be all that good an idea.

STEP 3: Install a Universal System


Use your System installation disks and do a "Custom Install for any Mac". DO NOT install a minimum System OR the System for your particular Mac. With Installers prior to 7.5 you can shift click to select multiple options (such as printers and networking) at the same time.


 


STEP 4: For Mac IIx and IIcx only.


Install Mode32 Mode32 is located on the Utilities disk provided with the Carrera040.




IMO you really should be going back to a baseline configuration for testing driver mutilations.

For all practical purposes, the SE/30 is a Macintosh IIcx with the Slot ID memory mapping/IDs of ts NuBus slots munged up. A very good thing ***

- PseudoSlot video card located at Slot $E (IIcx no gots) directly on the MC68030 bus and equivalant to NuBus Slot $B in IIcx (passive adapter)

- Physical NuBus slots $9, $A ????? :blink:

Carrera INIT is loading before or after MODE32 INIT?

NODE32 achieves the same result as installing a clean ROM (using a software patented workaround for dirty ROM machine state only)

- - - IICI ROM cleanliness didn't violate that patent AFAIK, so it's a different animal

So your universal Macintosh II ROM installation does not translate into applying Connectix' fix for (required) memory cleanup of dirty ROM. We've identified at least one SE/30 card that loses its lunch in its attempts to digest a clean ROM machine state, some video card I'd more likely remember if I was awake.

< posts drivel in as is condition and heads back to bed >

*** means there's some elbow room for mucking about in the SE/30 ROM's memory remap kluge.
 

Trash80toHP_Mini

NIGHT STALKER
That is just so UGLY! Forgot / in the end quote tag and I can't fix it in the edit window. bold txt is end of quote: all else is commentary.

 

Bolle

Well-known member
Just picked my Carrera040 up at the customs office. Time to get the IIci out of the basement and hook the thing up to the LA to see what really is going on with bus takeover once the INIT loads.

Got a paper copy of the manual with it, do we have that already somewhere or should I scan it?

 

Bolle

Well-known member
First thing sure should be to solder a few wires to your new 150 EUR toy...

IMG_4027.JPG

At least we know now that it's doing it by the book:

Bildschirmfoto 2018-02-23 um 18.44.34.png

This is when the INIT loads or everytime you pull the lever in the CP to one of the 040 options. It stays that way in normal operation. If you pull the lever to 030 in the control panel it just releases /BGACK and the 030 then kicks in again. Now over to the SE/30 to see if it even reaches that point...

 
Last edited by a moderator:
Top