Using real floppy in openmsx

Page 1/2
| 2

By tupendo

Master (147)

tupendo's picture

26-12-2015, 09:57

Is possible use the real floppy under openmsx, 0.12 linux version.
Also is possible use a real cassete to loas real cassetes in openmsx?

Thanks advance and merry christmas.

Login or register to post comments

By wouter_

Champion (469)

wouter_'s picture

26-12-2015, 12:02

tupendo wrote:

Is possible use the real floppy under openmsx, 0.12 linux version.

Yes, this is possible. Just insert the special file '/dev/fd0' into the emulated disk drive (with the command diska /dev/fd0 in the openMSX console, or browse to this file in the GUI). This is described in the manual.

tupendo wrote:

Also is possible use a real cassete to loas real cassetes in openmsx?

This is sort-of possible. You can record your cassette to a .wav file and insert that .wav file into the emulated cassette player. Again see the manual for how to do this.

What is currently not yet possible is to use a 'live' audio stream as the cassette input. For technical reasons openMSX currently needs to know the total length of the audio stream in advance. This restriction could be lifted by changing the internal implementation. Do you have a convincing use case for this?

By Louthrax

Prophet (2406)

Louthrax's picture

26-12-2015, 14:00

Would also need to handle the "REM" signal to start / pause the cassette player. Can be done but needs some wiring on PC. I have some schematics and code for serial port if anybody's interested.

Quote:

Do you have a convincing use case for this?

Must say could be kind of fun to have a laptop PC with functional MSX FDD & cassette player Smile

By tupendo

Master (147)

tupendo's picture

26-12-2015, 15:20

In a few days I will show some photos and videos of the project running.

I am interested in this scheme, the idea is to have a fully functional Linux emulated MSX with openmsx, same handling MSX real.

Thanks guys.

By Daemos

Paragon (1954)

Daemos's picture

26-12-2015, 15:29

Are you going to use a minimal configuration? That would be awesome to just boot the linux kernel on a minimal machine. Have all the libraries that openmsx needs + openmsx and have the machine boot straight into a full screen openmsx. The only problem remaining would be the cartridge ports. How to detect or how to attach to the physical machine.

By Louthrax

Prophet (2406)

Louthrax's picture

26-12-2015, 15:37

Quote:

The only problem remaining would be the cartridge ports. How to detect or how to attach to the physical machine.

MSX Game Reader ? On Linux ?

By Louthrax

Prophet (2406)

Louthrax's picture

26-12-2015, 17:04

What about a Raspberry "PiMSX" little box ?

  • Floppy drive & MSX Game Reader connected on USB port.
  • Keyboard on USB port.
  • 2 MSX joysticks on the Raspberry GPIOs.
  • MSX Sound output on audio Left output.
  • A real tape port (sound output on audio Right channel, sound input on MIC / Line in, REM line on GPIO).
  • MSX sound output would be mono, on Left channel.
  • Video output in native MSX resolution on Raspberry composite output.

Of course, that will require a fair amount of openMSX changes but that could be a fun project.

By Daemos

Paragon (1954)

Daemos's picture

26-12-2015, 19:23

Quote:

MSX Game Reader ? On Linux ?

Depends on the drivers you need.

By tupendo

Master (147)

tupendo's picture

26-12-2015, 20:53

From the console i write diska /media/floopy0 and work to read disk, not write and no format. The problem is this not permanent, every time I must use the console to use floppy.

The idea is not use the console, any solution please?

Thanks advance.

By Wild_Penguin

Hero (641)

Wild_Penguin's picture

26-12-2015, 22:06

tupendo: /media/floopy0 (you probably mean floppy0) sounds like the mount point, not the device node you will need to make it work properly (which will most probably be something like /dev/fd0). It is no surprise that formatting does not work if using a mount point.

If you use the mount point, openMSX will open it in "dir as disk" -mode, which will sort of work but is not the same thing as using the device directly. The "dir as disk" feature is not meant for what you are doing in any case; OpenMSX will only see the directory and construct an emulated floppy out of it. If you can not write, it may mean that the emulated disk (openMSX has constructed from the folder it sees) is full (since openMSX may not be able to handle rewriting a file without the disk going over "full", for example) - or a permission problem in the mount point.

Also in this mode, you will only be able to use FAT formatted disks and only in BASIC or MSXDOS file access mode, in any case (programmers: sorry for very likely terminology misuse, please correct me if you want Smile ).

To be able to use the device node, you will most likely need to change permissions on the Linux computer, at least for write support (and probably also for reading). The best solution would be to create a group that the user running openMSX will belong to, and change the device node group to that, and the device node group permissions to rw.

To make that persistent in a correct and a clean way, you will probably (this depends on the distro you are using) need to learn some udev rules. Also, an automated script will probably work too, but that will be a dirty hack.

Also, by using the device node directly, openMSX has no way of knowing that the disk has been changed. This probably does not matter, since a real MSX (in this case emulated one) does not know, either. A real MSX does not cache anything, but openMSX - or the Linux kernel - might. So, IMO, what you are trying to do, is quite error prone in any case, even if you get it working. Still, it might work, provided that 1) openMSX writes everything immediately on the disk at the moment it was written and 2) Linux Kernel does it, too (also, openMSX can not have a read cache in this use case, or you need to signal it somehow about any disk changes). Alternatively, you need to eject the disk in openMSX and run "sync" in Linux somehow before physically ejecting a disk. It is feasible to make this work stably, but that may require some openMSX code changes.

By gdx

Enlighted (4802)

gdx's picture

26-12-2015, 22:40

Louthrax wrote:

MSX Game Reader ? On Linux ?

MSX Game Reader is too slow as device. Il is interesting only for Roms and a few Megaroms.

Page 1/2
| 2