[HOWTO] - Build hcxfloppyemu-code in Debian Linux Ver 7.3

General discussion forum - for all that doesn't fit in any other category.
Post Reply
ldkraemer
Posts: 24
Joined: Thu Feb 28, 2013 3:47 am

[HOWTO] - Build hcxfloppyemu-code in Debian Linux Ver 7.3

Post by ldkraemer » Sat Mar 15, 2014 4:45 am

[HOWTO] - Build svn hcxfloppyemu-code in Debian Linux Ver 7.3 (64 Bit)

This HOWTO: will explain how to build (compile) hxcfe & hxcfloppyemulator, along with the dependencies for your Debian 7.x 64 bit Linux.

BEFORE YOU TRY A COMPILE YOU MUST INSTALL SOME REQUIRED SOFTWARE:
Typically you need to install build-essential, and the headers for the kernel you are running.

Debian Wheezy (Ver 7.x) Packages needed for Software Compile:
1. Build-Essential
2. Linux debian 3.2.0-4-amd64 Headers (or the Headers for your Version)

Code: Select all

uname -r
will tell you the Linux kernel you are currently running.

Code: Select all

sudo apt-get install build-essential linux-headers-$(uname -r)
will install the software needed to successfully compile your source code.

Install Additional Required Software to compile (build) hxcfe & hxcfloppyemulator:
Install libx11-dev and svn. I also installed libncurses5-dev, since I built libdsk & cpmtools:

Code: Select all

sudo apt-get install libncurses5-dev libx11-dev svn
At this point you may have had several directory changes or updates, and your system likely needs updated with:

Code: Select all

sudo updatedb
It's a good idea to execute this command at a regular interval, to keep the database updated for the locate command.


DOWNLOAD THE SUBVERSION SOURCE:
Create a new subdirectory of your choice to contain the downloaded subversion source code.
My choice was /home/user/Downloads/HxC/slim/hxcfloppyemu-code/HxCFloppyEmulator

NOTE: From this point on, it is assumed you execute the CLI Commands in ORDER.

Download the subversion source from this URL:
http://sourceforge.net/p/hxcfloppyemu/code/HEAD/tree/

Download the Fast Light Tool Kit (FLTK) version 1.3.2 source (fltk-1.3.2-source.tar.gz) from this URL:
http://www.fltk.org/software.php

You may want to VERIFY the MD5SUM of the downloaded files, as required.

Create a subdirectory to contain the source. I used /home/user/Downloads/HxC/slim

Code: Select all

mkdir -p ~Downloads/HxC/slim
cd ~/Downloads/HxC/slim
svn checkout svn://svn.code.sf.net/p/hxcfloppyemu/code/ hxcfloppyemu-code
cp ~/Downloads/fltk-1.3.2-source.tar.gz /home/user/Downloads/HxC/slim
Extract the source folder for fltk-1.3.2-source.tar.gz

Code: Select all

tar -zxvf fltk-1.3.2-source.tar.gz
Copy the contents of the extracted folder to the subversion tree (ONE SINGLE LONG LINE):

Code: Select all

cp /home/user/Downloads/HxC/slim/fltk-1.3.2/*.* /home/user/Downloads/HxC/slim/hxcfloppyemu-code/HxCFloppyEmulator/HxCFloppyEmulator_software/trunk/sources/thirdpartylibs/fltk/fltk-1.3.x
At this point you should have the source tree correct and you should be able to build the code.

Code: Select all

cd /home/user/Downloads/HxC/slim/hxcfloppyemu-code/HxCFloppyEmulator/HxCFloppyEmulator_software/trunk/build
ls
In this directory should be a file named "Makefile"
Build the source with:

Code: Select all

make
It should build without errors. If there are errors, you will need to correct the problem causing the error and issue a:

Code: Select all

make clean
make
The files hxcfe & hxcfloppyemulator will be located at the following subdirectory:

Code: Select all

/home/user/Downloads/HxC/slim/hxcfloppyemu-code/HxCFloppyEmulator/build
Usage Commands are:

Code: Select all

./hxcfe -help
HxC Floppy Emulator : Floppy image file converter
Copyright (C) 2006-2014 Jean-Francois DEL NERO
This program comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions;

libhxcfe version : 2.4.5.1

Options:
-help : This help
-license : Print the license
-verbose : Verbose mode
-modulelist : List modules in the libhxcfe [FORMAT]
-rawlist : Disk layout list [DISKLAYOUT]
-interfacelist : Floppy interfaces mode list [INTERFACE_MODE]
-finput:[filename] : Input file image
-foutput:[filename] : Output file image
-conv:[FORMAT] : Convert the input file
-uselayout:[DISKLAYOUT] : Use the Layout [DISKLAYOUT]
-usb:[DRIVE] : start the usb floppy emulator
-infos : Print informations about the input file
-ifmode:[INTERFACE_MODE] : Select the floppy interface mode
-singlestep : Force the single step mode
-doublestep : Force the double step mode
-list : List the content of the floppy image
-getfile:[FILE] : Get a file from the floppy image
-putfile:[FILE] : Put a file to the floppy image
-graphlayout : Extract the disk layout picture (BMP).

Stopping HxCFloppyEmulator...
and

Code: Select all

./hxcfloppyemulator
If the commands do not execute, check the file permissions:

Code: Select all

-rwxr-xr-x 1 user user 984570 Mar 13 07:40 hxcfloppyemulator
-rwxr-xr-x 1 user user  40024 Mar 13 07:38 hxcfe
Additional command usage:

Code: Select all

./hxcfe -modulelist
./hxcfe -rawlist
./hxcfe -interfacelist
./hxcfe -finput:ampro.img -list
./hxcfe -finput:ampro.img -infos
./hxcfe -finput:kpii-mex.td0 -foutput:kpii-mex.hfe -conv:HXC_HFE
./hxcfe -finput:kpii-mex.imd -foutput:kpii-mex_imd.hfe -conv:HXC_HFE
./hxcfe -finput:kayii01.imd -foutput:kayii01_imd.hfe -conv:HXC_HFE
To get to the ./hxcfe & ./hxcfloppyemulator files easily I created a small script named hxc.sh located at /home/user

Code: Select all

#!/bin/bash
#
#cd to the HxC build code, and exit there
# http://stackoverflow.com/questions/255414/why-doesnt-cd-work-in-a-bash-shell-script
#
# Usage:
#. ./hxc.sh
#
cd /home/user/Downloads/HxC/slim/hxcfloppyemu-code/HxCFloppyEmulator/build
pwd
ls
Execute the script with:

Code: Select all

. ./hxc.sh
Script permissions are:

Code: Select all

-rwxr-xr-x 1 user user 243 Mar 13 14:59 ./hxc.sh
Thanks.

Larry
Last edited by ldkraemer on Sat Mar 15, 2014 3:11 pm, edited 1 time in total.

Jeff
Site Admin
Posts: 4856
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: [HOWTO] - Build hcxfloppyemu-code in Debian Linux Ver 7.

Post by Jeff » Sat Mar 15, 2014 9:22 am

Thanks for the guide ;)

Post Reply