FM Towns Marty CPU Upgrade - My Observations

Started by RobIvy64, July 30, 2022, 02:57:24 AM

Previous topic - Next topic

RobIvy64

Howdy! A few years ago I experimented with CPU upgrade options for the FM Towns Marty. I attempted to install a Cyrix Cx486SRx2 (let me tell you, these are hard to find!), which is a clip-on CPU that disables the soldered QFP 386SX. This resulted in no POST or signs of life, no matter how many times I attempted to reseat the CPU.

I happened to have a Cyrix Cx486SLC/e (5V) CPU in my parts bin, so promptly desoldered the stock 386SX and installed the 486. The Marty booted on the first attempt after triple checking all of those soldered pins.

Long story short: I didn't really notice much of a difference in my testing. The DocBrown ODE detects and enables the internal 1K cache, which is a nice feature. You may wonder about increasing the 16MHz CPU clock signal, which is certainly possible, however, the Yamaha FM synth shares the same clock signal and the sound pitch will be altered. The 486 CPU has worked well enough for the ~2 years I've had it running in the console but I wouldn't really recommend it.

Here are some before and after photos for you to critique and enjoy.





"Console Mods" lurker

Cyothevile

I've done both types of CPU replacement. My clip-on works but I feel like it's a time bomb.

I concluded the same thing where the increased performance isn't really worth the price and risk of destroying pads on the board. I would also recommend anyone that isn't listening and wants to do this mod anyway to consider adding a tiny heat sink like on RPI.


You can't upgrade Marty in any way functionally except this. I did try Tatsujin and a few shooters that *sometimes* slows down on Marty and noticed some improvement.

I didn't know the clock is shared with the sound IC and main CPU. I guess that's one factor why sound can break if clock frequency is increased.

RobIvy64

#2
You could intercept the clock signal to the FM synthesizer and connect it to its own oscillator, but I didn't want to bother with it. I'm wondering if my clip-on 486 upgrade even works (I don't have another 386SX machine to test it in). The sound issue becomes apparent with games that use the FM synthesizer exclusively for music... looking at you New Zealand Story....

For now, it runs happily with a Cyrix 486 CPU, even without a discernible difference in performance. Not much more than modest bragging rights, I suppose.

And +1 to the heatsink! That little chip gets very hot. I added a low profile northbridge heatsink that adheres to the CPU (3M thermal tape) and fits perfectly under the RF shielding.
"Console Mods" lurker

hlide

Hi @RobIvy64,

I have an UX40:

1) Display is working fine.
2) CD-ROM drive is working fine.
3) Both Floppy Disk drives are working fine.
4) Memory is 10 MB.
5) Builtin HD drive appears absent - at least Towns-OS is showing no unit.
6) No sound output on both builtin-speaker and phone plug.

I understand that we may expect removal of builtin HD drive nowadays because it might not be reliable so I'm okay with that.

What I'm less ok is with no sound output. I read somewhere else: "If you also clock double WITH cache enabled it will break sound and you won't have sound". Is there a tool to detect which CPU is onboard (I know a genuine one would be a 16MHz 386SX but I'd like to confirm it without disassembling the computer)?   

Cyothevile

Quote from: hlide on November 07, 2022, 08:33:58 AMHi @RobIvy64,

I have an UX40:

1) Display is working fine.
2) CD-ROM drive is working fine.
3) Both Floppy Disk drives are working fine.
4) Memory is 10 MB.
5) Builtin HD drive appears absent - at least Towns-OS is showing no unit.
6) No sound output on both builtin-speaker and phone plug.

I understand that we may expect removal of builtin HD drive nowadays because it might not be reliable so I'm okay with that.

What I'm less ok is with no sound output. I read somewhere else: "If you also clock double WITH cache enabled it will break sound and you won't have sound". Is there a tool to detect which CPU is onboard (I know a genuine one would be a 16MHz 386SX but I'd like to confirm it without disassembling the computer)?   

Just try running cache enabling software. From memory if Cache is enabled on SSF2, it breaks sound. If it breaks then you have a 486SX installed. It isn't likely but it's also not unheard of on the all-in-one.

The HDD inside your computer, if you're brave, is physically beneath the neck board on your computer, bolted above the expansion slot area and right beside CD drive. It's likely the HDD is dead anyway.

If you want to use HDD on that model and save settings long term (and not everytime you want to access HDD via townsOS) you'll have to disassemble it anyway to access CMOS battery, which is underneath the (looking at the front) right side FDD.

hlide

#5
First, I must say I'm totally newbie in FM-TOWNS so it's a big challenge to find any software which could help me. Second, I've literally no room for dismantling and inspection, hence the reason I'm looking for software solution to hint hardware until I find more room someday. 

Quote from: Cyothevile on November 08, 2022, 12:18:14 PMJust try running cache enabling software. From memory if Cache is enabled on SSF2, it breaks sound. If it breaks then you have a 486SX installed. It isn't likely but it's also not unheard of on the all-in-one.
Yes, it would mean someone desoldered the original 386SX - unless there is a clip version.
As a fact, I have no idea how to disable that cache if any. What does SSF2 stand for?

EDIT: Ah! SSF2 stands for Super Street Fighter 2. My assumption is that if there is a 486, its cache must be active by default. And I would like to try to disable it to see if the sound comes back but I don't know how to do so.

Quote from: Cyothevile on November 08, 2022, 12:18:14 PMThe HDD inside your computer, if you're brave, is physically beneath the neck board on your computer, bolted above the expansion slot area and right beside CD drive. It's likely the HDD is dead anyway.
Yesterday, I made tests using DOS 6.2 through FDD : I do have a "working" HDD. I have 32MB unit C: (USERDISK) which is empty but formatted, 6MB unit D: (TOWNSYSTEM). Both is very close to a 40MB HDD. SETUP2 gives me 4 HDDs (C:, D:, E: and F:) but E: and F: are inaccessible (probably unformatted or non existent).

Examining D:AUTOEXEC.BAT seems to imply D: should be E: since it refers to files via E: that are present in D:.

So it looks someone empties the C: unit and it also looks the subdirectories in D: were erased as well, so no wonder I cannot boot from HDD.

Quote from: Cyothevile on November 08, 2022, 12:18:14 PMIf you want to use HDD on that model and save settings long term (and not everytime you want to access HDD via townsOS) you'll have to disassemble it anyway to access CMOS battery, which is underneath the (looking at the front) right side FDD.
I have no idea what to do with CMOS.

Thank you for helping me!

Cyothevile

So if you have a 486 installed in an FM Towns the cache is not enabled by default.

To activate the cache in a 486 processor, you have to flush the cache once and then it's enabled and just keeps running until it's turned off. Then you have to turn it on again. So you have to intentionally run a program to flush the cache. So you don't have to worry about "breaking" games at all. I wrote a program earlier this year to do it when I was in classes for programming but there is actually a program floating around vector net that turns the cache on... And that also works as well.


hlide

#7
So when I boot a game or Towns OS through CD, the cache shouldn't be activated even if the CPU is a 486 because there is merely no chance those programs call INVD or WBINVD, right?

If so, my lack of sound concerns an hardware issue with the audio circuit. :,(

EDIT: I wipe out the two HDD partitions to create one 40MB active partition containing the fullset of MS-DOS 6.2 L10 and now I can boot on the builtin HDD if no FD or CD disks are present.

Cyothevile

Quote from: hlide on November 08, 2022, 11:45:29 PMSo when I boot a game or Towns OS through CD, the cache shouldn't be activated even if the CPU is a 486 because there is merely no chance those programs call INVD or WBINVD, right?

If so, my lack of sound concerns an hardware issue with the audio circuit. :,(

EDIT: I wipe out the two HDD partitions to create one 40MB active partition containing the fullset of MS-DOS 6.2 L10 and now I can boot on the builtin HDD if no FD or CD disks are present.

Your sound issue has nothing to do with CPU cache.

It sucks but you have either a capacitor failure or opamp failure. Usually when there's crackling or crappy audio, the capacitor near Yamaha sound chip has spilled and leaked.

However with no sound I bet the opamp in the audio circuit has failed.

famiac

Quote from: Cyothevile on November 08, 2022, 10:37:50 PMSo if you have a 486 installed in an FM Towns the cache is not enabled by default.

To activate the cache in a 486 processor, you have to flush the cache once and then it's enabled and just keeps running until it's turned off. Then you have to turn it on again. So you have to intentionally run a program to flush the cache. So you don't have to worry about "breaking" games at all. I wrote a program earlier this year to do it when I was in classes for programming but there is actually a program floating around vector net that turns the cache on... And that also works as well.



do you know what the program is called? I installed a CX486DRX2 in my CX20 a long time ago but haven't bothered measuring performance differences. one reason is i haven't figured out how to turn on the cache lol

Cyothevile

Quote from: famiac on November 11, 2022, 03:41:49 AM
Quote from: Cyothevile on November 08, 2022, 10:37:50 PMSo if you have a 486 installed in an FM Towns the cache is not enabled by default.

To activate the cache in a 486 processor, you have to flush the cache once and then it's enabled and just keeps running until it's turned off. Then you have to turn it on again. So you have to intentionally run a program to flush the cache. So you don't have to worry about "breaking" games at all. I wrote a program earlier this year to do it when I was in classes for programming but there is actually a program floating around vector net that turns the cache on... And that also works as well.



do you know what the program is called? I installed a CX486DRX2 in my CX20 a long time ago but haven't bothered measuring performance differences. one reason is i haven't figured out how to turn on the cache lol

I have same CPU in mine. I wrote a program earlier in the year but I'm a bit nervous for others to check my code.

The other program is on vector net somewhere and I don't have link readily available. It does the same thing and I can verify it works good. You will need to load DOS or TownsOS first and then run the COM file once. The program was written for Cyrix 486 as I recall but I think it will work for TI and other CPU.

When PC powers off you will need to flush cache again on power up to enable it.

I personally never found any games that benefit with a "386" based towns (Such as tower models) with "486" installed and cache turned on. Most of them broke when cache was enabled.

Also since you have double clock CPU I never utilize this feature but FM Towns system bus likely cannot handle the CPU double clock speed.

hlide

Quote from: famiac on November 11, 2022, 03:41:49 AMdo you know what the program is called? I installed a CX486DRX2 in my CX20 a long time ago but haven't bothered measuring performance differences.

Program is CXT.COM in cx215set.lzh: https://www.vector.co.jp/download/file/towns/hardware/fh014605.html

hlide


famiac


amazin

Hello friends, I got a TI TX486DLC/33GA, installed on my 1st gen model2 tower, and it worked, but the floppies went completely crazy, some games started to display lots of corruption on screen, so I went back to the original 386DX.

I haven't changed anything but extracting the original CPU and dropping in the new one.

Shouldn't it have "just worked" ?

Cheers
PS: Sorry for my ignorance.

Cyothevile

Quote from: amazin on November 21, 2022, 09:16:36 PMHello friends, I got a TI TX486DLC/33GA, installed on my 1st gen model2 tower, and it worked, but the floppies went completely crazy, some games started to display lots of corruption on screen, so I went back to the original 386DX.

I haven't changed anything but extracting the original CPU and dropping in the new one.

Shouldn't it have "just worked" ?

Cheers
PS: Sorry for my ignorance.

You need to post a new topic