Yamaha YIS machines not clearing games on reboot/restart

Por uberjack

Champion (261)

Imagen del uberjack

25-09-2019, 07:45

I'm hoping someone can explain something to me about Yamaha YIS machines - particularly classroom-networked ones.

I remember that after loading games onto networked Yamaha YIS MSX machines (via network), getting those machines to reboot into BASIC took forever. Restarting them, cycling power would inevitably put them back into game mode - the only thing that seemed to work was turning them off, waiting a minute or more, then turning them back on - and even then, occasionally, the game would still load, but corrupted - which meant we had to repeat the whole thing again.

What was causing this? Was YIS not clearing RAM, or was this something else? I've never seen this sort of behavior on any other MSX machine (although I haven't used any other networked MSX machines). Is it that I haven't looked hard enough?

Login sesión o register para postear comentarios

Por tfh

Prophet (2362)

Imagen del tfh

25-09-2019, 08:16

uberjack wrote:

I'm hoping someone can explain something to me about Yamaha YIS machines - particularly classroom-networked ones.

I remember that after loading games onto networked Yamaha YIS MSX machines (via network), getting those machines to reboot into BASIC took forever. Restarting them, cycling power would inevitably put them back into game mode - the only thing that seemed to work was turning them off, waiting a minute or more, then turning them back on - and even then, occasionally, the game would still load, but corrupted - which meant we had to repeat the whole thing again.

What was causing this? Was YIS not clearing RAM, or was this something else? I've never seen this sort of behavior on any other MSX machine (although I haven't used any other networked MSX machines). Is it that I haven't looked hard enough?

I have seen this behaviour on a Phillips NMS8220 as well. One of my friends had one and after playing a game like Zanac, a Konami or any other game with the AB cartridge code, he also needed to switch off his machine for a long time.
You could even, with the help of some pokes, get a basic program back after switching the machine off and on again.

I don't know the cause. It could be that the memory still got fed some left over power from some capacitors until those got drained.

Por zPasi

Champion (495)

Imagen del zPasi

25-09-2019, 08:29

I would guess someone made inner memory expansion with SRAM?

Por sdsnatcher73

Paragon (1082)

Imagen del sdsnatcher73

25-09-2019, 08:38

I noticed this same thing on my Sony HB-F1XD, have not tried my Yamaha machines (don’t usually play games from RAM these days). I don’t think the SONY was modified (certainly not with an expansion). I rather think there are indeed some capacitors in play that are in the design to overcome power fluctuations towards RAM. SRAM would also need power to keep it’s content. Normal RAM needs power and a refresh now and then (which is why you would get corrupted memory after some time as without the refresh some bits will start to flip).

Por Pencioner

Scribe (1141)

Imagen del Pencioner

25-09-2019, 09:54

uberjack wrote:

What was causing this? Was YIS not clearing RAM, or was this something else?

I have noticed 2K SRAM on the network module board. Maybe those loaders are using it?

Por Meits

Scribe (5934)

Imagen del Meits

25-09-2019, 11:09

I remember a Sony 700 did this as well with badly hacked diskversions of ROM games. Back then it was just a matter of keeping the machine switched off for a while. Now I would switch it off, remove the power lead and switch it on again, hoping this might discharche the capacitors that keep the ram chips powered.
But that's all theory. In modern computer world this trick works once in a while to get a stubborn pc booting again.

Por Alexey

Guardian (2848)

Imagen del Alexey

25-09-2019, 11:37

On our Russian Yamahas that was a typical behavior. Switching off the machine for 10 seconds usually helps.

Por max_iwamoto

Champion (487)

Imagen del max_iwamoto

26-09-2019, 00:55

The only thing you need to do is to write 00h at 4000h and 4001h. Something like Poke &H4000, 0: POKE4001, 0

But you need to make sure that start of the Rom located at 4000h. If not, you need to write it at the beginning of the Rom to prevent a self restart on next reboot. You can also load file into debugger and replace 41h,42h with 00h,00h. After that pressing reset will return computer back to basic.

Por zPasi

Champion (495)

Imagen del zPasi

26-09-2019, 07:10

max_iwamoto wrote:

The only thing you need to do is to write 00h at 4000h and 4001h. Something like Poke &H4000, 0: POKE4001, 0

What are you talking about?

1) When the game rom starts, you cannot POKE anything.

2) In any case, Poke &H4000,0 doesn't do anything, because when BASIC is active, 4000h - 8000h is BASIC ROM.

Por tfh

Prophet (2362)

Imagen del tfh

26-09-2019, 08:32

You can try to open the files you're loading in a HEX editor on your PC. One of the binaries will start with AB. I don't know if you can just change this or not.
More info: https://www.msx.org/forum/msx-talk/general-discussion/header...

Por zPasi

Champion (495)

Imagen del zPasi

26-09-2019, 08:46

tfh wrote:

You can try to open the files you're loading in a HEX editor on your PC. One of the binaries will start with AB. I don't know if you can just change this or not.

Of course you can change that prior execution. But then the game just doesn't start in the first place.

In theory the disk / cassette loader could be made so that it doesn't reset the machine, but jumps to the start address so it works without the AB code. I don't know if that kind of loader exists. SofaRun does that jump but I don't know if it works without the AB code.