MSX disk editor for Linux

Page 1/2
| 2

By coldbreeze

Expert (126)

coldbreeze's picture

17-12-2007, 13:19

Guys,

I am looking for a simple MSX disk editor for Linux. Any ideas? I do not mind command line tools.

I have no problems in porting an existing disk editor from another platform to Linux as long as I can get hold of the source code. Smile

Thank you.

Login or register to post comments

By AuroraMSX

Paragon (1900)

AuroraMSX's picture

17-12-2007, 14:48

Have a look over here

By coldbreeze

Expert (126)

coldbreeze's picture

17-12-2007, 15:29

Have a look over here

openMSX is full of surprises! I have been using it on and off for a couple of years and never known of diskmanipulator command. :) Thanks AuroraMSX!

By turbor

Champion (416)

turbor's picture

17-12-2007, 15:46

If you are using Linux and are willing to try out the new PyQt based catapult then you have a nice GUI for the diskmanipulator in there also...

By Manuel

Ascended (15288)

Manuel's picture

17-12-2007, 15:52

Yep. And if you want to try by hand (without GUI) anyway, check out the manual. But the GUI is a lot cooler of course :) A link to a snapshot is on our website. Needs PyQt4 (4.3); run it by typing 'make'. Packaging is not worked on yet :P

By the way, I thought you meant low level disk editor at first. For that, simply use a binary editor to edit the disk image :P

By coldbreeze

Expert (126)

coldbreeze's picture

18-12-2007, 06:09

I will certainly give the PyQt based catapult a try. It would still be nice to have command line utilities to manipulate .dsk files from, say, build scripts. A typical use case would be to cross-compile an executable, add it to a disk image and launch the emulator (this is what I have been doing in Windows) with the disk image.

By Manuel

Ascended (15288)

Manuel's picture

18-12-2007, 09:14

For basic command line programs, check wrdsk/rddsk (by Arnold Metselaar) or dodsk (by Kanima?). I still use wrdsk/rddsk regularly Smile (Mostly because I'm used to it.)
Also, I think in the openMSX code repository, there is a (now outdated?) separate version of the predecessor of diskmanipulator called msxtar:
http://openmsx.svn.sourceforge.net/viewvc/openmsx/msxtar/trunk/

I have no idea about the status of it, though...

By turbor

Champion (416)

turbor's picture

18-12-2007, 09:24

Msxtar was a proof-of-concept I made for the code that has become the diskmanipulator.
There have been some minor bugfixes in diskmanipulator that haven't been ported back to msxtar, but if you start from an empty new (hard-)diskimage and don't fill it up to 100% then there should be no problem at all when using msxtar Smile

The advantage of msxtar in relation to rddsk/wrdsk is that it can handle subdirs,fat12 up to 32 Meg size, partitions on ide HD-images and can be used to create the diskmimages. I never used dodsk so I can't compare with that one.

By coldbreeze

Expert (126)

coldbreeze's picture

22-12-2007, 14:10

I checked out the most recent version of msxtar. It look good and works as expected. This is exactly what I have been looking for. Thank you very much for your help, guys!

Manuel, is there source code available for wrdsk and rddsk or do you have Linux binaries of them?

By Manuel

Ascended (15288)

Manuel's picture

07-01-2018, 03:19

Source is available, use Google. It's even in the Ultimate MSX FAQ.

By FiXato

Scribe (1508)

FiXato's picture

07-01-2018, 03:34

I've tried to compile the c source for rddsk from http://fms.komkon.org/fMSX/DiskUtilities16.tar.gz, but all I get are warnings and errors...

$ gcc -o rddsk rddsk.c
rddsk.c: In function ‘OpenDisk’:
rddsk.c:148:2: warning: implicit declaration of function ‘exit’ [-Wimplicit-function-declaration]
  exit(2);
  ^
rddsk.c:148:2: warning: incompatible implicit declaration of built-in function ‘exit’
rddsk.c:148:2: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:154:6: warning: incompatible implicit declaration of built-in function ‘exit’
      exit(2);
      ^
rddsk.c:154:6: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:159:6: warning: incompatible implicit declaration of built-in function ‘exit’
      exit(2);
      ^
rddsk.c:159:6: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:165:6: warning: incompatible implicit declaration of built-in function ‘exit’
      exit(2);
      ^
rddsk.c:165:6: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:175:6: warning: incompatible implicit declaration of built-in function ‘exit’
      exit(2);
      ^
rddsk.c:175:6: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:188:6: warning: incompatible implicit declaration of built-in function ‘exit’
      exit(2);
      ^
rddsk.c:188:6: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c: In function ‘ReadFile’:
rddsk.c:259:2: warning: incompatible implicit declaration of built-in function ‘exit’
  exit(2);
  ^
rddsk.c:259:2: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:294:8: warning: extra tokens at end of #endif directive [-Wendif-labels]
 #endif POOR
        ^
rddsk.c: In function ‘main’:
rddsk.c:355:2: warning: incompatible implicit declaration of built-in function ‘exit’
  exit(2);
  ^
rddsk.c:355:2: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:362:2: warning: incompatible implicit declaration of built-in function ‘exit’
  exit(1);
  ^
rddsk.c:362:2: note: include ‘’ or provide a declaration of ‘exit’
rddsk.c:374:3: warning: incompatible implicit declaration of built-in function ‘exit’
   exit(2);
   ^
rddsk.c:374:3: note: include ‘’ or provide a declaration of ‘exit’
/tmp/ccNjvd3q.o: In function `masks':
rddsk.c:(.text+0x15a): undefined reference to `xalloc'
/tmp/ccNjvd3q.o: In function `OpenDisk':
rddsk.c:(.text+0x40c): undefined reference to `rdsh'
rddsk.c:(.text+0x4a2): undefined reference to `rdsh'
rddsk.c:(.text+0x517): undefined reference to `rdsh'
rddsk.c:(.text+0x53e): undefined reference to `rdsh'
rddsk.c:(.text+0x5ad): undefined reference to `xalloc'
/tmp/ccNjvd3q.o: In function `rdtime':
rddsk.c:(.text+0x78d): undefined reference to `rdsh'
rddsk.c:(.text+0x7d4): undefined reference to `rdsh'
/tmp/ccNjvd3q.o: In function `ReadFile':
rddsk.c:(.text+0xb69): undefined reference to `rdlg'
rddsk.c:(.text+0xb83): undefined reference to `rdsh'
rddsk.c:(.text+0xc75): undefined reference to `ReadFAT'
/tmp/ccNjvd3q.o: In function `lsl':
rddsk.c:(.text+0xdf9): undefined reference to `rdlg'
collect2: error: ld returned 1 exit status

Alternatively, is there a way to run openmsx headless, and have it execute a diskmanipulator command to extract the file, without having to display the interface? That way I could maybe automate certain things from my VPS without X running. :)

Page 1/2
| 2
My MSX profile