How to disable click sound in DOS (msxbios option in Z88DK)?

By Fabrizio Caruso

Supporter (10)

Fabrizio Caruso's picture

26-12-2020, 11:42

I am the developer of Cross-Lib: https://github.com/Fabrizio-Caruso/CROSS-LIB
which is a universal 8-bit development framework, which supports MSX and about 200 other vintage architectures.

For the MSX I am using Z88DK and the "msxbios" option, which changes the mapping of a few things.
I need to disable the keyboard click sound.

Where is the equivalent location of $F3DB under this configuration?

If I set $F3FB to zero nothing changes in this configuration.

Login or register to post comments

By Bengalack

Champion (366)

Bengalack's picture

26-12-2020, 15:10

Using Fusion-C, I have this in my code, under DOS, and it works fine:

#define CLIKSW 0xF3DB
Poke( CLIKSW, 0 ); // Turn off key click

Sounds strange that z88k should change things like this. Or maybe I misunderstood what you meant?

By Fabrizio Caruso

Supporter (10)

Fabrizio Caruso's picture

27-12-2020, 10:41

@Bengalack, I am asking how to do that in MSXDOS mode. What you do does not work in MSXDOS mode. That location is somewhere else.

By Fabrizio Caruso

Supporter (10)

Fabrizio Caruso's picture

27-12-2020, 10:47

There is a typo in my post. I am asking for the equivalent location of 0xF3DB for click sound under MSXDOS.

By sd_snatcher

Prophet (3443)

sd_snatcher's picture

27-12-2020, 19:04

The keyboard click is done by the BIOS, not by MSX-DOS. The system variable that controls it is CLIKSW in any case.

By Fabrizio Caruso

Supporter (10)

Fabrizio Caruso's picture

28-12-2020, 16:40

@sd_snatcher, how do I disable it then if I enable the msxbios in Z88DK?
Writing zero into 0xF3DB does not work. I think something in the BIOS is resetting it to a non-zero value.

By Sandy Brand

Master (228)

Sandy Brand's picture

28-12-2020, 22:40

Hmm, I remembered having similar problems in the past (also using Z88DK for some stuff). However, I checked again and now it also seems to work as expected for me (but I am setting CLIKSW through some assembly code though).

Maybe you could try to attach a debugger and see what is actually going on?

By AxelF

Champion (375)

AxelF's picture

28-12-2020, 23:52

It is also possible to disable keyclick with the Basic 'Screen' function..
In Asm you only need two instructions,
XOR A
LD (#F3DB),A

By Timmy

Master (139)

Timmy's picture

29-12-2020, 03:46

Setting 0 in $F3DB should work, it works for my MSX games in z88dk.

Perhaps it's your configuration?

By Fabrizio Caruso

Supporter (10)

Fabrizio Caruso's picture

02-01-2021, 18:55

@Timmy, settings 0 in $F3DB works but not if I use -lmsxbios. My question is: how do i get rid of the click sound if I use MSXBIOS?

By Timmy

Master (139)

Timmy's picture

04-01-2021, 18:32

Hi Fabrizio, your problem seems to be very specific, so my suggestion is to post a small bit of working code on the z88dk forums. Please also include the command how you compile it, because there're many configuration options there and every single one of them is different. And then I hope I can fix it for you.

I personally use my own msxbios library, so I don't know how -lmsxbios works yet. But I'm sure we can fix it. Smile

(I don't read this forum often, so it's easier for me if you post in the z88dk forum for your problem.)