skiselev / omega

Omega Home Computer
GNU General Public License v3.0
379 stars 53 forks source link

Rerouting Damaged Traces (and JP7) on v1.2 Mainboard #22

Closed TankedThomas closed 2 years ago

TankedThomas commented 2 years ago

I've been building up my Omega (I've had some delays so I still have a v1.2 mainboard - it was mostly done by the time v1.4 came out) and I've run into a few issues. I figured this is probably an appropriate place to ask for help since it's schematic-related anyway.

Long story short, I had to replace a broken socket for U46, but I managed to damage a couple of the vias on the rear of the board (which is why I should have got more solder wick, but that'd be too easy I suppose). So I need to re-route them but I'm not sure I entirely understand the schematics (not my forte, sorry).

If I'm understanding correctly, pin 1 on U46 is connected directly to the CMOS battery's VCC pin, so I've bridged the two. The other one that got damaged is U46's pin 10. Looking at the KiCad files, I thought it was connected to pin 7 so I bridged 10 and 7 together, but having a look at the PDF schematics, they seem to be completely separate pins. I'm not entirely sure so I thought I'd ask here so I reroute these properly before I socket chips and power it up. Have I got it right, half-right, or completely wrong?

Here's a photo I took of my mess (apologies, I've only given it a quick clean to make it more visible, so there's still a lot of solder flux): 20211025_062304

Last question: how do I add JP7 to a v1.2 board? I'm fine soldering wires to exposed traces and adding a switch since I can't exactly conjure vias out of thin air for a jumper, but I'm not entirely sure where to cut and solder, and clearly I don't trust myself to read the schematics properly (e.g. I have no idea if the green lines and red lines connect things, or just one colour). I assume the 4MB option only works if you have the O4MEGA RAM expansion installed, so perhaps it's possible to put a switch on or between that instead.

I'd be really grateful for the help, please and thank you. This project is really awesome! I have something (which I think is pretty cool but ultimately optional) to contribute in the near future too, once I have my Omega completed.

Bonus off-topic questions which don't really deserve a separate issue: How do I use/wire up Reset/NMI? I assume a momentary switch of some kind wired to it but not sure what nor how. Can I solder in Q2 whilst using the V9958? I assume the jumper disables it but I want to be sure. Can you please add instructions on flashing the BIOS? I THINK I've got it right but I'm not entirely sure - the chips seem to have twice the required space so I'm a bit worried I've got it wrong.

skiselev commented 2 years ago
TankedThomas commented 2 years ago
* You've connected pin 1 of U46 correctly - it goes to the plus terminal of the battery.

Well, I got one thing right! Thanks.

  • Pins 7 and 10 of U46 are not connected to anything, and not connected to each other. Remove that bridge That makes life easier, actually. At least I figured that wasn't meant to be there, but I didn't realise they were connected to nothing!
  • JP7 and JP8 were added in PCB v1.3/v1.4. They are optional, and only required for some buggy software that sets and reads back mapper registers to determine the memory size. The board will work with 512KB on board SRAM as is. Is there a way to add them in seamlessly anyway? I may as well make it as compatible as possible, and I want to add the 4MB expansion in the future too.
  • Reset and NMI switches are optional they are just regular normally open push buttons. They connect directly to the J13 header. As a regular user, you probably won't really need them. Most MSX systems didn't have reset button. I don't think any had an NMI switch - that is more for debugging purposes So they're two separate switches then, right? Reset would at least be handy, so I might add that in. NMI might be useful in the future if I end up doing software development for the MSX but we'll see.
  • DO NOT solder Q2 if using V9958. Moreover, I recommend configuring board for the VDP type you'll be using (either V9958 or V9938) by soldering wire links instead of jumpers. Admittedly, I put jumpers in because I like how they look and want the option in the future to change them easily, just in case. I suppose this may be detrimental but I can always change them later.
  • You can flash two copies of BIOS in the Flash ROM part. Use JP1 jumper to switch between them. This might be useful if you want to have MSX2 and MSX2+ BIOS, or MSX2 and C-BIOS, or any other combination of MSX BIOSes. Ah, this is what I did, so hopefully it works. I'll try it in the next few hours.

Thanks so much for the reply, by the way. That all really helps! Here's hoping everything works...

skiselev commented 2 years ago

You still will be able to add more SRAM, up to 4 MB, without installing JP7 and JP8 jumpers. All they do, is prevent higher bits of mapper registers from storing values ;) As I said, they were added as a workaround for a buggy software that tries to set and read back these bits to determine the memory size. Actually, if you install 4 MB, the system will work properly with such software. The issue that happens, is that such software assumes that your system has 4 MB regardless of the memory size installed because all bits of memory mapper registers work...

TankedThomas commented 2 years ago

You still will be able to add more SRAM, up to 4 MB, without installing JP7 and JP8 jumpers. All they do, is prevent higher bits of mapper registers from storing values ;) As I said, they were added as a workaround for a buggy software that tries to set and read back these bits to determine the memory size. Actually, if you install 4 MB, the system will work properly with such software. The issue that happens, is that such software assumes that your system has 4 MB regardless of the memory size installed because all bits of memory mapper registers work... Ah, okay, so the 4MB add-on is essentially its own solution. Perfect! Thanks so much. I'm super-excited to get this up and running. Truly a fantastic project you've put together!