Skip to content

Releases: jfdelnero/HxCFloppyEmulator

HxCFloppyEmulator_V2_16_10_1

12 Jan 23:27
Compare
Choose a tag to compare

12 January 2025 : HxCFloppyEmulator v2.16.10.1

-> New Writer : PNG file (Disk/tracks and stream layouts) -> Disk layout can now be exported into a PNG file (for disk analysis) !

-> HFE v1/v2/v3, hxcstream and xml write protect flag support implemented.

-> Command line hxcfe tool : Multiples-output image conversion support added.
Example : Convert a disk image to HFE and BMP :
hxcfe -finput:"path/input.img" -conv:HXC_HFE -foutput:"path/output.hfe" -conv:BMP_DISK_IMAGE -foutput:"path/output.bmp"

-> DosDiskBrowser build : IMG files support added.

-> SD HxC configuration window : Fix custom settings selection.

-> Fix stream files import : Fix possible crash issue.

-> hxcstream : manage null pulses.

-> DMK loader : HD disk images support.

-> Apple II : Sector decoder : fix and optimization.

-> GUI : The software accept command line parameter to load image. (WIP)
e.g. : hxcfloppyemulator.exe file_image_path/image.img

-> zlib updated to v1.3.1

-> libexpat updated to v2.6.4 ( Security update : CVE-2024-45490 / CVE-2024-45491 / CVE-2024-45492 )

-> DMK export : align all sectors ID (IDAM and DAM)

-> EDE File Loader : Unidentified DD Image format code (0x00) support added.
Tested against the Giebler Ensoniq Disk Extractor Shareware Version 1.0.9. (EDE109)

-> Disk viewer : Rendering enhanced : alpha blending and better drawing.
Zoom support.
Better weak bits placement precision.
GUI : Area zoom and selection changed to make it more natural/user friendly.

-> New SECTOR_SIZE_FIELD_MASK variable to set the sector size id mask.

-> SCP Writer : Align tracks to the first index.

-> FLTK updated to v1.4.1 for all platforms.

-> New Loader : Mame MFI files. (WIP!)

-> IMD Loader/Writer : Missing data mark support.

-> New Loader : Hampa Hug's PCE PRI. (WIP!)

-> New build target : Emscripten / Web page version
URL : https://hxc2001.com/hxcfesw/ (Warning : Experimental state !)

-> SAP Loader (Thomson TO8) : SAP_LOADER_GAP3_VALUE setting to change/force the GAP 3 length.

-> CPC EDSK writer : GAP 3 value guessing + CPCDSK_WRITER_GAP3_VALUE setting to force it to a specific length.

-> 86Box 86F Loader Fixed.

-> Script : Binary format support (0bxxxxx e.g. 0b101010)

-> New XML formats definitions : Roland W30, Alesis DataDisk.

-> XML export : CRC32 disk value added.

-> Configuration file : New parameters :
(See init.script for more details)

# Default sectors size ID mask
SECTOR_SIZE_FIELD_MASK

# HFE Writer
HFE_WRITER_WRITENOTALLOWED
( 0 -> Image is not write protected, 1 -> Image is write protected. 2 -> Use source image write protect state.)

# CPC DSK Loader / Writer parameters
CPCDSK_WRITER_LIMIT_SECTOR_SIZE        1   # 1 = Limit the sector data to 6144 bytes
CPCDSK_WRITER_DISCARD_UNFORMATTED_SIDE 1   # 1 = Remove/ignore unformatted side.
CPCDSK_WRITER_GAP3_VALUE              -1   # Set the desired GAP 3 value or -1 for auto

# SAP Loader parameters
SAP_LOADER_GAP3_VALUE                 -1   # Set the desired GAP 3 value or -1 for auto

# Disk viewer / bmp/png export color / alpha parameters
BMPDISKEXPORT_COLOR_VALID_SECTOR_HEADER
BMPDISKEXPORT_COLOR_BAD_SECTOR_HEADER

BMPDISKEXPORT_COLOR_HEADERLESS_SECTOR_DATA
BMPDISKEXPORT_COLOR_VALID_SECTOR_DATA
BMPDISKEXPORT_COLOR_VALID_EMPTY_SECTOR_DATA
BMPDISKEXPORT_COLOR_BAD_SECTOR_DATA
BMPDISKEXPORT_COLOR_MEDIA_SUBSTRATE
BMPDISKEXPORT_COLOR_BITSDENSITY

BMPDISKEXPORT_DISPLAY_SECTOR_BOUNDARY
BMPDISKEXPORT_COLOR_SECTOR_BOUNDARY
BMPDISKEXPORT_COLOR_SECTOR_DATA_BOUNDARY

BMPDISKEXPORT_COLOR_ALPHA                   # ( 0 <>100 )

HxCFloppyEmulator_V2_15_2_3

08 Jan 23:17
Compare
Choose a tag to compare

8 January 2024 : HxCFloppyEmulator 2.15.2.3

-> New Applesauce WOZ file image loader.

-> Track viewer : Fix MFM sectors CRC values.

-> 2.15.1.2 Regression fix : Random crashes with HxC stream (Pauline) files fixed.

-> Some memory related fixes.

HxCFloppyEmulator_V2_15_1_2

23 Dec 20:22
Compare
Choose a tag to compare

23 December 2023 : HxCFloppyEmulator 2.15.1.2

-> Many fixes and improvements into the flux stream management :

  • One revolution only / 2 indexes support fixed.

  • Fix stream files formats export : No more glitch after the first revolution index. (Fix SCP and KF export).

  • Sectors recovery support - Can be disabled/enabled with the FLUXSTREAM_SECTORS_RECOVERY variable.
    This feature try to automatically recover/fix bad sectors with copies present in others stream revolutions.

  • Default pulses timing jitter tolerance increased from 10% to 14% (Config file).

-> Kryoflux writer : stream to stream conversion : Don't align output stream to the next index.

-> SCP writer : stream to stream conversion : Don't align output stream to the next index.

-> SCP loader : Fix singled-sided images support (Fix the number of tracks/cylinder).

-> SCP loader : Fix broken support of SCP images with more than 5 revolutions.

-> SCP loader : Fix odd number of tracks + double step mode issue (Last track missing).

-> Logic analyzer capture loader : nameTT.S.logicbin8bits file name convention support. (TT=track S=side)

-> New XML format : MC50/MC300/MC500 formats and empty data disk.

-> New XML format : Sharp X68000 2HD disk.

-> Track display : Fix possible infinite loop : check the bitrate value and stop + report if needed.

-> HFEv3 loader : Support RAND_OPCODE right after SKIPBITS_OPCODE.

-> New X68000 DIM file image loader.

-> New Apple II 2MG file image loader. (WIP - To be completed)

-> XML raw loader : Fix images last sector loading.

-> Track editor : New "insert" and "remove" track operations.

-> HFE writers : New "HFE_WRITER_WRITENOTALLOWED" parameter : Set it to 1 to write protect the exported hfe files.

-> HxC stream (Pauline) : Auto detect and load properly hard-sectored dumps.

-> D88 loader : Fix possible infinite loop with corrupted image.

-> Batch converter : New BATCHCONVERT_KEEP_SOURCE_FILE_NAME_EXTENSION setting to enable/disable the source file extension to the output file name.

-> BMP export : New Stream tracks mode export.

-> User interface : Save and restore previous state (WIP, Done : batch converter window)

-> NSI Northstar : Some index timings and formats fixes.

-> macOS : Better CAPSlib/ipf lib support. (Renaud Guérin)

-> New track format : Centurion MFM. (Rick Altherr)

-> Code : gcc's -fanalyzer used against the libhxcfe library : Many possible issues fixed !

-> Many internal code improvements and fixes.

HxCFloppyEmulator_V2_14_4_1

06 Feb 23:39
Compare
Choose a tag to compare

6 February 2023 : HxCFloppyEmulator 2.14.4.1

-> Windows : Turn the process in high priority when the USB HxC Floppy Emulator is detected.
Fix most of the Sync lost events.

-> XML generated disks : Clear the internal tracks status -> fix the command line tool.

-> Hard-sectored H8D Heathkit images: Fix odd tracks main index skew.

-> QuickDisk files loader : Support "HxC-like-but-not-exactly-hxc" QD images files.

-> DiscFerret DFI Loader : New DFILOADER_SAMPLE_FREQUENCY_MHZ parameter to change
the default sample frequency.

-> HxC stream (Pauline) : Support CLV convertion parameters :

- FLUXSTREAM_IMPORT_PCCAV_TO_MACCLV (Dump drive's CAV RPM)
- FLUXSTREAM_IMPORT_PCCAV_TO_C64CLV (Dump drive's CAV RPM)
- FLUXSTREAM_IMPORT_PCCAV_TO_VICTOR9KCLV (Dump drive's CAV RPM)

-> SD HxC Interface modes settings : Add PC/S950 auto density configurations.

-> Apple II .do/.dsk/*.po file writer.

-> SCP writer : The "Disk Type" field can be forced in the configuration file and the "SCPEXPORT_DISK_TYPE" variable.

-> Stream files writers (SCP/KF Raw/...) : Direct stream to stream support

If the current loaded tracks have a stream dump in memory then	
these streams are now just resampled and then exported to the stream file.	
If you want to use the old behavior and export the analyzed tracks instead then
set the "FLUXSTREAM_STREAM_TO_STREAM_CONVERT" variable to 0.

-> Stream analyzer : Bands mode "PLL" -> better Victor 9000 disks support (Work-in-progress)

-> Stream analyzer : Better Apple II and Macintosh support.

-> Stream and track viewer : Print sectors content on the track view.
(ISO/IBM SD/DD and Micral N track formats)

-> Some memory related bug fixed.

-> Possible crashes related to the track / disk view window fixed.

-> IMD File Writer : Fix track type when no supported sector are present on the track.

-> MSA File Writer : Don't write the last unformatted tracks.

-> Kryoflux Import : (WIP) Possible missing last index workaround.
-> Kryoflux writer : Possible dead lock fixed.

-> FDX support added : Revision 3 file format (standard and Raw/stream variants supported)
-> Raw FDX writer support added.

-> 86Box 86F support added : (WIP)

-> FD loader : Fix sectors side ID : All of them should use the ID 0.

-> Logic analyzer capture loader:

Can now load tracks captured with a simple logic analyzer. (Saleae logic analyzer or similar).

The current state/limitations are :

Need only 2 jumper wires : data (floppy pin 30) & index (floppy pin 8).
Load only a track at a time.
The sample rate is set by default at 16MHz. This can be changed through the "LOGICANALYZER_SAMPLERATE" variable.
The floppy data signal is mapped by default to the bit 0. This can be changed through the "LOGICANALYZER_DATA_BIT" variable.
The floppy index signal is mapped by default to the bit 3. This can be changed through the "LOGICANALYZER_INDEX_BIT" variable.
The supported input file format is a raw 8bits binary format (change the file extension to ".logicbin8bits").
Each byte in the file is a sample.

How to use it ? :

Connect the ground, data and index wires : machine ground to vss/gnd wire, floppy pin 30 to wire 0, floppy pin 8 to wire 3.
Start the machine, start the logic analyzer software. Start the capture and on the machine use any software/way to read a particular track.
The track should be read during at least to 2 revolutions ( 3 index pulses ). Save the dump in raw binary mode.
Change the binary dump file extension to ".logicbin8bits".
Before loading the file into the hxc software you may need to set the LOGICANALYZER_IMPORT_START_OFFSET and 
LOGICANALYZER_IMPORT_END_OFFSET	variables to define the region of interest in the file. 
You can use PulseView or similar software to roughly get the values to use.

TODO / Work in progress :

- Add the xx.y file naming convention to load multiple track files (xx=track number, y=side number)
- Add the dir,step,side, track 0 signals support to load a whole disk from one single file.

-> zlib updated to the version v1.2.13 : Security and bugs fixes.

-> expat lib updated to the version v2.5.0 : Security and bugs fixes.

-> lz4 lib updated to the version v1.9.4 : Bugs fixes.

-> Development / build process:

- GCC 9 / 11 : Fix warning messages during the compilation.

- Clang / macOS : Fix warning messages during the compilation.

- Repository changed to Git and moved to Github : https://github.com/jfdelnero/HxCFloppyEmulator

- Continuous integration build enabled: Linux, Windows x86 + x64, macOS arm + x64 CI build.

- Auto-tests scripts added. (Linux)