MSX disk editor for Linux

Pagina 1/2
| 2

Door coldbreeze

Expert (127)

afbeelding van coldbreeze

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.

Aangemeld of registreer om reacties te plaatsen

Van AuroraMSX

Paragon (1902)

afbeelding van AuroraMSX

17-12-2007, 14:48

Have a look over here

Van coldbreeze

Expert (127)

afbeelding van coldbreeze

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!

Van turbor

Champion (507)

afbeelding van turbor

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...

Van Manuel

Ascended (19058)

afbeelding van Manuel

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

Van coldbreeze

Expert (127)

afbeelding van coldbreeze

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.

Van Manuel

Ascended (19058)

afbeelding van Manuel

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...

Van turbor

Champion (507)

afbeelding van turbor

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.

Van coldbreeze

Expert (127)

afbeelding van coldbreeze

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?

Van Manuel

Ascended (19058)

afbeelding van Manuel

07-01-2018, 03:19

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

Van FiXato

Scribe (1740)

afbeelding van FiXato

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. :)

Pagina 1/2
| 2