Subscribe via RSS
24Mar/260

Sharp X68000 Pro – RAM + HDD + Power

I couldn't believe it. seeing a full set X68000 Pro on the shelf at the Ota Road Super Potato in Den Den Town, Osaka. Of course, the staff instantly told me it was for display only and didn't work! The story was that they'd bought it a few years back and it worked then, but since had stopped working. The monitor was fine, but the main CPU was not turning on. It was therefore 'KAZARI'... decoration.

I was happy with decoration, for the price. Shipping was to be another concern. Fortunately, Super Potato is partnered with a logistics firm upstairs and Mori-San and X-San helped describe the process to me. I'd buy the unit on the day and wait until after Golden Week for them to contact couriers and provide a quote. I'd then pay via Paypal and they'd ship the unit to me! Easy!

To be honest, after turning on and playing a few rounds of Bubble Bobble, the poor thing has been sitting as KAZARI in the corner of my study/office for quite a while. I recently made a 3D-printed bezel cover for the monitor, which doesn't look too bad, and somehow, recently, have decided I either need to move it on... or actually learn how to use it!

The machine works great... floppy games load fine... but that's not fun-n-technical enough... I want to use HDDs, CDs?, MOs? and work out what that CPU Clock Switch does... and how to use the memory cards. Also, can I rig up an ethernet to serial adapter to get data transferring over to it a little more easier? Maybe even use a BBS?

Random Access Intricacies

Understanding RAM in an X68000 is mildly difficult. It seems that, nearly akin to an Amiga, there's a clear distinction between system/onboard RAM and extra supplementary RAM. I suppose that goes for PCs too with conventional vs. extended RAM, etc... Anyway, to use any I/O slot memory expansion boards, the base system needs to have 2mb of internal memory. From the factory, X68000 ACE, PRO and PROII systems only have 1mb and so a CZ-6BE1A module is required. Fortunately, this machine already came with the module installed!

With 2mb onboard, you can then tinker with I/O slot memory cards. I was googlin' at some point and saw a good deal on an XSIMM10 card, so I bought it! Little did I think to check the blank plates on my machine to see if I already had one? How hilarous.

Left-most above is an I.O Data PIO-6834-4 4mb memory expansion. There's a jump block to set where this memory starts in the memory map. Since we've got 2mb onboard, this card must start straight after that and provide another 4mb, taking the machine to 6mb.

The other board above is a XSIMM10 memory board which will allow up to 10mb of memory to be added! These cards can be configured to place the two pairs of memory wherever needed. Interestingly, the configuration examples show a 4mb "system" area above the 10mb additional RAM? Does that mean these cards can be used together?

In the end I only used the XSIMM10 with the full 8mb populated to bring the machine to 10mb.

SASI/SCSI HDDs

There's a great tutorial here for setting up HDDs. It seems tho, that you're expected to use one of the devices specified and not just boring old spinning-rust. I tried three external SCSI drives that I had laying around, connected to the 50-pin SASI centronics port and couldn't get any of them to work. Anything from stalling INITs to "device not operational" to "cannot xxxx".

After trying the units above, I turned to the internet and sought help. This magical post indicates that not many SCSI drives are compatible and for those that are, they need to be able to have parity disabled. I don't even know what that is! That flat beige unit above has an ST11200N inside... and it seems that parity should be disabled by default. I popped it open and found...

Further goog'lin brought up this excellent article at gamesx... and that last little paragraph is a killer.

SASI models will be somewhat limited in terms of what drives can be used. First and foremost you'll need a drive that doesn't require parity (if you don't want to build the parity faker circuit). Even then, you'll run into plenty of drives that just won't work even though they can have their parity disabled.

There's a table there with two 1GB drives listed... and they're both listed as no-worky. The table also lists the Quantum ProDrive LPS42S as 'working', and I have two in my HDD box'o'junk!, so I tried them all out. After a lot of tinkering, I couldn't get any of those to work either. So, I tried my SCSI2SD. It also showed no signs of life, until I jumpered the Termination Power pins!

The best thing is that I have a terminator with an LED in it, no idea where that came from, which shows me if the bus has power on it. Without that light, the SASI bus won't see any drives as it doesn't provide the power itself.

Of course, if I'd read the bloody manual earlier, it would've been obvious from day one:

    Sharp X68000
        SASI models supported. See gamesx.com for information on building a custom cable.
        needs J3 TERMPWR jumper
        Set to SCSI ID 3. ID0 will not work. 

Ok, we're learning. From here, with the drive initially as ID 0, the machine would freeze if the drive was already powered on before the machine was started. So, instead, I started it after the boot process.. allowing me to format it! I then set the drive back to ID3 and, after following these instructions, I installed the SxSI BIOS in SRAM and the machine booted from the drive!

So, with this now understood, could I get an older drive to work? The Conner 3040 42mb Drive supposedly has Termination Power and Parity options. With this drive connected... the terminator light... didn't light up?

So, can we inject terminator power? In the SCSI2SD schematic, they're just feeding +5v into pin 26 on the SCSI cable, but then also providing 3v3 to the termination resistors... does my "active" terminator with the LED also do the 3v3 conversion and just needs the 5v power rail?

Actually, we can test this using a better method first. Let's leave this unit on the SCSI chain, but set it up to some higher ID and then slap the Conner at ID3 before it.

What about running floppy games from the HDD?

Yeah, this was confusing.. until I google'd and came across this link. Wow. You can just run the autoexec.bat from the folder? Works for some games... not all.

Bubble Bobble ran .. but sounded totally weird! I then delved into the world of X68000 Music Drivers, realising that the bootdisk had OPM3DRV loaded first. When I then ran autoexec in the bublbobl folder, it loaded GMD68K.r over the top and ... haha ... What a symphony! It seems that loading two drivers in sequence causes all sorts of issues. I then tinkered around by installing the Roland MIDI Card, trying to see if it'd work on MIDI. Turns out there's absolutely no setting to enable MIDI... and then it actually stopped playing music altogether?

Overclocked? Me?

Turns out the previous owner already had an overclock switch/mod installed which toggled between a 40mhz and 60mhz crystal and that I'd accidentally flicked it! It's hiding at the right edge of the top expansion slot cover.

Internally, there's a piece of veroboard with some 74-series logic to allow a solid-state selection of which crystal to use. Above, if you check out the first photo in the RAM area, you'll see where the twisted-pair blue wires run to where the original 40mhz crystal would have been on the mainboard. The other wires run to one of the front-panel LEDs.

This switches the internal system speed between 10mhz and 16mhz (thanks to clock dividers) and Bubble Bobble hates this! I must admit that I'd seen the internal wiring and obvious mods, back when I first received the machine, but never cared to think what repercussions could be caused by flicking it! Turns out that games for the X68000 are very fixed on expecting a 10mhz clock and that Bubble Bobble's sound driver HATES 16mhz.

So, what to do? Make AI write a CPU speed detection app. I used the dev environment from Chibi Akuma's Site and saved a screenshot of the site for posterity:

It's beautiful. Anyway, code was 'written':

And it even worked! Thanks Gemini! It's very friendly with you when coding:

The source and binaries are downloadable here.

Power Supply

I started to have a weird boot-loop issue where the machine would click on, but then quickly click off again... and loop at about a 2-second cycle. It sounded bad, but would "fix itself" after a 30-minute cool-down. The worst in me suspected the power supply was going... so I braced myself for impact.

Christ. Those two 3300uf caps are juicy...

Crap photo.. but that 1000uf cap at the back is also ready to launch!

Quick work was made of extracting, cleaning and replacing the culprits...

Anyone who has done this before can smell the above picture. A ionizer in the other room actually turned on thanks to the tuna-flavoured solder-fumes that were wafting through the apartment.

Take it easy when clearing the silicone as there are components buried in it. I had to repair a jumper wire which I'd accidently dismembered. Also watch out for the height of the 2200uf cap which needs to fit under the external power port.

Meanwhile, check out the filter cap on the main-board which was hiding under the power supply? Factory bodge? Seems to be the same silicon!

Programming / Linux?

Maybe it's time for a DOS port of OpenTTD? I could use this gcc compiler? Or this huge repo of sample C++ source? It also seems that NetBSD can be installed, but an MPU is required.

Hah, you can even follow these instructions to run a Macintosh?

Filed under: Retro Leave a comment
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


*

No trackbacks yet.