Trying to "simulate" a reset (or startup) on MSX1

بواسطة cr7

Supporter (3)

صورة cr7

29-12-2020, 17:19

Hello fellow MSX admirers,

Merry Christmas to all !

As a beginning MSX programmer (more of an enthusiast and curious experimenter), I found, here, how to reset my MSX1 :
It's working, displaying the startup logo and startup message. Great !

Even here or on Google, there is something I found nowhere : how to display the startup logo then the startup message "by hand" without really reseting, by calling them and only them from where they are (where, indeed ?) without wiping from memory the program doing it (which is what a reset would do).
For the startup message, PRINTing it from BASIC as character strings may do it (but that's less classy than getting it from internal memory !). But how can I "launch" the startup logo ?

Alternatively, reseting wihtout losing "the program causing the reset" from RAM would do it too, but it seems to me such a feat is impossible by definition.

All this on a simple, basic, tape-based MSX1, which is all I have.

My thanks in advance for any replies to come !

Login أوregister لوضع تعليقاتك

بواسطة sdsnatcher73

Prophet (2964)

صورة sdsnatcher73

29-12-2020, 18:30

I don’t know whether it is possible to just call the logo routine (probably not). A way to automatically restart a program is to have a ROM marker (AB) in RAM memory. It is how many cracked ROMs from tape used to work, the BIOS will look for it after the reset in all subslots regardless of whether it is ROM or RAM.


Enlighted (5917)


30-12-2020, 02:20

No, on MSX1 you can't really call the logo routine separately as the very same routine also automatically inits all cartridge ports and clears the BASIC program from memory... On MSX2 and up you can kind of do it with small ML-program, but I still would not recommend going that way... You will run in to troubles sooner or later.

بواسطة Manuel

Ascended (18695)

صورة Manuel

30-12-2020, 12:57

AFAIK only the first few bytes of the program are cleared... You can restore it (OLD functionality like?), or am I not remembering correctly?

بواسطة Metalion

Paragon (1478)

صورة Metalion

30-12-2020, 13:17

Manuel wrote:

AFAIK only the first few bytes of the program are cleared... You can restore it (OLD functionality like?), or am I not remembering correctly?

Yes I just checked in an emulator, as I remembered something like that, also.
After soft reset, the address of the next BASIC line, stored in the first line, is erased.
Therefore, there's only 2 bytes changed at $8001 and $8002.

بواسطة cr7

Supporter (3)

صورة cr7

10-01-2021, 12:24

Hello everybody,
Thank you so much for your replies, each one educating me, and the whole giving me direction for further exploration. If I find something further interesting on this topic, I'll post it here.
Until then, happy new year to each one of you !

بواسطة Daemos

Paragon (1959)

صورة Daemos

10-01-2021, 14:47

Just a funny idea. What if you copy the logo routine (bios source is known) and adapt it to do what you want. Then copy this code to a place in ram and call it whenever you need it?

بواسطة mcolom

Master (234)

صورة mcolom

10-01-2021, 19:49

In the game Bounder they did it, when you activate cheating.