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

ROM hacking in the 68040 Macs

Jockelill

Well-known member
As some people here already know, I have spent the last couple of months getting to know the Quadra (1MB) ROMs better and get a ROM disk working for it. The basic idea was simply "if we can have a ROM disk for the SE/30, why not for my Q900?".


I started by reading up on Rob Braun's excellent site (http://www.synack.net/~bbraun/macromboot.html), it contains tons of great information, and his work was truly groundbreaking! He links to a lot of old 68k-threads that are sadly lost, but on his site is also a lot of other useful information, how he added ROM disk on Classic II (http://www.synack.net/~bbraun/classic2.html) and his memory hacks for the Quadra's (http://www.synack.net/~bbraun/djmemcrom.html).

My first dev machine was a Q900 board that I got from @jajan547. First i needed to design a little PSU adapter for it, so I based a design of @Melkhior's excellent ATX to IIci design to create a small "bench test PSU". And well, it all worked fine :). The Q900 uses the exact same ROM as the Q700 and the later Q950 ROM actually also works in all these machines, later ROMs (Q650, LC475) would chime but not output video. Fun fact, the Q950 ROM is the very last "universal ROM" and will also boot a IIci and SE/30 but adds no extra functionality so it makes little sense.

q900_board.jpg

Since I now had a "universal ROM", I figured the Q950 was a good start for some ROM hacking. I'm fairly good at pattern identification (work habit), so I started searching for the same bit patterns in the Q950 ROM as Braun had hacked in the IIsi ROMs, and well, what do you know, I could identify first the ROM check and disable it, RAM check and the same atBOOT driver as used in the IIsi. I then modified the 096 driver braun has to have a 7MB ROM disk and rom disk placed at 40900000 since these ROMs are 1MB, recompiled (had to setup a virtual G3 running OS9 and Codewarrior 6 to do that, but that's a side track) and byte copied the bytes into the place where atBOOT used to be, and it was successful in the sense that I could see the driver being loaded, hold down R, but would get a question mark each and every time no matter what a tried.

So I needed some help :). Since I've been working extensively with @dougg3 to create a new version of his ROM Simm Programmer (https://ko-fi.com/s/d6e7e4494d), and I knew he is close to a genius when it comes to ROMs and ROM hacking, he helped me setup some tools and I started to poke the memory. Quite soon we where able to find the main issue, the Q900 only maps up 1MB of ROM space by default so the ROM disk would never be mounted since that part of the memory is not available to the ROM. Doug thought for a while and came up with the brilliant solution to hack the MMU tables found in the upper register of the ROM, so I modded my ROM as per his suggestions, and what do you know, IT WORKED!!! For the first time (well, at least as far as me and @dougg3 knows ;)) we had a working ROM disk for the Q900!! WOOT!! WOOT!!
q950_DM.jpg7MB_system.jpg


Now, strengthened by my success, I decided to attack the LC475 since I also had one in my shop. It has a provision for a ROM socket, but normally none added by default. Since I already had sockets around for building programmers, I decided to solder in a ROM socket, and then adapt the modifications and ROM disk driver I had for the Q900 (the LC475 is similar as the 900, but locations are of course different), but unfortunately it would give me sad chimes no matter what I tried.

At first I thought I had made some mistakes in my hacking, so I started removing stuff until in the end I had only 1 byte changed (and corrected checksum), but would still not boot, so, I decided to burn in a stock ROM and it booted just fine. I had some suspicion that there was some conflict with the onboard ROM, so I decided to lift the VCC leg of each ROM, and what do you know, it booted just fine of my hacked ROM! I quickly put back all the mods, and quite soon I had ROM disk driver also working for the LC475 if the legs of the onboards ROM where lifted. About the same time some Apple schematics started to leak here on 68k ;), and me and @dougg3 quickly realized that the pinning for the ROM simm on the Quadras is actually different of that of the IIsi!

Doug has written about it all on his excellent blog:

With this in our mind, me, @dougg3, @WillJac, @jajan547, @JDW and @bigmessowires started to talk about viable solutions. Me and @dougg3 built hacked ROMs where we had simply cut some traces and bodged over to the correct place, and that made it boot in the LC475 with the onboards SIMM still active, but that would render the SIMM useless in a IIsi, so @dougg3 came up with a solution of having a small mechanical switch. You would switch over to SE/30 mode or back to "quadra mode". Doug built a mockup and I designed and built a small series which worked, but we all realized that this would be less than ideal for the normal user, and also with risk of damage to some logic boards if the switch was in the wrong place. So Doug reached out on his blog, and a lot of people pitched in with different ideas, but in the end we stuck with the idea from Steve Chamberlain from @bigmessowires to use a Comparator in conjuction with a TMUX to switch the necessary pins. I once again designed a new board and did a small run just to realize that we all three had missed a crucial point in the data sheet, that was quickly resolved with some bodges and addition of two resistors.

switch.jpgtmux_proto.jpg

When reading the leaked schematics, @doug realized that the memory controller in the Quadra's actually seemed to support "in system flashing", and by coincidence someone had bought a prototype Powerbook 520 back in 2020 and found a mysterious software on it:
https://macintoshgarden.org/apps/flash-rom-utility

Doug realized exactly what it was and started to build a replica of the Lobos flashable ROM SIMM used in some Apple prototypes.

He was very succesful and could soon reflash the onboard ROM in his machine :). Doug started to dissassemble and hack the flasher and quite soon he was able detect and reflash also the new universal 8MB ROM inside the machine!!

flasher.jpg

But as often with these projects, there are some clouds in the sky. It turned out that the onboard Memory controller can only flash the upper 4MB address space, so there is no way it could reflash the whole 8MB. Back to the drawing board! We needed a 4MB universal ROM:
4MB rom.jpg

But, since I had changed Onedrive due to a company merger, I made the same mistake as on the 8MB ROM and missed the 2 resistors needed... Some bodges and resistors later, and I had a 4MB Universal ROM SIMM:
4MB bodged.jpg

So, today, in December, we have 4MB ROMs and are on a good way to also have them flashable inside the system (that is for @dougg3 to tell you all about) :).

The 8MB universal ROMs are on sale already now:

If you are in the EU, send me a PM (I live in Sweden) and we can figure something out.
4MB will follow in January.

On this Github I'll publish all the ROMs I've played with so far:


The first one is a ROM that works in 610, 650, 80, 475 and 575.

There are some known bugs:
*The ROM disk will not mount if you have a mechanical hard drive or SCSI2SD. With Bluescsi or Zuluscsi it works fine.


I will also add some textfiles with what I have actually changed and why later today.

Hopefully this can be thread of Quadra hacking. At the moment my local folders with ROMs are really messy, so I need to clean it all up before I can publish. I might have missed some points above, but others will fill in :).

Added is also the ROM I now use in my 650 and LC475. Feel free to play.
 

Attachments

  • LC475_Q650_nomem_no_checksum_romdrv_SYSTEM.zip
    4.9 MB · Views: 0
Last edited:

zigzagjoe

Well-known member
Fantastic info. I've got a ROM SIMM project of my own in the works, so this is useful stuff.

What do you do to mitigate the board thickness issues?
 

Jockelill

Well-known member
Fantastic info. I've got a ROM SIMM project of my own in the works, so this is useful stuff.

What do you do to mitigate the board thickness issues?
For the newer Macs that has simm sockets with metal tabs, I've honestly never had any issues with the 1.2mm standard boards. If you would have issues, you can use the excellent ROM clips created by @PotatoFi and/or if you buy leaded boards, it's easy enough to add a little extra tin to the pads on the boards with hot air and solder. For the 475/575/650 I've anyway installed new sockets and these just works.
 

olePigeon

Well-known member
@zigzagjoe I think I read somewhere else on the forums that people had good success with having the leads tinned by the manufacturer. That added some extra thickness that seemed to help.
 

WillJac

Well-known member
As some people here already know, I have spent the last couple of months getting to know the Quadra (1MB) ROMs better and get a ROM disk working for it. The basic idea was simply "if we can have a ROM disk for the SE/30, why not for my Q900?".


I started by reading up on Rob Braun's excellent site (http://www.synack.net/~bbraun/macromboot.html), it contains tons of great information, and his work was truly groundbreaking! He links to a lot of old 68k-threads that are sadly lost, but on his site is also a lot of other useful information, how he added ROM disk on Classic II (http://www.synack.net/~bbraun/classic2.html) and his memory hacks for the Quadra's (http://www.synack.net/~bbraun/djmemcrom.html).

My first dev machine was a Q900 board that I got from @jajan547. First i needed to design a little PSU adapter for it, so I based a design of @Melkhior's excellent ATX to IIci design to create a small "bench test PSU". And well, it all worked fine :). The Q900 uses the exact same ROM as the Q700 and the later Q950 ROM actually also works in all these machines, later ROMs (Q650, LC475) would chime but not output video. Fun fact, the Q950 ROM is the very last "universal ROM" and will also boot a IIci and SE/30 but adds no extra functionality so it makes little sense.

View attachment 66718

Since I now had a "universal ROM", I figured the Q950 was a good start for some ROM hacking. I'm fairly good at pattern identification (work habit), so I started searching for the same bit patterns in the Q950 ROM as Braun had hacked in the IIsi ROMs, and well, what do you know, I could identify first the ROM check and disable it, RAM check and the same atBOOT driver as used in the IIsi. I then modified the 096 driver braun has to have a 7MB ROM disk and rom disk placed at 40900000 since these ROMs are 1MB, recompiled (had to setup a virtual G3 running OS9 and Codewarrior 6 to do that, but that's a side track) and byte copied the bytes into the place where atBOOT used to be, and it was successful in the sense that I could see the driver being loaded, hold down R, but would get a question mark each and every time no matter what a tried.

So I needed some help :). Since I've been working extensively with @dougg3 to create a new version of his ROM Simm Programmer (https://ko-fi.com/s/d6e7e4494d), and I knew he is close to a genius when it comes to ROMs and ROM hacking, he helped me setup some tools and I started to poke the memory. Quite soon we where able to find the main issue, the Q900 only maps up 1MB of ROM space by default so the ROM disk would never be mounted since that part of the memory is not available to the ROM. Doug thought for a while and came up with the brilliant solution to hack the MMU tables found in the upper register of the ROM, so I modded my ROM as per his suggestions, and what do you know, IT WORKED!!! For the first time (well, at least as far as me and @dougg3 knows ;)) we had a working ROM disk for the Q900!! WOOT!! WOOT!!
View attachment 66719View attachment 66720


Now, strengthened by my success, I decided to attack the LC475 since I also had one in my shop. It has a provision for a ROM socket, but normally none added by default. Since I already had sockets around for building programmers, I decided to solder in a ROM socket, and then adapt the modifications and ROM disk driver I had for the Q900 (the LC475 is similar as the 900, but locations are of course different), but unfortunately it would give me sad chimes no matter what I tried.

At first I thought I had made some mistakes in my hacking, so I started removing stuff until in the end I had only 1 byte changed (and corrected checksum), but would still not boot, so, I decided to burn in a stock ROM and it booted just fine. I had some suspicion that there was some conflict with the onboard ROM, so I decided to lift the VCC leg of each ROM, and what do you know, it booted just fine of my hacked ROM! I quickly put back all the mods, and quite soon I had ROM disk driver also working for the LC475 if the legs of the onboards ROM where lifted. About the same time some Apple schematics started to leak here on 68k ;), and me and @dougg3 quickly realized that the pinning for the ROM simm on the Quadras is actually different of that of the IIsi!

Doug has written about it all on his excellent blog:

With this in our mind, me, @dougg3, @WillJac, @jajan547, @JDW and @bigmessowires started to talk about viable solutions. Me and @dougg3 built hacked ROMs where we had simply cut some traces and bodged over to the correct place, and that made it boot in the LC475 with the onboards SIMM still active, but that would render the SIMM useless in a IIsi, so @dougg3 came up with a solution of having a small mechanical switch. You would switch over to SE/30 mode or back to "quadra mode". Doug built a mockup and I designed and built a small series which worked, but we all realized that this would be less than ideal for the normal user, and also with risk of damage to some logic boards if the switch was in the wrong place. So Doug reached out on his blog, and a lot of people pitched in with different ideas, but in the end we stuck with the idea from Steve Chamberlain from @bigmessowires to use a Comparator in conjuction with a TMUX to switch the necessary pins. I once again designed a new board and did a small run just to realize that we all three had missed a crucial point in the data sheet, that was quickly resolved with some bodges and addition of two resistors.

View attachment 66721View attachment 66722

When reading the leaked schematics, @doug realized that the memory controller in the Quadra's actually seemed to support "in system flashing", and by coincidence someone had bought a prototype Powerbook 520 back in 2020 and found a mysterious software on it:
https://macintoshgarden.org/apps/flash-rom-utility

Doug realized exactly what it was and started to build a replica of the Lobos flashable ROM SIMM used in some Apple prototypes.

He was very succesful and could soon reflash the onboard ROM in his machine :). Doug started to dissassemble and hack the flasher and quite soon he was able detect and reflash also the new universal 8MB ROM inside the machine!!

View attachment 66723

But as often with these projects, there are some clouds in the sky. It turned out that the onboard Memory controller can only flash the upper 4MB address space, so there is no way it could reflash the whole 8MB. Back to the drawing board! We needed a 4MB universal ROM:
View attachment 66724

But, since I had changed Onedrive due to a company merger, I made the same mistake as on the 8MB ROM and missed the 2 resistors needed... Some bodges and resistors later, and I had a 4MB Universal ROM SIMM:
View attachment 66725

So, today, in December, we have 4MB ROMs and are on a good way to also have them flashable inside the system (that is for @dougg3 to tell you all about) :).

The 8MB universal ROMs are on sale already now:

If you are in the EU, send me a PM (I live in Sweden) and we can figure something out.
4MB will follow in January.

On this Github I'll publish all the ROMs I've played with so far:


The first one is a ROM that works in 610, 650, 80, 475 and 575.

There are some known bugs:
*The ROM disk will not mount if you have a mechanical hard drive or SCSI2SD. With Bluescsi or Zuluscsi it works fine.


I will also add some textfiles with what I have actually changed and why later today.

Hopefully this can be thread of Quadra hacking. At the moment my local folders with ROMs are really messy, so I need to clean it all up before I can publish. I might have missed some points above, but others will fill in :).

Added is also the ROM I now use in my 650 and LC475. Feel free to play.
Just made 15 of the 4mb rom SIMMs and will be adding them to the store in the next day or so. If anyone wants one before I add them, hit me up with a DM. I am in Florida a few more days so I can ship it out asap.
IMG_1524.jpeg
 

Forrest

Well-known member
Looks good. I plan on getting one if the incompatibility with mechanical hard drive can be resolved.

i like the Caymac Vintage logo - spent a week on vacation on Grand Cayman this year.
 

WillJac

Well-known member
Looks good. I plan on getting one if the incompatibility with mechanical hard drive can be resolved.

i like the Caymac Vintage logo - spent a week on vacation on Grand Cayman this year.
Come visit again and we link up even if just for a drink or lunch or vintage tech stuff. lol.
 

Jockelill

Well-known member
Here is a file (including system) for the Q700/Q900/Q950.
 

Attachments

  • Quadra_950_no_mem_test_no_checksum_SYSTEM.zip
    1.3 MB · Views: 3

zefrenchtoon

Well-known member
Any link to find the "good" rom simm socket to put in a 475 please ? :)
I would love to be able to "play" with mine too ^^

Or if you have a spare one @Jockelill , I could buy it one along with a flashable ROM stick as I am in France.
 

WillJac

Well-known member
Any link to find the "good" rom simm socket to put in a 475 please ? :)
I would love to be able to "play" with mine too ^^

Or if you have a spare one @Jockelill , I could buy it one along with a flashable ROM stick as I am in France.
In a few days, the store will have them as an add on when you purchase any universal rom. They are on the way to @jajan547 to fulfill the orders.
 

Jockelill

Well-known member
Some details as promised:

First thing you want to remove is the checksum test:

This sits at 46E30:

Checksum test at 46E30:

Original:

3E 3C 00 01 4D FA 00 06 4E FA 06 C6 4A 86 66 00 2C BA 42 47 74

mod:

3E 3C 00 01 4D FA 00 06 4E 71 4E 71 4E 71 4E 71 4E 71 42 47 74



We replace the test with NOP (4E71)



Next up are the memory tests:

at 47280 change to 4ED6 (JUMP [A6])

at 47398 change to 4ED6 (JUMP [A6])



Just these two mods are really nice since now the computer will start a lot faster with a lot of RAM installed :).



If we now want also a ROM and RAM disk we need to change a lot more.



First we need to modify the MMU tables to allocate 8MB ROM space (THANK YOU @dougg3):

Change 0x80219 from 0x10 to 0x80

Change 0x80220 from 0x10 to 0x0F

Change 0x80221 from 0x60 to 0xF0

Change 0x80BC3 from 0x10 to 0x80

Change 0x80BCB from 0x10 to 0x80



Next we also need to change the way the ROM size is determined (this is just a rip from Rob Braun, but adapted for the Q950):

24bit vs 32bit access

at 8145E:

Original:

C3 8B 32 FC 00 02 32 FC 00 01 47 F9 FF F7 EB A8 47 FB B8 F8 22 CB 20 2B 00 40 22 C0 C3 8B 22 2D FF 48 22 C1 22 C0 02 81 00 FF FF FF 22 C1 22 C0 C3 8B 4E 75

Brauns mod (fixed pointer but with 1MB for ROM):

C3 8B 32 FC 00 02 32 FC 00 01 22 FC 40 80 00 00 22 FC 00 20 00 00 22 FC 40 80 00 00 22 FC 00 20 00 00 22 FC 00 80 00 00 22 FC 00 10 00 00 4E 71 C3 8B 4E 75





Next we need to tell the computer do load the disk driver at 1700:

Load driver at 1700:

Original:

0C 6A FF FB 00 08 4E 75 00 00 00 00 00 00 00 00

Change to:

0C 6A FF FB 00 08 67 06 0C 6A FF CE 00 08 4E 75



Next we switch to atBOOT at 51D40

Change to 78 instead of 18 to load atBOOT



Then starting at 51D70 copy in the following bytes:

Mod:

4F 00 00 00 00 00 00 00 00 32 00 36 00 3A 00 3E 00 42 08 2E 6E 65 74 42 4F 4F 54 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70 00 60 0E 70 01 60 22 70 02 60 1E 70 03 60 1A 70 04 2F 0C 3F 00 2F 09 2F 08 4E BA 00 40 4E BA 03 02 4F EF 00 0A 28 5F 4E 75 48 E7 00 C8 3F 00 2F 09 2F 08 4E BA 00 26 4E BA 02 E8 4F EF 00 0A 4C DF 13 00 B0 7C 00 01 67 0E 08 28 00 01 00 06 66 04 2F 38 08 FC 4E 75 70 00 4E 75 41 FA FF 70 D1 FC 00 00 03 E4 20 08 A0 55 C1 8C 4E 75 4E 75 4E 56 00 00 42 80 30 2E 00 0A 48 40 30 2E 00 08 20 6E 00 0C A0 4E 4E 5E 4E 75 4E 56 FF FE 1D 7C 00 01 FF FF 41 EE FF FF 10 10 A0 5D 10 80 20 6E 00 08 22 6E 00 0C 20 2E 00 10 A0 2E 41 EE FF FF 10 10 A0 5D 10 80 4E 5E 4E 75 4E 56 00 00 48 E7 18 30 28 2E 00 0C 76 01 59 4F 2E BC 00 00 03 08 20 5F 24 68 00 02 60 0E B6 6A 00 06 6E 06 36 2A 00 06 52 43 24 52 20 0A 66 EE 70 30 A7 22 22 44 23 48 00 14 20 44 20 68 00 14 A0 29 20 44 20 68 00 14 24 50 70 40 A5 1E 25 48 00 1E 4A AA 00 1E 66 0A 3F 3C 00 08 A9 C8 70 E9 60 62 41 FA FF 6C 22 6A 00 1E 70 40 A0 2E 20 2A 00 1E A0 55 25 40 00 26 20 3C 00 10 00 00 A5 1E 25 48 00 22 20 2A 00 22 A0 55 25 40 00 2A 26 4A 17 7C FF F0 00 02 17 7C 00 08 00 03 37 43 00 0C 20 44 37 68 00 18 00 0E 37 7C 0C 00 00 12 42 6B 00 14 48 6B 00 06 3F 03 3F 2B 00 0E 4E BA FE F8 70 00 50 4F 4C DF 0C 18 4E 5E 4E 75 4E 56 00 00 48 E7 1C 30 26 6E 00 08 26 2E 00 0C 20 43 4A A8 00 14 66 06 70 BF 60 00 01 78 20 43 20 68 00 14 24 50 4A 2A 00 2E 66 00 00 94 15 7C 00 01 00 2E 10 38 01 75 02 40 00 80 66 3A 59 4F 2E BC 00 00 03 08 20 5F 22 48 41 EA 00 06 A9 6E 20 6A 00 1E A0 1F 20 6A 00 22 A0 1F 20 43 20 68 00 14 A0 2A 20 43 20 68 00 14 A0 23 20 43 42 A8 00 14 70 BF 60 00 01 1E 10 38 01 74 02 40 00 01 67 20 2F 3C 00 10 00 00 2F 2A 00 2A 48 79 40 88 00 00 20 6A 00 26 4E 90 42 2A 00 02 4F EF 00 0C 60 1E 4A AA 00 22 67 0A 20 6A 00 22 A0 1F 42 AA 00 22 25 7C 40 90 00 00 00 2A 15 7C FF FF 00 02 30 2B 00 2C 02 40 00 0F 67 0A 53 40 67 0E 55 40 67 10 60 18 20 43 28 28 00 10 60 10 28 2B 00 2E 60 0A 20 43 28 28 00 10 D8 AB 00 2E 30 2B 00 06 02 40 00 FF 55 40 66 58 30 2B 00 2C 02 40 00 40 66 4A 2A 2B 00 24 4A 2A 00 02 66 12 20 6A 00 2A 41 F0 48 00 22 6B 00 20 20 05 A2 2E 60 18 2F 05 2F 2B 00 20 20 6A 00 2A 48 70 48 00 20 6A 00 26 4E 90 4F EF 00 0C 27 45 00 28 20 04 D0 85 20 43 21 40 00 10 20 43 27 68 00 10 00 2E 70 00 60 44 30 2B 00 06 02 40 00 FF 57 40 66 36 4A 2A 00 02 66 30 20 6B 00 20 22 6A 00 2A 43 F1 48 00 20 2B 00 24 A2 2E 27 6B 00 24 00 28 20 04 D0 AB 00 24 20 43 21 40 00 10 20 43 27 68 00 10 00 2E 70 00 60 02 70 D4 4C DF 0C 38 4E 5E 4E 75 4E 56 00 00 48 E7 00 30 24 6E 00 08 26 6E 00 0C 30 2E 00 10 67 0E 53 40 67 16 53 40 67 1E 53 40 67 46 60 62 2F 0B 2F 0A 4E BA FD 6E 50 4F 60 58 2F 0B 2F 0A 4E BA FE 2E 50 4F 60 4C 0C 6A 00 15 00 1A 66 0C 41 EC 00 00 25 48 00 1C 70 00 60 38 0C 6A 00 16 00 1A 66 0C 41 EC 00 00 25 48 00 1C 70 00 60 24 70 EF 60 20 0C 6A 00 08 00 1A 66 12 20 6B 00 14 20 50 43 EA 00 1C 70 1E A0 2E 70 00 60 06 70 EE 60 02 70 00 4C DF 0C 00 4E 5E 4E 75 0F FF FF E0 10 00 00 10 10 00 00 10 11 FF FF 10 12 01 00 90 12 00 81 90 12 00 7E 90 12 11 3C 90 12 11 3C 90 12 01 18 90 12 01 00 90 12 03 00 90 12 00 00 90 12 08 40 90 12 07 80 90 12 00 00 90 12 00 00 90 11 FF FF 10 10 00 00 10 08 00 00 20 3F FF FF F8 20 00 00 08 2F FF FF E8 20 00 00 08 2F FF FF E8 20 00 00 08 20 00 00 08 20 00 0F E8 2C 00 00 08 20 00 00 68 20 00 00 08 3F FF FF F8 0F FF FF E0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 1F FF FF F0 0F FF FF E0 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 00 00 1F FF FF F0 1F FF FF F0 1F FF FF F0 0F FF FF E0 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 3F FF FF F8 00 00 FF F8 3F FF FF F8 00 00 3F FF FF F8 3F FF FF F8 00 00 FF F8 3F FF FF F8 00 00 FF FC 4E BA FE 28 4A 40 58 8F 66 06 4A AE FF FC 66 04 70 E9 60 36 20 6E FF FC 1E 28 00 03 2F 2E FF FC 4E BA 01 CC 48 87 48 C7 20 3C 00 00 00 80 C0 87 66 04 70 E9 60 14 55 8F 48 78 40 00 3F 2E 00 0A 2F 0B 4E BA FB F6 3C 1F 70 00 4C EE 08 C0 FF F0 4E 5E 4E 75 48 E7 01 18 3E 2F 00 12 38 7C 03 08 26 6C 00 02 60 02 26 53 B7 EC 00 06 67 06 BE 6B 00 08 66 F2 BE 6B 00 08 66 12 55 8F 2F 0B 2F 0C 4E BA 01 98 2F 0B 4E BA 01 66 54 8F 4C DF 18 80 4E 75 4E 56 FF B0 48 E7 01 10 26 6E 00 08 30 2E 00 0E 48 C0 2F 00 4E BA FF AC 4A 6B 00 04 58 8F 67 1C 70 00 2D 40 FF BC 3D 6B 00 04 FF C8 55 8F 48 6E FF B0 72 00 1F 01 4E BA 01 64 3E 1F 4A AB 00 DA 67 14 2F 2B 00 DA A8 7D 2F 2B 00 DA 4E BA 01 0E 70 00 27 40 00 DA 2F 0B 4E BA 01 02 70 00 4C EE 08 80 FF A8 4E 5E 4E 75 4E 56 FF 7E 48 E7 01 18 28 6E 00 08 26 6E 00 0C 42 47 30 3C 00 FF C0 6B 00 06 0C 40 00 02 67 06 70 C0 60 00 00 A2 2F 0C 4E BA FD AE 3E 00 58 8F 67 06 70 C0 60 00 00 90 3D 6C 00 04 FF C8 66 06 70 C0 60 00 00 82 3D 7C 00 01 FF CA 70 00 2D 40 FF BC 2D 6B 00 24 FF D4 3D 6B 00 2C FF DC 2D 6B 00 2E FF DE 2D 6B 00 20 FF D0 2D 6B 00 1

C FF CC 55 8F 48 6E FF B0 72 00 1F 01 4E BA 00 CA 3E 1F 66 2A 3D 7C 00 02 FF 98 3D 6C 00 04 FF 96 55 8F 48 6E FF 7E 70 00 1F 00 4E BA 00 AC 3E 1F 29 78 03 F2 00 08 41 FA FB 1C 21 C8 03 F2 4A 47 67 0E 39 47 00 06 6F 04 70 C0 60 02 70 BF 3E 00 27 6E FF D8 00 28 30 07 4C EE 18 80 FF 72 4E 5E 4E 75 22 5F 20 1F A0 4C 2E 80 4E 71 70 00 2F 09 31 C0 02 20 4E 75 70 00 60 F6 22 5F 20 1F A7 1E 2E 88 4E FA FF EA 22 5F 20 5F A0 1F 4E FA FF E0 22 5F 30 1F A1 46 2E 88 4E D1 22 5F 12 1F 30 1F 2F 09 4A 01 67 04 A7 46 60 02 A3 46 2F 48 00 04 4E 75 22 6F 00 04 20 6F 00 08 A9 6E 3F 40 00 0C 20 5F 50 4F 4E D0 22 5F 10 1F 20 5F 66 04 A0 01 60 02 A4 01 3E 80 4E D1 22 5F 10 1F 20 5F 66 04 A0 04 60 02 A4 04 3E 80 4E D1 22 5F 20 5F 70 15 A0 6E 3E 80 4E D1 22 5F 20 5F 70 19 A0 6E 3E 80 4E D1 22 5F 10 1F 20 5F 66 04 A2 00 60 02 A6 00 3E 80 4E D1



Then we need to add a system with maximum 6.99MB at the end of the file (10000).



After that it should work and you hold down R to boot in ROM disk and R+A to boot into RAMDISK



The driver here is the older 0.9, but it has proven to be more stable than later iterations (I’ve tried also the 1.2 driver from BMOW, but it has some issues).



For some reason there is a timing issue with mechanical hard drives, when I have more time again in the new year, I’ll revisit this topic 😊.
 

Jockelill

Well-known member
Any link to find the "good" rom simm socket to put in a 475 please ? :)
I would love to be able to "play" with mine too ^^

Or if you have a spare one @Jockelill , I could buy it one along with a flashable ROM stick as I am in France.
Yes, I have spare sockets here. Getting 4MB boards in about 2 weeks. First batch I got had some issue :).
 

eharmon

Well-known member
@Jockelill sent one over for testing (thanks a lot!) and I installed it in a Q800 board today. I used this as an excuse to finally pickup a Hakko FR-301 and I highly recommend it for removing the solder plugs (pro-tip, buy one directly from Amazon Japan and you won't get such terrible sticker shock). I alternated between heating with a fine-tipped iron at 375c and sucking with the Hakko at it's lowest setting (350c). It makes for a little slow going but is really easy on the board.

After removing the plugs:
IMG_2118.jpeg
Looks a little dirty, but clean enough.

My typically mediocre soldering job:

IMG_2119.jpeg
(I swear they all have solid connections, it's just reflections!)

Installed:
IMG_2120.jpeg

And working:
IMG_2123.jpeg

Nice job everyone! Time to start hacking!
 

WillJac

Well-known member
@Jockelill sent one over for testing (thanks a lot!) and I installed it in a Q800 board today. I used this as an excuse to finally pickup a Hakko FR-301 and I highly recommend it for removing the solder plugs (pro-tip, buy one directly from Amazon Japan and you won't get such terrible sticker shock). I alternated between heating with a fine-tipped iron at 375c and sucking with the Hakko at it's lowest setting (350c). It makes for a little slow going but is really easy on the board.

After removing the plugs:
View attachment 67021
Looks a little dirty, but clean enough.

My typically mediocre soldering job:

View attachment 67024
(I swear they all have solid connections, it's just reflections!)

Installed:
View attachment 67026

And working:
View attachment 67027

Nice job everyone! Time to start hacking!
Very nice. The 4mb roms are available already and the 8mb will be in a few weeks. Keep us posted on your work. Love to see what others are doing with these.
 

eharmon

Well-known member
I forgot to mention: for the stubborn holes, a dab of extra solder on the plug before hitting it with the Hakko clears it right up.
 
Top