OUT &H41,154 on Panasonic FS-A1WX

Página 1/2
| 2

Por rderooy

Paladin (683)

Imagen del rderooy

06-02-2020, 15:55

In an old Japanese MSX Magazine (1989-04, page 133) there is a small blurb about typing "OUT &H41,154" in BASIC on the A1WX. It is supposed to have some kind of funny effect apparently. They don't really explain it, just telling you to try it.

I tried it in openMSX, but did not see any effect. Perhaps it does something on a real machine. Does anyone know?

https://issuu.com/msxblog/docs/msx_magazine_1989_04

Login sesión o register para postear comentarios

Por Meits

Scribe (5893)

Imagen del Meits

06-02-2020, 16:05

Just tried it on an FX and it does nothing. Will try its younger sisters later today.

Edit:
It does something (on the FX and WSX as well). It puts the machine in turbo mode.

Por rderooy

Paladin (683)

Imagen del rderooy

06-02-2020, 16:24

Thanks Meits. I would have expected the turbo LED indicator in openMSX to turn on, but it does not. But running "machine_info z80_freq" in the command window shows it running at the higher frequency afterwards.

Por lintweaker

Champion (258)

Imagen del lintweaker

06-02-2020, 16:24

Normally you would have to manipulate port 40h first before using (able to) use port 41h to set or reset turbo speed.

Por mars2000you

Enlighted (5634)

Imagen del mars2000you

06-02-2020, 16:40

The only correct procedure is described in the Wiki:

https://www.msx.org/wiki/Panasonic_FS-A1WX#CPU_Turbo_mode

(also for the other Panasonic MSX2+)

Por Meits

Scribe (5893)

Imagen del Meits

06-02-2020, 17:01

The one in the wiki is a bit over the top imho.

Por Grauw

Ascended (9156)

Imagen del Grauw

06-02-2020, 19:38

The IF PEEK is unnecessary, but the rest is correct due to the way expanded (switched) I/O ports work.

OUT &H40,8:IF INP(&H40)=247 THEN OUT &H41,128  ' Activating 5.37 MHz Mode
OUT &H40,8:IF INP(&H40)=247 THEN OUT &H41,129  ' Deactivating 5.37 MHz Mode

See http://map.grauw.nl/resources/msx_io_ports.php#expanded_io

The value 154 used in MSX Magazine 1989-04 page 133 is strange though, it also sets bits 4, 3 and 1 of which no function is known. Maybe someone just tried a random value in absence of official documentation? Or maybe there are functions which are not yet discovered.

Por PAC

Guardian (5729)

Imagen del PAC

06-02-2020, 19:10

I always typed just the OUT commands. What is the purpose of the IF condition?

Por Grauw

Ascended (9156)

Imagen del Grauw

06-02-2020, 19:48

Not outputting a value when the Panasonic expanded I/O port is not found. See the documentation I linked. Of course if you just type it on the machine you don't need to do it, but if you use it in a program it is good practice to not output values to ports that you know aren't present.

Though in this case it's not actually problematic because no device should be listening to a manufacturer / device ID that it doen't support. But just the bare OUT &H41 is definitely not ok. The IF INP(&H40) is optional but good practice. The IF PEEK(&H2D) is superfluous and potentially even prevents an MSX2 with turbo circuit mod that's listening to this port from working. Only 1chipMSX currently does that afaik and it identifies as MSX2+, but someone could make a turbo mod like that for MSX / MSX2 in the future.

Por PAC

Guardian (5729)

Imagen del PAC

06-02-2020, 19:14

Now clear... Wink

Por Grauw

Ascended (9156)

Imagen del Grauw

06-02-2020, 19:49

What does OUT&H40,8:?INP(&H41) return by default? 155?

Página 1/2
| 2