BlueSCSI on Macintosh Portable

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
...which resistors need to be changed, and to what values, to avoid trouble when used on a 5120 or 5126 Macintosh Portable?
Well, it seems like no one yet knows. But when someone does know, I look forward to hearing that info. Thank you!
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
The RAM card listing in my shop has been updated with a dropdown.
Basic: No switches, always 7 megs of RAM (Except M5126, that one sees 3 without a jumper wire)
While waiting for the answer about the resistors (see my previous 2 posts -- sorry, but I am persistent when it comes to seeking important replies), I would like to inquire about the Androda/TechKnight RAM card because the quote above mentions only 7MB of RAM.

I recently acquired a Backlit Portable (hasn't been shipped to me yet), which has the MacEffects/TechKnight RAM card designed in 2014. With the /AS jumper wired from the MacEffects card to the /AS pin, the 5126 Backlit Portable reports 8MB of RAM...

1709624206209.png 1709624413684.png

I'm curious if the 5126 would report the same 8MB of RAM when using the Androda RAM Card, just like the MacEffects card, or is there is a limitation in the Androda RAM Card design that limits it to 7MB? (Mind you, I don't see this as a flaw. I am just curious.)
 

Androda

TinkerDifferent Board Secretary 2023
Staff member
Sep 25, 2021
510
551
93
USA, Western
androda.work
A Backlit Portable as shipped by Apple is capable of addressing up to 8 MB of RAM. There is one megabyte on the motherboard, and my RAM card design provides an additional 7. But the Backlit Portable will only see 4MB of that 7 when in the RAM slot, because Apple changed the RAM decode logic between M5120 and M5126.

To get the full 7 of expansion, you have to hook up the /AS line to the ROM or PDS similar to the Techknight/MacEffects version. The RAM card memory does not "replace" onboard memory but acts as an expansion, and thus should provide 8 megabytes of total RAM on an M5126 with the /AS wire connected to the right place.
 
  • Love
Reactions: JDW

Androda

TinkerDifferent Board Secretary 2023
Staff member
Sep 25, 2021
510
551
93
USA, Western
androda.work
Well, it seems like no one yet knows.
I've done a schematic diff between older and newer BlueSCSI versions to remind myself what the issue was, and wrote a section on the BlueSCSI V2 Wiki on the subject:

The issue was pull resistors, and the instructions there are on how to add the proper pulls. Note that I have not tested this yet because it's entirely based on the schematic differences. But it should work, because those schematic differences are what resolved the sleep issue on later hardware versions.
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
@Androda
Thank you very much for your two replies.

So if we look at U7 in your marked-up PCB layouts for older BSv2's, we see for example that one side of the 4.7kΩ resistor (that must be added) goes from Vcc (pin14) of U7, and the other side of that resistor goes to pins 4 (2OE) & 5 (2A) because 4 & 5 are connected together:

1709676871719.png 1709677075302.png

I understand it is not tested, but thank you for the information!
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
@Androda
Sorry for my delayed reply. I've been busy testing the Portable's audio issues here and didn't have time until today to revisit this thread.

QUESTION: The text on your Github page says "either... or..." and not "both" so I just want to reconfirm that info is accurate. I am talking about this...

1712025212311.png

In other words, if that Github text is accurate, that means the fix for my 2023.03a edition BSv2 board requires only a single 4.7kΩ resistor, not two. And it's then my choice whether to solder that 4.7kΩ resistor to C13 or C9. Correct?




Different topic...
I have a collection of pretty much all Portable RAM cards.. that I'm aware of anyway. I will try find some time and document the experience with each.
Your post above is dated July 2023, Gavin. Did you ever make time to test your RAM cards?
 

Androda

TinkerDifferent Board Secretary 2023
Staff member
Sep 25, 2021
510
551
93
USA, Western
androda.work
the fix for my 2023.03a edition BSv2 board requires only a single 4.7kΩ resistor, not two
Two resistors are required. One end of the resistor connects to the point on the Pico header as shown. The other end of the resistor may connect to either of the specified points on the left of C13 or C9.
 
  • Like
Reactions: JDW

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
Two resistors are required. One end of the resistor connects to the point on the Pico header as shown. The other end of the resistor may connect to either of the specified points on the left of C13 or C9.
Thanks, I will do that tomorrow!
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
And here is the Macintosh Portable sleep-fix on my BSv2 "fork" board, as per the Github instructions for 2023.03a:

1712137248985.png


1712137278795.png
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
Heres some speed test results before sleep and after using Speedometer 3.23 (not sure what units those numbers are in but quite a difference):
1.252 before sleep.
0.551 after sleep.
I too ran Speedometer 3.23 this evening. And I would encourage everyone else who posted benchmarks to report WHICH VERSION of Speedometer was used because the numbers change a lot among different Speedometer versions. Also note that Speedometer version 4 crashes with a trap error on my 5126 Backlit Portable for reasons unknown.

With a MacEffects 7MB RAM card installed and with the little /AS jumper wire in place to enable all 7MB of RAM (8MB total RAM), while booted into System 6.0.8 with the version 1.3 "Portable" control panel loaded, I ran Speedometer 3.23 and got this result.

1712312465693.png

I then put the machine to SLEEP. Waited a few moments. Then woke the machine. It's instant on. As soon as I press a key, the LCD comes alive and I can click menus. Very responsive. I then launched Speedometer 3.23 and got pretty much the same score, as follows:

1712312562030.png

I should mention that when I measure voltage across axial capacitor C16 (which supports the main 5V rail), I get 5.28v when sleeping and when Shutdown too. Keep in mind I have the Battery Eliminator. The only way I can get voltage across C16 to drop to 0V is if I yank the Portable's AC Adapter from either the wall or the Battery Eliminator. Voltage measured across C16 drops pretty fast too, especially if the machine is powered. And once it drops to about 8mV or less, I then proceed to do things like disconnect the LCD, remove or add cards, etc. I realize the Battery Eliminator is still charged so I don't touch that until I am ready to put my Portable away, and then I short the 2 pins on it with the included jumper, which slowly drains the super capacitors over the course of an hour or so.

The reason I mention this is because I think someone said earlier in this thread that their voltage dropped to zero during Sleep. Could be it's different on the 5120 non-backlit. Could be you didn't use the Battery Eliminator. Not sure, but my experience on the 5126 shows 5.28V across C16 even during Sleep.

For my next test, I removed the little /AS jumper wire on the back my MacEffects RAM Card. I did NOT add back the regular jumper which shorts the 2 pins. Neither the MacEffects documentation nor the @Androda documention mentions this, but when I leave those two pins on back open and not connected to anything, the card is not recognized, and I see 1MB of total RAM at boot time. Not sure if it is acceptable or bad to do that, but it works, and it means I don't need to fully remove the RAM card in order to boot the Mac without the RAM card. Nice.

In that 1MB config, I get the most speed, as you can see:

1712312616635.png

After sleep/wake, the machine still runs fast (1MB config):

1712312668603.png

I then powered off such that the voltage across C16 dropped to 7mV or less, then disconnected and removed my LCD, then I added the little jumper connector across both pins on the back of my MacEffects RAM card, giving me 5MB of total system RAM (including the 1MB of motherboard RAM).

I then tested the CPU again in Speedometer 3.23 while booted into System 6.0.8:

1712312787082.png

I then put the machine to Sleep, woke it after a few minutes, then ran Speedometer 3.23 again (5MB config):

1712312822816.png

And there you have it.

Oh, and throughout all the testing, I still get the little tick sound from the speaker (and headphones) every 10 seconds because I am using the v1.3 "Portable" control panel. So if there is code triggering that tick sound, well, it's clear that code continues to run even during Speedometer CPU tests.

NOTE: In all the testing above, I booted from a BlueSCSIv2 (Mac Plus code in INI file) that had the resistor hack applied.

CONCLUSION: A CPU score of 1.894 is 26% slower than 2.566. Therefore, when using a 5126 Backlit Portable, use only 4MB on your RAM card (5MB total) or no RAM card at all (1MB total) to yield the full performance potential of your 16MHz 68000 CPU.
 

Androda

TinkerDifferent Board Secretary 2023
Staff member
Sep 25, 2021
510
551
93
USA, Western
androda.work
For my next test, I removed the little /AS jumper wire on the back my MacEffects RAM Card. I did NOT add back the regular jumper which shorts the 2 pins. Neither the MacEffects documentation nor the @Androda documention mentions this, but when I leave those two pins on back open and not connected to anything, the card is not recognized, and I see 1MB of total RAM at boot time. Not sure if it is acceptable or bad to do that, but it works, and it means I don't need to fully remove the RAM card in order to boot the Mac without the RAM card. Nice.
The /AS line is used to determine whether the RAM upgrade card should be "selected" for use by the system. Removing that jumper "floats" the /AS input so depending on your local electromagnetic interference it might disable the RAM card.

Or it might cause problems if sometimes the card thinks it's selected and other times it does not - the Portable does not "gracefully" handle partial megabyte RAM upgrades. Doesn't handle them at all that I know of, and expects full megabyte-chunks only.
 
  • Like
Reactions: JDW

Sideburn

Tinkerer
Jun 16, 2023
258
84
28
California
youtube.com
And here is the Macintosh Portable sleep-fix on my BSv2 "fork" board, as per the Github instructions for 2023.03a:

View attachment 15986

View attachment 15987

nice fix. That board is different than mine. Mine has a power connector on the bottom left and that’s where I’m jumpering 5v to gf the floppy drive to it to do the sleep fix originally.

just to clarify and refresh my memory there were two sleep related issues back then

• taking several minutes to come back up after wake from sleep (BlueSCSI board power up delay I fixed jumpering power off floppy drive and now fixed with the resistor mod).

• cpu slow down after wake from sleep (7MB on an Androda ram card - fixed in newer release version and mod available).
 
Last edited:
  • Like
Reactions: JDW

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
• cpu slow down after wake from sleep (7MB on an Androda ram card - fixed in newer release version and mod available).
Was it really "fix"?

I thought there was an updated RAM card from Androda with a new switch, but then it was found to have manufacturing issues (currently being resolved). Even so, the switch was supposed to allow the user to basically do what I did. Switch to a lower amount of RAM for faster CPU speed, or get the full RAM with the speed hit. In other words, it wouldn't be a fix (as that would give you full RAM with no speed hit), but rather the RAM card update is just an easier way to choose RAM amount.
 

Sideburn

Tinkerer
Jun 16, 2023
258
84
28
California
youtube.com
Was it really "fix"?

I thought there was an updated RAM card from Androda with a new switch, but then it was found to have manufacturing issues (currently being resolved). Even so, the switch was supposed to allow the user to basically do what I did. Switch to a lower amount of RAM for faster CPU speed, or get the full RAM with the speed hit. In other words, it wouldn't be a fix (as that would give you full RAM with no speed hit), but rather the RAM card update is just an easier way to choose RAM amount.
For the ram? Yes. Not a fix. A bandaid.

It was an issue addressing the full 7MB so he made a mod daughter board so you could change it to 5MB. Later version had the mod built into the board.

you could have sent the board to him and he would add the daughter board with the switch on it.
 
  • Like
Reactions: JDW

SuperSVGA

Tinkerer
Mar 26, 2022
64
34
18
The RAM speed issue is due to a DTACK register not being accessed when the system wakes from sleep. The last 4MB of RAM from 4MB-9MB is run differently due an unreleased expansion card system, and if that register is not accessed after the CPU GLU is reset then the DTACK delay will be much higher for that region of memory.

There are a few points I know of where that register is accessed bringing the 4MB-9MB range of memory to full speed:
  • At initial startup, when memory sizing is run as well as when the EDisk driver is loaded.
  • Periodically by earlier versions of the backlight driver to check for the presence of backlight hardware
  • When the Brightness control panel is opened on System 7.1
So for example when returning from sleep on System 7.1 that register isn't normally accessed, so that region of memory runs slowly.

Any access at all is sufficient, such as a simple tst.w $FC0200 instruction or running DM FC0200 from the debugger.
 
  • Like
Reactions: JDW

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
The RAM speed issue is due to a DTACK register not being accessed when the system wakes from sleep. The last 4MB of RAM from 4MB-9MB is run differently due an unreleased expansion card system, and if that register is not accessed after the CPU GLU is reset then the DTACK delay will be much higher for that region of memory.
In your post here in my pop noise thread, you said the v1.3 "Portable" control panel for System 6 includes 2 ROM patches. I have no idea how all that works, but it makes me wonder if the ROM could similarly be patched in this case too, such that the DTACK register WOULD be accessed on wake from Sleep, thereby eliminating the 26% processor speed slowdown when you have a 7MB RAM card installed and want to use all that RAM. Thoughts?
 

SuperSVGA

Tinkerer
Mar 26, 2022
64
34
18
In your post here in my pop noise thread, you said the v1.3 "Portable" control panel for System 6 includes 2 ROM patches. I have no idea how all that works, but it makes me wonder if the ROM could similarly be patched in this case too, such that the DTACK register WOULD be accessed on wake from Sleep, thereby eliminating the 26% processor speed slowdown when you have a 7MB RAM card installed and want to use all that RAM. Thoughts?
It wouldn't necessarily have to be a ROM patch, as you would have to find a point to insert the instruction. Ideally you'd want it to run when system resumes from sleep but not more than once, and I think patches only run when the OS is running. A regular extension of some sort might be easier.
 
  • Like
Reactions: JDW

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
It wouldn't necessarily have to be a ROM patch, as you would have to find a point to insert the instruction. Ideally you'd want it to run when system resumes from sleep but not more than once, and I think patches only run when the OS is running. A regular extension of some sort might be easier.
Well, that is beyond my capabilities. But perhaps someone much smarter than me, like @Androda , might be able to accomplish that.

The goal here is to get all 7MB of a RAM Card to work without taking that 26% CPU speed hit.
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
More benchmarks with the 5MB RAM setting (i.e., maximum CPU performance), and with BlueSCSIv2 using the MacPlus code in the .ini file:


Below labeled "Mac SE" is an unaccelerated 8MHz Mac SE compared to 5126 Backlit Portable ("This Machine") at left (Speedometer 3.23):

1712638272238.png



Below is the same SE as above but now with a Levco/SuperMac "Speedcard" that uses a 16MHz 68000 CPU & 68881 FPU:

1712638250685.png


As you can see from the above, the Portable kicks SpeedCard booty, even without an FPU.


BlueSCSIv2 performance:

1712638557927.png



Norton 3.5.3's "System Info" benchmark interestingly shows the CPU clock speed to be 11MHz, which is not correct:

1712638651586.png


NOTE: I also obey the rules when it comes to System Info, disabling AppleTalk and setting Disk Cache to 128K.


Norton SYSTEM INFO's "System Rating" is the overall speed (including disk performance), and shows a nice boost over the SE:

1712638753079.png



SYSTEM INFO's "CPU Rating" shows the Portable ("Current System") is 2.32 times faster than a stock SE:

1712639085217.png
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,654
1,414
113
53
Japan
youtube.com
Bad news, folks. I just got BSv2 WIFI to work under System 6.0.8 on my 5126 Portable, but I am finding that whenever the ACT LED is flashing, if the machine is put to Sleep manually or goes to Sleep automatically, when I press any key to wake, the machine freezes. For details, see the ending of my post below:


Bear in mind that I have the Resistor Mod installed.

Any thoughts?

I just tried it with WIFI working in System 7.5.5 on my Portable, and oddly, when I try to put it to Sleep via the Special menu, the OS only beeps at me and it refuses to sleep. That is with BlueSCSI's WIFI access LED flashing. If I repeatedly try to put it to Sleep, eventually the menubar becomes grayed out and I have to push the Reset button to restart.

tempImagezSs7Ku.png