Code clean up.

git-svn-id: svn://svn.code.sf.net/p/hxcfloppyemu/code/HxCFloppyEmulator/HxCFloppyEmulator_software/trunk@386 63fa2f70-6a9b-4bc4-b855-9c6a949b1d69
This commit is contained in:
Jean-François DEL NERO committed 2012-04-24 22:04:08 +00:00
1 parent 949348fd6c
commit ea755ad298
21 files changed
+483 -709

No files matched your search

@@ -325,7 +325,7 @@ SOURCE=..\sources\gui\main_gui.h
# End Source File
# Begin Source File
SOURCE=..\sources\msg_txt.h
SOURCE=..\sources\gui\msg_txt.h
# End Source File
# Begin Source File
@@ -24,17 +24,6 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
*/
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Progress.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_Timer.H>
#include <errno.h>
#include <malloc.h>
@@ -51,49 +40,41 @@ extern "C"
#include "version.h"
}
#include "fl_includes.h"
#include "about_gui.h"
#include "license_gui.h"
void open_license_window(Fl_Widget *, void *)
static void tick(void *v)
{
}
//#define BUTTON_XPOS 5
//#define BUTTON_YPOS 50
//#define BUTTON_XSIZE 120
//#define BUTTON_YSIZE 25
static void tick(void *v) {
About_box *window;
unsigned char * ptr1;
int i,j,k;
window=(About_box *)v;
if(window->shown())
{
window->make_current();
uintro_getnextframe(window->ui_context);
ptr1=(unsigned char*)window->ui_context->framebuffer;
k=0;
j=0;
for(i=0;i<window->xsize*window->ysize;i++)
{
ptr1[j++]=ptr1[k+2];
ptr1[j++]=ptr1[k+1];
ptr1[j++]=ptr1[k+0];
k=k+4;
}
fl_draw_image((unsigned char *)window->ui_context->framebuffer, window->xpos_size, window->ypos_size, window->xsize, window->ysize, 3, 0);
}
Fl::repeat_timeout(0.02, tick, v);
About_box *window;
unsigned char * ptr1;
int i,j,k;
window=(About_box *)v;
if(window->shown())
{
window->make_current();
uintro_getnextframe(window->ui_context);
ptr1=(unsigned char*)window->ui_context->framebuffer;
k=0;
j=0;
for(i=0;i<window->xsize*window->ysize;i++)
{
ptr1[j++]=ptr1[k+2];
ptr1[j++]=ptr1[k+1];
ptr1[j++]=ptr1[k+0];
k=k+4;
}
fl_draw_image((unsigned char *)window->ui_context->framebuffer, window->xpos_size, window->ypos_size, window->xsize, window->ysize, 3, 0);
}
Fl::repeat_timeout(0.02, tick, v);
}
@@ -171,14 +152,6 @@ About_box::About_box()
tick(this);
return ;
}
//
// End of "$Id: hello.cxx 6102 2008-04-21 19:54:34Z matt $".
//
return ;
}
@@ -8,6 +8,7 @@
#include <FL/Fl_Input.H>
#include <FL/Fl_Output.H>
#include <FL/Fl_Button.H>
extern void batch_converter_window_bt_select_src(Fl_Button*, void*);
extern void batch_converter_window_bt_select_dst(Fl_Button*, void*);
extern void batch_converter_window_bt_convert(Fl_Button*, void*);
@@ -50,10 +50,7 @@
#include <sys/stat.h>
#include <direct.h>
#include <FL/Fl_File_Browser.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/Fl_Native_File_Chooser.H>
#include "fl_includes.h"
#include "fl_dnd_box.h"
extern "C"
@@ -63,15 +60,15 @@ extern "C"
#include "os_api.h"
}
#include "main.h"
#include "batch_converter_window.h"
#include "cb_batch_converter_window.h"
#include "loader.h"
extern HXCFLOPPYEMULATOR * flopemu;
batchconverterparams bcparams;
extern s_gui_context * guicontext;
typedef struct s_param_bc_params_
{
const char * files;
@@ -376,7 +373,7 @@ int convertthread(void* floppycontext,void* hw_context)
if(strlen(bcparams.sourcedir) && strlen(bcparams.destdir))
{
browse_and_convert_directory( flopemu,
browse_and_convert_directory( guicontext->hxcfe,
bcparams.sourcedir,
bcparams.destdir,
"*.*",
@@ -455,7 +452,7 @@ int draganddropconvertthread(void* floppycontext,void* hw_context)
if(filecount)
{
draganddropconvert( flopemu,
draganddropconvert( guicontext->hxcfe,
filelist,
bcparams.destdir,
bcw->choice_file_format->value(),
@@ -521,7 +518,7 @@ void batch_converter_window_bt_convert(Fl_Button* bt, void*)
dw=((Fl_Window*)(bt->parent()));
bcw=(batch_converter_window *)dw->user_data();
bcw->bt_convert->deactivate();
hxc_createthread(flopemu,bcw,&convertthread,1);
hxc_createthread(guicontext->hxcfe,bcw,&convertthread,1);
}
void batch_converter_window_bt_select_src(Fl_Button* bt, void*)
@@ -597,7 +594,7 @@ void dnd_bc_cb(Fl_Widget *o, void *v)
bcparams->files=dnd->event_text();
hxc_createthread(flopemu,bcparams,&draganddropconvertthread,1);
hxc_createthread(guicontext->hxcfe,bcparams,&draganddropconvertthread,1);
}
}
@@ -50,22 +50,7 @@
#include <sys/stat.h>
#include <direct.h>
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Progress.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_File_Browser.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/Fl_Native_File_Chooser.H>
#include <FL/Fl_Timer.H>
#include <windows.h>
#include "fl_includes.h"
extern "C"
{
@@ -75,11 +60,10 @@ extern "C"
#include "thirdpartylibs/fdrawcmd/fdrawcmd.h"
}
#include "loader.h"
#include "main.h"
unsigned char * mapfloppybuffer;
extern HXCFLOPPYEMULATOR * flopemu;
extern s_gui_context * guicontext;
typedef struct floppydumperparams_
{
@@ -133,7 +117,7 @@ void tick_dump(void *w) {
if(window->window->shown())
{
window->window->make_current();
fl_draw_image((unsigned char *)mapfloppybuffer, 8, 210, 460, 200, 3, 0);
fl_draw_image(guicontext->mapfloppybuffer, 8, 210, 460, 200, 3, 0);
}
Fl::repeat_timeout(0.02, tick_dump, w);
@@ -330,11 +314,11 @@ int DumpThreadProc(void* floppycontext,void* hw_context)//( LPVOID lpParameter)
l=xsize;
while(l)
{
mapfloppybuffer[o++]=0x55;
mapfloppybuffer[o++]=0x55;
mapfloppybuffer[o]=0x55;
guicontext->mapfloppybuffer[o++]=0x55;
guicontext->mapfloppybuffer[o++]=0x55;
guicontext->mapfloppybuffer[o]=0x55;
if(i&1)
mapfloppybuffer[o]=0xA5;
guicontext->mapfloppybuffer[o]=0xA5;
o++;
//o++;
@@ -439,9 +423,9 @@ int DumpThreadProc(void* floppycontext,void* hw_context)//( LPVOID lpParameter)
l=4<<(sr->Header[k].size);
while(l)
{
mapfloppybuffer[o++]=0xFF;
mapfloppybuffer[o++]=0xFF;
mapfloppybuffer[o++]=0xFF;
guicontext->mapfloppybuffer[o++]=0xFF;
guicontext->mapfloppybuffer[o++]=0xFF;
guicontext->mapfloppybuffer[o++]=0xFF;
//o++;
l--;
}
@@ -504,9 +488,9 @@ int DumpThreadProc(void* floppycontext,void* hw_context)//( LPVOID lpParameter)
l=4<<(sr->Header[k].size);
while(l)
{
mapfloppybuffer[o++]=0xFF;
mapfloppybuffer[o++]=0xFF;
mapfloppybuffer[o++]=0x00;
guicontext->mapfloppybuffer[o++]=0xFF;
guicontext->mapfloppybuffer[o++]=0xFF;
guicontext->mapfloppybuffer[o++]=0x00;
//o++;
l--;
}
@@ -536,9 +520,9 @@ int DumpThreadProc(void* floppycontext,void* hw_context)//( LPVOID lpParameter)
l=4<<(sr->Header[k].size);
while(l)
{
mapfloppybuffer[o++]=0xFF;
mapfloppybuffer[o++]=0x00;
mapfloppybuffer[o++]=0x00;
guicontext->mapfloppybuffer[o++]=0xFF;
guicontext->mapfloppybuffer[o++]=0x00;
guicontext->mapfloppybuffer[o++]=0x00;
//o++;
l--;
}
@@ -554,9 +538,9 @@ int DumpThreadProc(void* floppycontext,void* hw_context)//( LPVOID lpParameter)
l=4<<(sr->Header[k].size);
while(l)
{
mapfloppybuffer[o++]=0x00;
mapfloppybuffer[o++]=0xFF;
mapfloppybuffer[o++]=0x00;
guicontext->mapfloppybuffer[o++]=0x00;
guicontext->mapfloppybuffer[o++]=0xFF;
guicontext->mapfloppybuffer[o++]=0x00;
//o++;
l--;
}
@@ -645,13 +629,13 @@ void floppy_dump_window_bt_read(Fl_Button* bt, void*)
fdp.retry=(int)fdw->number_of_retry->value();
fdp.number_of_track=(int)fdw->number_of_track->value();
fdp.flopemu=flopemu;
fdp.flopemu=guicontext->hxcfe;
sprintf(tempstr,"%d Sector(s) Read, %d bytes, %d Bad sector(s)",0,0,0);
fdw->current_status->value(tempstr);
//fdw->deactivate();
hxc_createthread(flopemu,&fdp,&DumpThreadProc,1);
hxc_createthread(guicontext->hxcfe,&fdp,&DumpThreadProc,1);
}
void floppy_dump_ok(Fl_Button*, void* w)
@@ -50,21 +50,7 @@
#include <sys/stat.h>
#include <direct.h>
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Progress.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_File_Browser.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/Fl_Native_File_Chooser.H>
#include <FL/Fl_Timer.H>
#include <windows.h>
#include "fl_includes.h"
extern "C"
{
@@ -75,13 +61,11 @@ extern "C"
#include "thirdpartylibs/fdrawcmd/fdrawcmd.h"
}
#include "main.h"
#include "loader.h"
#include "fl_mouse_box.h"
unsigned char * floppyinfobuffer;
extern HXCFLOPPYEMULATOR * flopemu;
extern FLOPPY * thefloppydisk;
extern s_gui_context * guicontext;
void update_graph(floppy_infos_window * w)
{
@@ -98,29 +82,29 @@ void update_graph(floppy_infos_window * w)
{
w->window->make_current();
td=hxcfe_td_init(flopemu,disp_xsize,disp_ysize,(int)(w->x_time->value()*1000),(int)w->y_time->value(),(int)(w->x_offset->value()*1000));
td=hxcfe_td_init(guicontext->hxcfe,disp_xsize,disp_ysize,(int)(w->x_time->value()*1000),(int)w->y_time->value(),(int)(w->x_offset->value()*1000));
if(td)
{
if(thefloppydisk)
if(guicontext->loadedfloppy)
{
if(w->track_number_slide->value()>=thefloppydisk->floppyNumberOfTrack)
w->track_number_slide->value(thefloppydisk->floppyNumberOfTrack-1);
if(w->track_number_slide->value()>=guicontext->loadedfloppy->floppyNumberOfTrack)
w->track_number_slide->value(guicontext->loadedfloppy->floppyNumberOfTrack-1);
if(w->side_number_slide->value()>=thefloppydisk->floppyNumberOfSide)
w->side_number_slide->value(thefloppydisk->floppyNumberOfSide-1);
if(w->side_number_slide->value()>=guicontext->loadedfloppy->floppyNumberOfSide)
w->side_number_slide->value(guicontext->loadedfloppy->floppyNumberOfSide-1);
w->track_number_slide->scrollvalue((int)w->track_number_slide->value(),1,0,thefloppydisk->floppyNumberOfTrack);
w->side_number_slide->scrollvalue((int)w->side_number_slide->value(),1,0,thefloppydisk->floppyNumberOfSide);
w->track_number_slide->scrollvalue((int)w->track_number_slide->value(),1,0,guicontext->loadedfloppy->floppyNumberOfTrack);
w->side_number_slide->scrollvalue((int)w->side_number_slide->value(),1,0,guicontext->loadedfloppy->floppyNumberOfSide);
if(w->track_view_bt->value())
{
hxcfe_td_draw_track(flopemu,td,thefloppydisk,(int)w->track_number_slide->value(),(int)w->side_number_slide->value());
hxcfe_td_draw_track(guicontext->hxcfe,td,guicontext->loadedfloppy,(int)w->track_number_slide->value(),(int)w->side_number_slide->value());
}
else
{
if(w->disc_view_bt->value())
{
hxcfe_td_draw_disk(flopemu,td,thefloppydisk);
hxcfe_td_draw_disk(guicontext->hxcfe,td,guicontext->loadedfloppy);
}
}
@@ -136,7 +120,7 @@ void update_graph(floppy_infos_window * w)
}
fl_draw_image((unsigned char *)td->framebuffer, w->floppy_map_disp->x(), w->floppy_map_disp->y(), td->xsize, td->ysize, 3, 0);
hxcfe_td_deinit(flopemu,td);
hxcfe_td_deinit(guicontext->hxcfe,td);
}
}
}
@@ -56,8 +56,9 @@ extern "C"
}
#include "loader.h"
#include "main.h"
extern HXCFLOPPYEMULATOR * flopemu;
extern s_gui_context * guicontext;
#define TWOSIDESFLOPPY 0x02
#define SIDE_INVERTED 0x04
@@ -212,7 +213,7 @@ void raw_loader_window_bt_loadrawfile(Fl_Button* bt, void*)
if(!fileselector("Select raw file",(char*)file,0,"*.img",0,0))
{
loadrawfile(flopemu,&rfc,file);
loadrawfile(guicontext->hxcfe,&rfc,file);
dw->hide();
}
}
@@ -241,7 +242,7 @@ void raw_loader_window_bt_createemptyfloppy(Fl_Button* bt, void*)
getWindowState(rlw,&rfc);
loadrawfile(flopemu,&rfc,NULL);
loadrawfile(guicontext->hxcfe,&rfc,NULL);
dw->hide();
}
@@ -59,8 +59,6 @@ extern "C"
#include "loader.h"
extern HXCFLOPPYEMULATOR * flopemu;
unsigned char filebuffer[8*1024];
@@ -56,30 +56,10 @@ extern "C"
#include "libhxcfe.h"
#include "usb_hxcfloppyemulator.h"
}
#include "main.h"
#include "loader.h"
extern HXCFLOPPYEMULATOR * flopemu;
extern USBHXCFE * usbhxcfe;
/*platform platformlist[]=
{
{ AMIGA_DD_FLOPPYMODE,"Amiga","DS0","DS1","DS2","MTRON"},
{ AMIGA_HD_FLOPPYMODE,"Amiga HD","DS0","DS1","DS2","MTRON"},
{ ATARIST_DD_FLOPPYMODE,"Atari ST","D0SEL","D1SEL","-","MTRON"},
{ ATARIST_HD_FLOPPYMODE,"Atari ST HD","D0SEL","D1SEL","-","MTRON"},
{ IBMPC_DD_FLOPPYMODE,"IBM PC 720kB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ IBMPC_HD_FLOPPYMODE,"IBM PC 1.44MB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ IBMPC_ED_FLOPPYMODE,"IBM PC 2.88MB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ CPC_DD_FLOPPYMODE,"Amstrad CPC","Drive Select 0","Drive Select 1","-","MOTOR ON"},
{ MSX2_DD_FLOPPYMODE,"MSX 2","DS0","DS1","DS2","MTRON"},
{ GENERIC_SHUGART_DD_FLOPPYMODE,"Generic Shugart","DS0","DS1","DS2","MTRON"},
{ EMU_SHUGART_FLOPPYMODE,"Emu Shugart","DS0","DS1","DS2","MTRON"},
{ C64_DD_FLOPPYMODE,"C64 1541","NA","NA","NA","NA"},
{ -1,"?","DS0","DS1","DS2","MTRON"}
};*/
extern s_gui_context * guicontext;
void tick_usb(void *v) {
char tempstr[512];
@@ -93,7 +73,7 @@ void tick_usb(void *v) {
window=(usbhxcfecfg_window *)v;
status=libusbhxcfe_getStats(flopemu,usbhxcfe,&stats,0);
status=libusbhxcfe_getStats(guicontext->hxcfe,guicontext->usbhxcfe,&stats,0);
sprintf(tempstr,"%d (%d p/s)",stats.totalpacketsent,stats.packetsent);
stats.packetsent=0;
@@ -164,7 +144,7 @@ void tick_usb(void *v) {
}
switch( libusbhxcfe_getDrive(flopemu,usbhxcfe) & 0x3 )
switch( libusbhxcfe_getDrive(guicontext->hxcfe,guicontext->usbhxcfe) & 0x3 )
{
case 0:
window->rbt_ds0->set();
@@ -194,7 +174,7 @@ void tick_usb(void *v) {
break;
}
if( libusbhxcfe_getDrive(flopemu,usbhxcfe) >3)
if( libusbhxcfe_getDrive(guicontext->hxcfe,guicontext->usbhxcfe) >3)
{
window->chk_disabledrive->set();
}
@@ -203,7 +183,7 @@ void tick_usb(void *v) {
window->chk_disabledrive->clear();
}
if(libusbhxcfe_getDoubleStep(flopemu,usbhxcfe))
if(libusbhxcfe_getDoubleStep(guicontext->hxcfe,guicontext->usbhxcfe))
{
window->chk_doublestep->set();
}
@@ -0,0 +1,21 @@
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Progress.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_Tiled_Image.H>
#include <FL/Fl_File_Browser.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/Fl_Native_File_Chooser.H>
#include <FL/Fl_File_Icon.H>
#include <FL/Fl_Shared_Image.H>
#include <FL/Fl_PNM_Image.H>
#include <FL/Fl_Light_Button.H>
#include <FL/Fl_BMP_Image.H>
#include <FL/fl_ask.H>
@@ -1,30 +0,0 @@
typedef struct _guicontext
{
char bufferfilename[4096];
char buffertext[4096];
char * logfile;
int loadstatus;
unsigned char autoselectmode;
unsigned char twistedcable;
}guicontext;
typedef struct track_type_
{
int id;
char * name;
int tracktype;
}track_type;
enum
{
FM_TRACK_TYPE,
FMIBM_TRACK_TYPE,
MFM_TRACK_TYPE,
MFMIBM_TRACK_TYPE,
GCR_TRACK_TYPE
};
@@ -43,20 +43,6 @@
// Change History (most recent first):
///////////////////////////////////////////////////////////////////////////////////
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Progress.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_Timer.H>
#include <FL/Fl_Text_Buffer.H>
#include <FL/Fl_Text_Display.H>
#include <errno.h>
#include <malloc.h>
#include <stdio.h>
@@ -65,6 +51,7 @@
#include <stdarg.h>
#include <time.h>
#include "fl_includes.h"
#include "licensetxt.h"
extern "C"
@@ -77,12 +64,9 @@ extern "C"
void close_license(Fl_Widget *w, void * t)
{
delete(w->window());
}
void License_box::hide()
{
delete(this);
@@ -92,7 +76,6 @@ License_box::~License_box()
{
}
License_box::License_box()
: Fl_Window(600,400)
{
@@ -111,13 +94,10 @@ License_box::License_box()
button_ok=new Fl_Button(xsize-100, ysize-35, 80, 30, "OK" ); // Fl_Button* o
button_ok->callback(close_license,0);
this->end();
this->label(NOMFENETRE);
this->show();
return ;
}
+10 -9
View File
@@ -66,7 +66,6 @@
#include <stdarg.h>
#include <time.h>
#include "mainrouts.h"
#include "log_gui.h"
extern "C"
@@ -75,6 +74,9 @@ extern "C"
#include "usb_hxcfloppyemulator.h"
}
#include "main.h"
extern s_gui_context * guicontext;
#define LOGFIFOSIZE 256
#define LOGSTRINGSIZE 1024
@@ -87,7 +89,6 @@ typedef struct logfifo_
logfifo logsfifo;
char * logs_buffer;
extern guicontext * gui_context;
int CUI_affiche(int MSGTYPE,char * chaine, ...)
@@ -174,9 +175,9 @@ int CUI_affiche(int MSGTYPE,char * chaine, ...)
}
if(gui_context->logfile)
if(guicontext->logfile)
{
debugfile=fopen(gui_context->logfile,"a");
debugfile=fopen(guicontext->logfile,"a");
if(debugfile)
{
switch(MSGTYPE)
@@ -229,15 +230,15 @@ void savelog_log(Fl_Widget *w, void * t)
}
default:
{
if(gui_context->logfile)
if(guicontext->logfile)
{
logfile=gui_context->logfile;
gui_context->logfile=0;
logfile=guicontext->logfile;
guicontext->logfile=0;
free(logfile);
}
logfile=(char*)malloc(1024);
sprintf(logfile,"%s",(char*)fnfc.filename());
gui_context->logfile=logfile;
guicontext->logfile=logfile;
break;
}
}
@@ -304,7 +305,7 @@ Log_box::Log_box()
button_savelog=new Fl_Button(10+80, ysize-35, 80, 30, "Set log file" );
button_savelog->callback(savelog_log,0);
gui_context->logfile=0;
guicontext->logfile=0;
memset(&logsfifo,0,sizeof(logfifo));
old_index=0;
@@ -43,26 +43,7 @@
// Change History (most recent first):
///////////////////////////////////////////////////////////////////////////////////
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Progress.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_Tiled_Image.H>
#include <FL/Fl_File_Browser.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/Fl_Native_File_Chooser.H>
#include <FL/Fl_File_Icon.H>
#include <FL/Fl_Shared_Image.H>
#include <FL/Fl_PNM_Image.H>
#include <FL/Fl_Light_Button.H>
#include <FL/Fl_BMP_Image.H>
#include <FL/fl_ask.H>
#include "fl_includes.h"
#include <errno.h>
#include <malloc.h>
@@ -72,8 +53,6 @@
#include <stdarg.h>
#include <time.h>
#include "msg_txt.h"
#include "batch_converter_window.h"
#include "filesystem_generator_window.h"
#include "floppy_dump_window.h"
@@ -85,10 +64,7 @@
#include "about_gui.h"
#include "soft_cfg_file.h"
#include "fl_dnd_box.h"
#include "fl_mouse_box.h"
#include "win32\resource.h"
extern "C"
@@ -99,66 +75,23 @@ extern "C"
}
#include "loader.h"
#include "main_gui.h"
#include "mainrouts.h"
#include "main.h"
#include "cb_floppy_dump_window.h"
#include "cb_floppy_infos_window.h"
Fl_File_Browser *files;
Fl_Shared_Image *image = 0;
// Widget that displays the image
Fl_Box *box = (Fl_Box*)0;
extern FLOPPY * thefloppydisk;
extern HXCFLOPPYEMULATOR * flopemu;
extern guicontext * gui_context;
extern USBHXCFE * usbhxcfe;
int backlight_tmr,standby_tmr,step_sound,ui_sound,lcd_scroll;
unsigned int txtindex;
extern int xsize,ysize;
extern unsigned char*mapfloppybuffer;
extern unsigned char*floppyinfobuffer;
typedef struct main_button_list_
{
Fl_Button * button;
char * label;
char * desc;
}main_button_list;
main_button_list txt_buttons_main[]=
{
{0,"Load","Load a floppy file image"},
{0,"Load Raw image","Load a custom raw floppy image /\ncreate a custom floppy"},
{0,"Batch converter","Convert multiple floppy file image."},
{0,"Create FS Floppy","Create a DOS/AmigaDOS\nfile system based floppy disk."},
{0,"Export","Export/save the loaded file image"},
{0,"SD HxC Floppy\nEmulator settings","Configure the SDCard HxC Floppy Emulator"},
{0,"USB HxC Floppy\nEmulator settings","Configure the USB HxC Floppy Emulator"},
{0,"Floppy disk dump","Read a real disk"}
};
void beepcb(Fl_Widget *, void *) {
printf("\007"); fflush(stdout);
}
#include "msg_txt.h"
extern int CUI_affiche(int MSGTYPE,char * chaine, ...);
extern s_gui_context * guicontext;
static void tick_main(void *v) {
Main_Window *window;
window=(Main_Window *)v;
window=(Main_Window *)v;
window->make_current();
Fl::repeat_timeout(0.10, tick_main, v);
}
@@ -248,7 +181,6 @@ void bt_clicked(Fl_Widget * w, void * fc_ptr)
}
void load_file_image(Fl_Widget * w, void * fc_ptr)
{
Fl_Native_File_Chooser fnfc;
@@ -261,24 +193,20 @@ void load_file_image(Fl_Widget * w, void * fc_ptr)
switch ( fnfc.show() ) {
case -1:
{
//printf("ERROR: %s\n", fnfc.errmsg());
break; // ERROR
}
case 1:
{
//printf("CANCEL\n");
break; // CANCEL
}
default:
{
//printf("PICKED: %s\n", fnfc.filename());
load_floppy_image((char*)fnfc.filename());
break; // FILE CHOSEN
}
}
}
void save_file_image(Fl_Widget * w, void * fc_ptr)
{
int i;
@@ -297,14 +225,14 @@ void save_file_image(Fl_Widget * w, void * fc_ptr)
{PLUGIN_HXC_EXTHFE}
};
if(!thefloppydisk)
if(!guicontext->loadedfloppy)
{
fl_alert("No floppy loaded !\nPlease drag and drop your disk file into the window\n",10.0);
}
else
{
sprintf((char*)deffilename,"%s",gui_context->bufferfilename);
sprintf((char*)deffilename,"%s",guicontext->bufferfilename);
i=0;
while(deffilename[i]!=0)
{
@@ -337,17 +265,14 @@ void save_file_image(Fl_Widget * w, void * fc_ptr)
{
i=fnfc.filter_value();
loaderid=hxcfe_getLoaderID(flopemu,(char*)plugid_lst[i]);
loaderid=hxcfe_getLoaderID(guicontext->hxcfe,(char*)plugid_lst[i]);
if(loaderid>=0)
{
// hxcfe_floppyGetSetParams(flopemu,thefloppydisk,SET,DOUBLESTEP,&hwif->double_step);
// hxcfe_floppyGetSetParams(flopemu,thefloppydisk,SET,INTERFACEMODE,&hwif->interface_mode);
hxcfe_floppyExport(flopemu,thefloppydisk,(char*)fnfc.filename(),loaderid);
// hxcfe_floppyGetSetParams(guicontext->hxcfe,thefloppydisk,SET,DOUBLESTEP,&hwif->double_step);
// hxcfe_floppyGetSetParams(guicontext->hxcfe,thefloppydisk,SET,INTERFACEMODE,&hwif->interface_mode);
hxcfe_floppyExport(guicontext->hxcfe,guicontext->loadedfloppy,(char*)fnfc.filename(),loaderid);
}
//printf("PICKED: %s\n", fnfc.filename());
//loadfloppy((char*)fnfc.filename());
break; // FILE CHOSEN
}
}
@@ -360,28 +285,12 @@ void load_file_image_pb(Fl_Widget * widget, void * ptr)
load_file_image(widget,ptr);
}
void export_file_image_pb(Fl_Widget * widget, void * ptr)
{
}
void fc_callback(Fl_File_Chooser * fc, void *)
{
const char * fp;
fp=fc->value();
}
void save_fc_callback(Fl_File_Chooser * fc, void *)
{
const char * fp;
fp=fc->value();
//loadfloppy((char*)fp,0);
}
#define BUTTON_XPOS 5
#define BUTTON_YPOS 30
@@ -391,204 +300,11 @@ void save_fc_callback(Fl_File_Chooser * fc, void *)
#define WINDOW_XSIZE 341
Fl_Menu_Item menutable[] = {
{"&Floppy image",0,0,0,FL_SUBMENU},
{"&Load", FL_ALT+'l',load_file_image_pb,0},
{"Load custom RAW file/Create custom floppy", FL_ALT+'r',menu_clicked,(void*)1},
{"&Create DOS/AmigaDOS disk", FL_ALT+'c', menu_clicked,(void*)3},
{"&Export disk/Save As", FL_ALT+'e', save_file_image, 0},
{"Batch convert files images", FL_ALT+'o', menu_clicked,(void*)2},
{"Dump a Floppy disk", FL_ALT+'o', menu_clicked,(void*)7},
{"Show floppy infos", FL_ALT+'i', menu_clicked,(void*)10},
{0},
{"&Settings",FL_F+2,0,0,FL_SUBMENU},
{"SDCard HxC FLoppy Emulator settings", FL_ALT+'l',menu_clicked,(void*)5},
{"USB HxC Floppy Emulator settings", FL_ALT+'s',menu_clicked,(void*)6},
{0},
{"&Log",FL_F+3,0,0,FL_SUBMENU},
{"&Log", FL_ALT+'l',menu_clicked,(void*)8},
{0},
{"&About",0,0,0,FL_SUBMENU},
{"&HxCFloppyEmulator", FL_ALT+'h',menu_clicked,(void*)9},
{0},
{0}
};
void format_choice_cb(Fl_Widget *, void *v) {
//cursor = (Fl_Cursor)(long)v;
//cursor_slider->value(cursor);
//fl_cursor(cursor,fg,bg);
}
enum
{
FS_720KB_ATARI_FAT12=0,
FS_902KB_ATARI_FAT12,
FS_360KB_ATARI_FAT12,
FS_880KB_AMIGADOS,
FS_5P25_300RPM_160KB_MSDOS_FAT12,
FS_5P25_360RPM_160KB_MSDOS_FAT12,
FS_5P25_300RPM_180KB_MSDOS_FAT12,
FS_5P25_360RPM_180KB_MSDOS_FAT12,
FS_5P25_SS_300RPM_320KB_MSDOS_FAT12,
FS_5P25_SS_360RPM_320KB_MSDOS_FAT12,
FS_5P25_DS_300RPM_320KB_MSDOS_FAT12,
FS_5P25_DS_360RPM_320KB_MSDOS_FAT12,
FS_5P25_DS_300RPM_360KB_MSDOS_FAT12,
FS_5P25_DS_360RPM_360KB_MSDOS_FAT12,
FS_3P5_DS_300RPM_640KB_MSDOS_FAT12,
FS_720KB_MSDOS_FAT12,
FS_5P25_300RPM_1200KB_MSDOS_FAT12,
FS_1_44MB_MSDOS_FAT12,
FS_1_68MB_MSDOS_FAT12,
FS_2_88MB_MSDOS_FAT12,
FS_3_38MB_MSDOS_FAT12,
FS_4_23MB_ATARI_FAT12,
FS_6_78MB_MSDOS_FAT12,
FS_16MB_MSDOS_FAT12
};
Fl_Menu_Item format_choices[]=
{
{ "HFE - SDCard HxC Floppy Emulator file format",0,format_choice_cb,(void*)PLUGIN_HXC_HFE},
{ "MFM - MFM/FM track file format",0,format_choice_cb,(void*)PLUGIN_HXC_MFM},
{ "AFI - Advanced file image format",0,format_choice_cb,(void*)PLUGIN_HXC_AFI},
{ "VTR - VTrucco Floppy Emulator file format",0,format_choice_cb,(void*)PLUGIN_VTR_IMG},
{ "RAW - RAW sectors file format",0,format_choice_cb,(void*)PLUGIN_RAW_IMG},
{ "IMD - IMD sectors file format",0,format_choice_cb,(void*)PLUGIN_IMD_IMG},
{ "HFE - Rev 2 - Experimental",0,format_choice_cb,(void*)PLUGIN_HXC_EXTHFE},
{0}
};
Fl_Menu_Item fs_choices[]=
{
{ "5\"25 & 8\" 160KB SSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_300RPM_160KB_MSDOS_FAT12},
{ "5\"25 & 8\" 160KB SSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_360RPM_160KB_MSDOS_FAT12},
{ "5\"25 180KB SSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_300RPM_180KB_MSDOS_FAT12},
{ "5\"25 180KB SSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_360RPM_180KB_MSDOS_FAT12},
{ "5\"25 320KB SSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_SS_300RPM_320KB_MSDOS_FAT12},
{ "5\"25 320KB SSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_SS_360RPM_320KB_MSDOS_FAT12},
{ "5\"25 320KB DSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_300RPM_320KB_MSDOS_FAT12},
{ "5\"25 320KB DSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_360RPM_320KB_MSDOS_FAT12},
{ "5\"25 & 8\" 360KB DSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_300RPM_360KB_MSDOS_FAT12},
{ "5\"25 & 8\" 360KB DSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_360RPM_360KB_MSDOS_FAT12},
{ "3\"5 640KB DSDD FAT12",0,format_choice_cb,(void*)FS_3P5_DS_300RPM_640KB_MSDOS_FAT12},
{ "3\"5 720KB DSDD FAT12 ",0,format_choice_cb,(void*)FS_720KB_MSDOS_FAT12},
{ "5\"25 1.2MB DSHD FAT12",0,format_choice_cb,(void*)FS_5P25_300RPM_1200KB_MSDOS_FAT12},
{ "3\"5 1.44MB DSHD FAT12",0,format_choice_cb,(void*)FS_1_44MB_MSDOS_FAT12},
{ "3\"5 1.68MB DSHD FAT12",0,format_choice_cb,(void*)FS_1_68MB_MSDOS_FAT12},
{ "3\"5 2.88MB DSED FAT12",0,format_choice_cb,(void*)FS_2_88MB_MSDOS_FAT12},
{ "3\"5 3.38MB DSHD FAT12",0,format_choice_cb,(void*)FS_3_38MB_MSDOS_FAT12},
{ "3\"5 6.78MB DSHD FAT12",0,format_choice_cb,(void*)FS_6_78MB_MSDOS_FAT12},
{ "3\"5 360KB SSDD Atari FAT12",0,format_choice_cb,(void*)FS_360KB_ATARI_FAT12},
{ "3\"5 720KB DSDD Atari FAT12",0,format_choice_cb,(void*)FS_720KB_ATARI_FAT12},
{ "3\"5 902KB DSDD Atari FAT12",0,format_choice_cb,(void*)FS_902KB_ATARI_FAT12},
{ "3\"5 4.23MB DSDD Atari FAT12",0,format_choice_cb,(void*)FS_4_23MB_ATARI_FAT12},
{ "3\"5 880KB DSDD AmigaDOS",0,format_choice_cb,(void*)FS_880KB_AMIGADOS},
{0}
};
Fl_Menu_Item sectorsize_choices[]=
{
{ "128",0,raw_loader_window_datachanged,(void*)128},
{ "256",0,raw_loader_window_datachanged,(void*)256},
{ "512",0,raw_loader_window_datachanged,(void*)512},
{ "1024",0,raw_loader_window_datachanged,(void*)1024},
{ "2048",0,raw_loader_window_datachanged,(void*)2048},
{ "4096",0,raw_loader_window_datachanged,(void*)4096},
{ "8192",0,raw_loader_window_datachanged,(void*)8192},
{ "16384",0,raw_loader_window_datachanged,(void*)16384},
{0}
};
Fl_Menu_Item if_choices[]=
{
{ "Amiga",0,format_choice_cb,(void*)AMIGA_DD_FLOPPYMODE},
{ "Amiga HD",0,format_choice_cb,(void*)AMIGA_HD_FLOPPYMODE},
{ "Atari ST",0,format_choice_cb,(void*)ATARIST_DD_FLOPPYMODE},
{ "Atari ST HD",0,format_choice_cb,(void*)ATARIST_HD_FLOPPYMODE},
{ "IBM PC 720kB",0,format_choice_cb,(void*)IBMPC_DD_FLOPPYMODE},
{ "IBM PC 1.44MB",0,format_choice_cb,(void*)IBMPC_HD_FLOPPYMODE},
{ "IBM PC 2.88MB",0,format_choice_cb,(void*)IBMPC_ED_FLOPPYMODE},
{ "AKAI S900/S950 DD",0,format_choice_cb,(void*)S950_DD_FLOPPYMODE},
{ "AKAI S950 HD",0,format_choice_cb,(void*)S950_HD_FLOPPYMODE},
{ "Amstrad CPC",0,format_choice_cb,(void*)CPC_DD_FLOPPYMODE},
{ "MSX 2",0,format_choice_cb,(void*)MSX2_DD_FLOPPYMODE},
{ "Generic Shugart",0,format_choice_cb,(void*)GENERIC_SHUGART_DD_FLOPPYMODE},
{ "Emu Shugart",0,format_choice_cb,(void*)EMU_SHUGART_FLOPPYMODE},
{ "C64 1541",0,format_choice_cb,(void*)C64_DD_FLOPPYMODE},
{0}
};
Fl_Menu_Item track_type_choices[]=
{
{ "FM",0,raw_loader_window_datachanged,(void*)ISOFORMAT_SD},
{ "IBM FM",0,raw_loader_window_datachanged,(void*)IBMFORMAT_SD},
{ "MFM",0,raw_loader_window_datachanged,(void*)ISOFORMAT_DD},
{ "IBM MFM",0,raw_loader_window_datachanged,(void*)IBMFORMAT_DD},
{0}
};
/*
platform platformlist[]=
{
{ AMIGA_DD_FLOPPYMODE,"Amiga","DS0","DS1","DS2","MTRON"},
{ AMIGA_HD_FLOPPYMODE,"Amiga HD","DS0","DS1","DS2","MTRON"},
{ ATARIST_DD_FLOPPYMODE,"Atari ST","D0SEL","D1SEL","-","MTRON"},
{ ATARIST_HD_FLOPPYMODE,"Atari ST HD","D0SEL","D1SEL","-","MTRON"},
{ IBMPC_DD_FLOPPYMODE,"IBM PC 720kB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ IBMPC_HD_FLOPPYMODE,"IBM PC 1.44MB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ IBMPC_ED_FLOPPYMODE,"IBM PC 2.88MB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ CPC_DD_FLOPPYMODE,"Amstrad CPC","Drive Select 0","Drive Select 1","-","MOTOR ON"},
{ MSX2_DD_FLOPPYMODE,"MSX 2","DS0","DS1","DS2","MTRON"},
{ GENERIC_SHUGART_DD_FLOPPYMODE,"Generic Shugart","DS0","DS1","DS2","MTRON"},
{ EMU_SHUGART_FLOPPYMODE,"Emu Shugart","DS0","DS1","DS2","MTRON"},
{ C64_DD_FLOPPYMODE,"C64 1541","NA","NA","NA","NA"},
{ -1,"?","DS0","DS1","DS2","MTRON"}
};
*/
void cb_read_disk(class Fl_Button *,void *)
{
}
void cb_ok(class Fl_Button *,void *)
{
}
void dnd_open(const char *urls)
@@ -612,13 +328,17 @@ static void tick_mw(void *v) {
window=(Main_Window *)v;
if(strlen(gui_context->bufferfilename))
if(strlen(guicontext->bufferfilename))
{
sprintf(tempstr,"%s - %d track(s) %d side(s) ",gui_context->bufferfilename,thefloppydisk->floppyNumberOfTrack,thefloppydisk->floppyNumberOfSide);
if(txtindex>=strlen(tempstr))txtindex=0;
sprintf(tempstr,"%s - %d track(s) %d side(s) ",guicontext->bufferfilename,guicontext->loadedfloppy->floppyNumberOfTrack,guicontext->loadedfloppy->floppyNumberOfSide);
if( guicontext->txtindex >= strlen(tempstr) )
{
guicontext->txtindex=0;
}
i=0;
j=txtindex;
j=guicontext->txtindex;
do
{
tempstr2[i]=tempstr[j];
@@ -632,13 +352,13 @@ static void tick_mw(void *v) {
window->file_name_txt->value((const char*)tempstr2);
//SetDlgItemText(hwndDlg,IDC_EDIT_STATUS,tempstr2);
txtindex++;
guicontext->txtindex++;
}
else
{
if(gui_context->loadstatus!=HXCFE_NOERROR)
if(guicontext->loadstatus!=HXCFE_NOERROR)
{
switch(gui_context->loadstatus)
switch(guicontext->loadstatus)
{
case HXCFE_UNSUPPORTEDFILE:
window->file_name_txt->value((const char*)"Load error! Image file not supported!");
@@ -650,22 +370,21 @@ static void tick_mw(void *v) {
window->file_name_txt->value((const char*)"Load error! Read file error!");
break;
default:
sprintf(tempstr2,"Load error! error %d",gui_context->loadstatus);
sprintf(tempstr2,"Load error! error %d",guicontext->loadstatus);
window->file_name_txt->value((const char*)tempstr2);
break;
}
}
}
if(thefloppydisk)
if(guicontext->loadedfloppy)
{
sprintf(tempstr,"Track %d/%d",libusbhxcfe_getCurTrack(flopemu,usbhxcfe),thefloppydisk->floppyNumberOfTrack);
sprintf(tempstr,"Track %d/%d",libusbhxcfe_getCurTrack(guicontext->hxcfe,guicontext->usbhxcfe),guicontext->loadedfloppy->floppyNumberOfTrack);
window->track_pos_str->value((const char*)tempstr);
window->track_pos->minimum(0);
window->track_pos->maximum(thefloppydisk->floppyNumberOfTrack);
window->track_pos->value((float)libusbhxcfe_getCurTrack(flopemu,usbhxcfe));
window->track_pos->maximum(guicontext->loadedfloppy->floppyNumberOfTrack);
window->track_pos->value((float)libusbhxcfe_getCurTrack(guicontext->hxcfe,guicontext->usbhxcfe));
}
Fl::repeat_timeout(0.10, tick_mw, v);
@@ -680,6 +399,13 @@ Main_Window::Main_Window()
i=0;
evt_txt=0;
guicontext->loadedfloppy=0;
guicontext->hxcfe=hxcfe_init();
hxcfe_setOutputFunc(guicontext->hxcfe,CUI_affiche);
guicontext->usbhxcfe=libusbhxcfe_init(guicontext->hxcfe);
Fl::scheme("gtk+");
Fl_Group group(0,0,WINDOW_XSIZE,392);
@@ -758,23 +484,21 @@ Main_Window::Main_Window()
this->fdump_window->number_of_track->value(80);
this->fdump_window->sel_drive_a->value(1);
this->fdump_window->sel_drive_b->value(0);
xsize=460;
ysize=200;
mapfloppybuffer=(unsigned char*)malloc(xsize*ysize*4);
memset(mapfloppybuffer,0,xsize*ysize*4);
guicontext->xsize=460;
guicontext->ysize=200;
guicontext->mapfloppybuffer=(unsigned char*)malloc(guicontext->xsize * guicontext->ysize * 4);
memset(guicontext->mapfloppybuffer,0,guicontext->xsize*guicontext->ysize*4);
tick_dump(this->fdump_window);
//////////////////////////////////////////////
// Floppy view window
this->infos_window=new floppy_infos_window();
floppyinfobuffer=(unsigned char*)malloc(xsize*ysize*4);
memset(floppyinfobuffer,0,xsize*ysize*4);
tick_infos(this->infos_window);
this->infos_window->x_offset->bounds(0.0, 100);
this->infos_window->x_time->scrollvalue(300,1,1,1000);
this->infos_window->y_time->scrollvalue(16,1,2,64);
this->infos_window->track_view_bt->value(1);
tick_infos(this->infos_window);
//////////////////////////////////////////////
// Batch convert window
this->batchconv_window=new batch_converter_window();
@@ -813,19 +537,19 @@ Main_Window::Main_Window()
//////////////////////////////////////////////
// SD FE CFG window
backlight_tmr=20;
standby_tmr=20;
lcd_scroll=150;
step_sound=0xD8;
ui_sound=0x60;
guicontext->backlight_tmr = 20;
guicontext->standby_tmr = 20;
guicontext->lcd_scroll = 150;
guicontext->step_sound = 0xD8;
guicontext->ui_sound = 0x60;
this->sdcfg_window=new sdhxcfecfg_window();
sdcfg_window->choice_hfeifmode->menu(if_choices);
sdcfg_window->slider_scrolltxt_speed->scrollvalue(0xFF-lcd_scroll,1,0,(255-64));
sdcfg_window->slider_stepsound_level->scrollvalue(0xFF-step_sound,1,0x00, 0xFF-0xD8);
sdcfg_window->slider_uisound_level->scrollvalue(ui_sound,1,0,128);
sdcfg_window->valslider_device_backlight_timeout->scrollvalue(backlight_tmr,1,0,256);
sdcfg_window->valslider_device_standby_timeout->scrollvalue(standby_tmr,1,0,256);
sdcfg_window->slider_scrolltxt_speed->scrollvalue(0xFF-guicontext->lcd_scroll,1,0,(255-64));
sdcfg_window->slider_stepsound_level->scrollvalue(0xFF-guicontext->step_sound,1,0x00, 0xFF-0xD8);
sdcfg_window->slider_uisound_level->scrollvalue(guicontext->ui_sound,1,0,128);
sdcfg_window->valslider_device_backlight_timeout->scrollvalue(guicontext->backlight_tmr,1,0,256);
sdcfg_window->valslider_device_standby_timeout->scrollvalue(guicontext->standby_tmr,1,0,256);
//////////////////////////////////////////////
// USB FE CFG window
@@ -1,4 +1,12 @@
typedef struct main_button_list_
{
Fl_Button * button;
char * label;
char * desc;
}main_button_list;
// Main class...
class Main_Window : public Fl_Window {
@@ -40,7 +48,6 @@ class Main_Window : public Fl_Window {
Fl_File_Chooser *fc_load;
Fl_File_Chooser *fc_save;
//Fl_Text_Display* file_name_txt;
Fl_Output* file_name_txt;
Fl_Progress* track_pos;
Fl_Output* track_pos_str;
@@ -50,7 +57,9 @@ class Main_Window : public Fl_Window {
//virtual handle(int event);
Main_Window();
~Main_Window();
};
void load_file_image_pb(Fl_Widget * widget, void * ptr);
void menu_clicked(Fl_Widget * w, void * fc_ptr);
void save_file_image(Fl_Widget * w, void * fc_ptr);
void format_choice_cb(Fl_Widget *, void *v);
@@ -1,44 +0,0 @@
/*
//
// Copyright (C) 2006, 2007, 2008, 2009 Jean-François DEL NERO
//
// This file is part of HxCFloppyEmulator.
//
// HxCFloppyEmulator may be used and distributed without restriction provided
// that this copyright statement is not removed from the file and that any
// derivative work contains the original copyright notice and the associated
// disclaimer.
//
// HxCFloppyEmulator is free software; you can redistribute it
// and/or modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// HxCFloppyEmulator is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with HxCFloppyEmulator; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
*/
typedef struct _guicontext
{
char bufferfilename[4096];
char buffertext[4096];
char * logfile;
int loadstatus;
unsigned char autoselectmode;
unsigned char twistedcable;
}guicontext;
@@ -0,0 +1,210 @@
main_button_list txt_buttons_main[]=
{
{0,"Load","Load a floppy file image"},
{0,"Load Raw image","Load a custom raw floppy image /\ncreate a custom floppy"},
{0,"Batch converter","Convert multiple floppy file image."},
{0,"Create FS Floppy","Create a DOS/AmigaDOS\nfile system based floppy disk."},
{0,"Export","Export/save the loaded file image"},
{0,"SD HxC Floppy\nEmulator settings","Configure the SDCard HxC Floppy Emulator"},
{0,"USB HxC Floppy\nEmulator settings","Configure the USB HxC Floppy Emulator"},
{0,"Floppy disk dump","Read a real disk"}
};
Fl_Menu_Item menutable[] = {
{"&Floppy image",0,0,0,FL_SUBMENU},
{"&Load", FL_ALT+'l',load_file_image_pb,0},
{"Load custom RAW file/Create custom floppy", FL_ALT+'r',menu_clicked,(void*)1},
{"&Create DOS/AmigaDOS disk", FL_ALT+'c', menu_clicked,(void*)3},
{"&Export disk/Save As", FL_ALT+'e', save_file_image, 0},
{"Batch convert files images", FL_ALT+'o', menu_clicked,(void*)2},
{"Dump a Floppy disk", FL_ALT+'o', menu_clicked,(void*)7},
{"Show floppy infos", FL_ALT+'i', menu_clicked,(void*)10},
{0},
{"&Settings",FL_F+2,0,0,FL_SUBMENU},
{"SDCard HxC FLoppy Emulator settings", FL_ALT+'l',menu_clicked,(void*)5},
{"USB HxC Floppy Emulator settings", FL_ALT+'s',menu_clicked,(void*)6},
{0},
{"&Log",FL_F+3,0,0,FL_SUBMENU},
{"&Log", FL_ALT+'l',menu_clicked,(void*)8},
{0},
{"&About",0,0,0,FL_SUBMENU},
{"&HxCFloppyEmulator", FL_ALT+'h',menu_clicked,(void*)9},
{0},
{0}
};
Fl_Menu_Item format_choices[]=
{
{ "HFE - SDCard HxC Floppy Emulator file format",0,format_choice_cb,(void*)PLUGIN_HXC_HFE},
{ "MFM - MFM/FM track file format",0,format_choice_cb,(void*)PLUGIN_HXC_MFM},
{ "AFI - Advanced file image format",0,format_choice_cb,(void*)PLUGIN_HXC_AFI},
{ "VTR - VTrucco Floppy Emulator file format",0,format_choice_cb,(void*)PLUGIN_VTR_IMG},
{ "RAW - RAW sectors file format",0,format_choice_cb,(void*)PLUGIN_RAW_IMG},
{ "IMD - IMD sectors file format",0,format_choice_cb,(void*)PLUGIN_IMD_IMG},
{ "HFE - Rev 2 - Experimental",0,format_choice_cb,(void*)PLUGIN_HXC_EXTHFE},
{0}
};
enum
{
FS_720KB_ATARI_FAT12=0,
FS_902KB_ATARI_FAT12,
FS_360KB_ATARI_FAT12,
FS_880KB_AMIGADOS,
FS_5P25_300RPM_160KB_MSDOS_FAT12,
FS_5P25_360RPM_160KB_MSDOS_FAT12,
FS_5P25_300RPM_180KB_MSDOS_FAT12,
FS_5P25_360RPM_180KB_MSDOS_FAT12,
FS_5P25_SS_300RPM_320KB_MSDOS_FAT12,
FS_5P25_SS_360RPM_320KB_MSDOS_FAT12,
FS_5P25_DS_300RPM_320KB_MSDOS_FAT12,
FS_5P25_DS_360RPM_320KB_MSDOS_FAT12,
FS_5P25_DS_300RPM_360KB_MSDOS_FAT12,
FS_5P25_DS_360RPM_360KB_MSDOS_FAT12,
FS_3P5_DS_300RPM_640KB_MSDOS_FAT12,
FS_720KB_MSDOS_FAT12,
FS_5P25_300RPM_1200KB_MSDOS_FAT12,
FS_1_44MB_MSDOS_FAT12,
FS_1_68MB_MSDOS_FAT12,
FS_2_88MB_MSDOS_FAT12,
FS_3_38MB_MSDOS_FAT12,
FS_4_23MB_ATARI_FAT12,
FS_6_78MB_MSDOS_FAT12,
FS_16MB_MSDOS_FAT12
};
Fl_Menu_Item fs_choices[]=
{
{ "5\"25 & 8\" 160KB SSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_300RPM_160KB_MSDOS_FAT12},
{ "5\"25 & 8\" 160KB SSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_360RPM_160KB_MSDOS_FAT12},
{ "5\"25 180KB SSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_300RPM_180KB_MSDOS_FAT12},
{ "5\"25 180KB SSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_360RPM_180KB_MSDOS_FAT12},
{ "5\"25 320KB SSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_SS_300RPM_320KB_MSDOS_FAT12},
{ "5\"25 320KB SSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_SS_360RPM_320KB_MSDOS_FAT12},
{ "5\"25 320KB DSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_300RPM_320KB_MSDOS_FAT12},
{ "5\"25 320KB DSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_360RPM_320KB_MSDOS_FAT12},
{ "5\"25 & 8\" 360KB DSDD 300RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_300RPM_360KB_MSDOS_FAT12},
{ "5\"25 & 8\" 360KB DSDD 360RPM FAT12",0,format_choice_cb,(void*)FS_5P25_DS_360RPM_360KB_MSDOS_FAT12},
{ "3\"5 640KB DSDD FAT12",0,format_choice_cb,(void*)FS_3P5_DS_300RPM_640KB_MSDOS_FAT12},
{ "3\"5 720KB DSDD FAT12 ",0,format_choice_cb,(void*)FS_720KB_MSDOS_FAT12},
{ "5\"25 1.2MB DSHD FAT12",0,format_choice_cb,(void*)FS_5P25_300RPM_1200KB_MSDOS_FAT12},
{ "3\"5 1.44MB DSHD FAT12",0,format_choice_cb,(void*)FS_1_44MB_MSDOS_FAT12},
{ "3\"5 1.68MB DSHD FAT12",0,format_choice_cb,(void*)FS_1_68MB_MSDOS_FAT12},
{ "3\"5 2.88MB DSED FAT12",0,format_choice_cb,(void*)FS_2_88MB_MSDOS_FAT12},
{ "3\"5 3.38MB DSHD FAT12",0,format_choice_cb,(void*)FS_3_38MB_MSDOS_FAT12},
{ "3\"5 6.78MB DSHD FAT12",0,format_choice_cb,(void*)FS_6_78MB_MSDOS_FAT12},
{ "3\"5 360KB SSDD Atari FAT12",0,format_choice_cb,(void*)FS_360KB_ATARI_FAT12},
{ "3\"5 720KB DSDD Atari FAT12",0,format_choice_cb,(void*)FS_720KB_ATARI_FAT12},
{ "3\"5 902KB DSDD Atari FAT12",0,format_choice_cb,(void*)FS_902KB_ATARI_FAT12},
{ "3\"5 4.23MB DSDD Atari FAT12",0,format_choice_cb,(void*)FS_4_23MB_ATARI_FAT12},
{ "3\"5 880KB DSDD AmigaDOS",0,format_choice_cb,(void*)FS_880KB_AMIGADOS},
{0}
};
Fl_Menu_Item sectorsize_choices[]=
{
{ "128",0,raw_loader_window_datachanged,(void*)128},
{ "256",0,raw_loader_window_datachanged,(void*)256},
{ "512",0,raw_loader_window_datachanged,(void*)512},
{ "1024",0,raw_loader_window_datachanged,(void*)1024},
{ "2048",0,raw_loader_window_datachanged,(void*)2048},
{ "4096",0,raw_loader_window_datachanged,(void*)4096},
{ "8192",0,raw_loader_window_datachanged,(void*)8192},
{ "16384",0,raw_loader_window_datachanged,(void*)16384},
{0}
};
Fl_Menu_Item if_choices[]=
{
{ "Amiga",0,format_choice_cb,(void*)AMIGA_DD_FLOPPYMODE},
{ "Amiga HD",0,format_choice_cb,(void*)AMIGA_HD_FLOPPYMODE},
{ "Atari ST",0,format_choice_cb,(void*)ATARIST_DD_FLOPPYMODE},
{ "Atari ST HD",0,format_choice_cb,(void*)ATARIST_HD_FLOPPYMODE},
{ "IBM PC 720kB",0,format_choice_cb,(void*)IBMPC_DD_FLOPPYMODE},
{ "IBM PC 1.44MB",0,format_choice_cb,(void*)IBMPC_HD_FLOPPYMODE},
{ "IBM PC 2.88MB",0,format_choice_cb,(void*)IBMPC_ED_FLOPPYMODE},
{ "AKAI S900/S950 DD",0,format_choice_cb,(void*)S950_DD_FLOPPYMODE},
{ "AKAI S950 HD",0,format_choice_cb,(void*)S950_HD_FLOPPYMODE},
{ "Amstrad CPC",0,format_choice_cb,(void*)CPC_DD_FLOPPYMODE},
{ "MSX 2",0,format_choice_cb,(void*)MSX2_DD_FLOPPYMODE},
{ "Generic Shugart",0,format_choice_cb,(void*)GENERIC_SHUGART_DD_FLOPPYMODE},
{ "Emu Shugart",0,format_choice_cb,(void*)EMU_SHUGART_FLOPPYMODE},
{ "C64 1541",0,format_choice_cb,(void*)C64_DD_FLOPPYMODE},
{0}
};
Fl_Menu_Item track_type_choices[]=
{
{ "FM",0,raw_loader_window_datachanged,(void*)ISOFORMAT_SD},
{ "IBM FM",0,raw_loader_window_datachanged,(void*)IBMFORMAT_SD},
{ "MFM",0,raw_loader_window_datachanged,(void*)ISOFORMAT_DD},
{ "IBM MFM",0,raw_loader_window_datachanged,(void*)IBMFORMAT_DD},
{0}
};
/*
platform platformlist[]=
{
{ AMIGA_DD_FLOPPYMODE,"Amiga","DS0","DS1","DS2","MTRON"},
{ AMIGA_HD_FLOPPYMODE,"Amiga HD","DS0","DS1","DS2","MTRON"},
{ ATARIST_DD_FLOPPYMODE,"Atari ST","D0SEL","D1SEL","-","MTRON"},
{ ATARIST_HD_FLOPPYMODE,"Atari ST HD","D0SEL","D1SEL","-","MTRON"},
{ IBMPC_DD_FLOPPYMODE,"IBM PC 720kB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ IBMPC_HD_FLOPPYMODE,"IBM PC 1.44MB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ IBMPC_ED_FLOPPYMODE,"IBM PC 2.88MB","MOTEA","DRVSB","DRVSA","MOTEB"},
{ CPC_DD_FLOPPYMODE,"Amstrad CPC","Drive Select 0","Drive Select 1","-","MOTOR ON"},
{ MSX2_DD_FLOPPYMODE,"MSX 2","DS0","DS1","DS2","MTRON"},
{ GENERIC_SHUGART_DD_FLOPPYMODE,"Generic Shugart","DS0","DS1","DS2","MTRON"},
{ EMU_SHUGART_FLOPPYMODE,"Emu Shugart","DS0","DS1","DS2","MTRON"},
{ C64_DD_FLOPPYMODE,"C64 1541","NA","NA","NA","NA"},
{ -1,"?","DS0","DS1","DS2","MTRON"}
};
*/
enum
{
FM_TRACK_TYPE,
FMIBM_TRACK_TYPE,
MFM_TRACK_TYPE,
MFMIBM_TRACK_TYPE,
GCR_TRACK_TYPE
};
track_type track_type_list[]=
{
{ FM_TRACK_TYPE,"FM",ISOFORMAT_SD},
{ FMIBM_TRACK_TYPE,"IBM FM",IBMFORMAT_SD},
{ MFM_TRACK_TYPE,"MFM",ISOFORMAT_DD},
{ MFMIBM_TRACK_TYPE,"IBM MFM",IBMFORMAT_DD},
//{ GCR_TRACK_TYPE,"GCR"},
{ -1,"",0}
};
+40 -47
View File
@@ -47,22 +47,15 @@
#include <string.h>
#include <stdlib.h>
#include "mainrouts.h"
extern "C"
{
#include "libhxcfe.h"
#include "usb_hxcfloppyemulator.h"
// #include "../../common/plugins/raw_loader/raw_loader.h"
}
#include "main.h"
#include "loader.h"
extern HXCFLOPPYEMULATOR * flopemu;
extern USBHXCFE * usbhxcfe;
extern FLOPPY * thefloppydisk;
extern guicontext * gui_context;
extern s_gui_context * guicontext;
extern track_type track_type_list[];
@@ -71,33 +64,32 @@ extern char * basename (const char *name);
int load_floppy(FLOPPY * floppydisk)
{
int ret;
int i;
int oldifmode;
hxcfe_floppyUnload(flopemu,thefloppydisk);
thefloppydisk=0;
thefloppydisk=floppydisk;
hxcfe_floppyUnload(guicontext->hxcfe,guicontext->loadedfloppy);
guicontext->loadedfloppy=0;
guicontext->loadedfloppy=floppydisk;
ret=HXCFE_NOERROR;
gui_context->loadstatus=ret;
guicontext->loadstatus=ret;
if(ret!=HXCFE_NOERROR || !thefloppydisk)
if(ret!=HXCFE_NOERROR || !guicontext->loadedfloppy)
{
thefloppydisk=0;
gui_context->bufferfilename[0]=0;
guicontext->loadedfloppy=0;
guicontext->bufferfilename[0]=0;
}
else
{
oldifmode=libusbhxcfe_getInterfaceMode(flopemu,usbhxcfe);
libusbhxcfe_setInterfaceMode(flopemu,usbhxcfe,thefloppydisk->floppyiftype,thefloppydisk->double_step,0);
libusbhxcfe_loadFloppy(flopemu,usbhxcfe,thefloppydisk);
oldifmode=libusbhxcfe_getInterfaceMode(guicontext->hxcfe,guicontext->usbhxcfe);
libusbhxcfe_setInterfaceMode(guicontext->hxcfe,guicontext->usbhxcfe,guicontext->loadedfloppy->floppyiftype,guicontext->loadedfloppy->double_step,0);
libusbhxcfe_loadFloppy(guicontext->hxcfe,guicontext->usbhxcfe,guicontext->loadedfloppy);
if(!gui_context->autoselectmode)
if(!guicontext->autoselectmode)
{ // keep the old interface mode
//hwif->interface_mode=oldifmode;
};
sprintf(gui_context->bufferfilename,"Floppy Dump");
sprintf(guicontext->bufferfilename,"Floppy Dump");
}
return ret;
@@ -110,30 +102,30 @@ int load_floppy_image(char *filename)
int oldifmode;
int loaderid;
hxcfe_floppyUnload(flopemu,thefloppydisk);
thefloppydisk=0;
hxcfe_floppyUnload(guicontext->hxcfe,guicontext->loadedfloppy);
guicontext->loadedfloppy=0;
ret=-1;
loaderid=hxcfe_autoSelectLoader(flopemu,filename,0);
loaderid=hxcfe_autoSelectLoader(guicontext->hxcfe,filename,0);
if(loaderid>=0)
thefloppydisk=hxcfe_floppyLoad(flopemu,filename,loaderid,&ret);
guicontext->loadedfloppy=hxcfe_floppyLoad(guicontext->hxcfe,filename,loaderid,&ret);
gui_context->loadstatus=ret;
guicontext->loadstatus=ret;
if(ret!=HXCFE_NOERROR || !thefloppydisk)
if(ret!=HXCFE_NOERROR || !guicontext->loadedfloppy)
{
thefloppydisk=0;
gui_context->bufferfilename[0]=0;
guicontext->loadedfloppy=0;
guicontext->bufferfilename[0]=0;
}
else
{
// oldifmode=hwif->interface_mode;
libusbhxcfe_setInterfaceMode(flopemu,usbhxcfe,thefloppydisk->floppyiftype,thefloppydisk->double_step,0);
libusbhxcfe_loadFloppy(flopemu,usbhxcfe,thefloppydisk);
if(!gui_context->autoselectmode)
libusbhxcfe_setInterfaceMode(guicontext->hxcfe,guicontext->usbhxcfe,guicontext->loadedfloppy->floppyiftype,guicontext->loadedfloppy->double_step,0);
libusbhxcfe_loadFloppy(guicontext->hxcfe,guicontext->usbhxcfe,guicontext->loadedfloppy);
if(!guicontext->autoselectmode)
{ // keep the old interface mode
//hwif->interface_mode=oldifmode;
};
@@ -146,11 +138,11 @@ int load_floppy_image(char *filename)
i--;
}
if(filename[i]=='\\') i++;
sprintf(gui_context->bufferfilename,"%s",&filename[i]);
sprintf(guicontext->bufferfilename,"%s",&filename[i]);
}
else
{
sprintf(gui_context->bufferfilename,"Empty Floppy");
sprintf(guicontext->bufferfilename,"Empty Floppy");
}
}
@@ -172,8 +164,8 @@ int loadrawfile(HXCFLOPPYEMULATOR* floppycontext,cfgrawfile * rfc,char * file)
if(f || file==NULL)
{
if(thefloppydisk)
hxcfe_floppyUnload(flopemu,thefloppydisk);
if(guicontext->loadedfloppy)
hxcfe_floppyUnload(guicontext->hxcfe,guicontext->loadedfloppy);
nbside=(rfc->sidecfg)&2?2:1;
@@ -183,8 +175,8 @@ int loadrawfile(HXCFLOPPYEMULATOR* floppycontext,cfgrawfile * rfc,char * file)
memset(trackbuffer,rfc->fillvalue,(128<<rfc->sectorsize)*rfc->sectorpertrack);
}
sprintf(gui_context->bufferfilename,"");
thefloppydisk=0;
sprintf(guicontext->bufferfilename,"");
guicontext->loadedfloppy=0;
fb=hxcfe_initFloppy(floppycontext,rfc->numberoftrack,nbside);
if(fb)
{
@@ -235,8 +227,9 @@ int loadrawfile(HXCFLOPPYEMULATOR* floppycontext,cfgrawfile * rfc,char * file)
}
}
thefloppydisk=hxcfe_getFloppy(fb);
guicontext->loadedfloppy=hxcfe_getFloppy(fb);
}
/*t=hxcfe_getfloppysize(floppycontext,thefloppydisk,0);
test=malloc(512*18);
@@ -247,24 +240,24 @@ int loadrawfile(HXCFLOPPYEMULATOR* floppycontext,cfgrawfile * rfc,char * file)
hxcfe_deinit_sectorsearch(ss);*/
if(thefloppydisk)
if(guicontext->loadedfloppy)
{
ret=HXCFE_NOERROR;
gui_context->loadstatus=ret;
guicontext->loadstatus=ret;
//oldifmode=hwif->interface_mode;
libusbhxcfe_setInterfaceMode(flopemu,usbhxcfe,thefloppydisk->floppyiftype,thefloppydisk->double_step,0);
libusbhxcfe_loadFloppy(flopemu,usbhxcfe,thefloppydisk);
if(!gui_context->autoselectmode)
libusbhxcfe_setInterfaceMode(guicontext->hxcfe,guicontext->usbhxcfe,guicontext->loadedfloppy->floppyiftype,guicontext->loadedfloppy->double_step,0);
libusbhxcfe_loadFloppy(guicontext->hxcfe,guicontext->usbhxcfe,guicontext->loadedfloppy);
if(!guicontext->autoselectmode)
{ // keep the old interface mode
//hwif->interface_mode=oldifmode;
};
if(f)
sprintf(gui_context->bufferfilename,basename(file));
sprintf(guicontext->bufferfilename,basename(file));
else
sprintf(gui_context->bufferfilename,"Empty Floppy");
sprintf(guicontext->bufferfilename,"Empty Floppy");
}
if(f)
+10 -50
View File
@@ -43,25 +43,7 @@
// Change History (most recent first):
///////////////////////////////////////////////////////////////////////////////////
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Progress.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_Tiled_Image.H>
#include <FL/Fl_File_Browser.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/Fl_File_Icon.H>
#include <FL/Fl_Shared_Image.H>
#include <FL/Fl_BMP_Image.H>
#include <FL/fl_ask.H>
#include "fl_includes.h"
extern "C"
{
@@ -69,7 +51,8 @@ extern "C"
#include "usb_hxcfloppyemulator.h"
}
#include "gui_struct.h"
#include "main.h"
#include "batch_converter_window.h"
#include "filesystem_generator_window.h"
#include "floppy_dump_window.h"
@@ -81,44 +64,21 @@ extern "C"
#include "about_gui.h"
#include "main_gui.h"
HXCFLOPPYEMULATOR * flopemu;
FLOPPY * thefloppydisk;
USBHXCFE * usbhxcfe;
guicontext * gui_context;
s_gui_context * guicontext;
extern int CUI_affiche(int MSGTYPE,char * chaine, ...);
track_type track_type_list[]=
int main(int argc, char **argv)
{
guicontext=(s_gui_context *)malloc(sizeof(s_gui_context));
if(guicontext)
{
{ FM_TRACK_TYPE,"FM",ISOFORMAT_SD},
{ FMIBM_TRACK_TYPE,"IBM FM",IBMFORMAT_SD},
{ MFM_TRACK_TYPE,"MFM",ISOFORMAT_DD},
{ MFMIBM_TRACK_TYPE,"IBM MFM",IBMFORMAT_DD},
//{ GCR_TRACK_TYPE,"GCR"},
{ -1,"",0}
};
memset(guicontext,0,sizeof(s_gui_context));
int main(int argc, char **argv) {
gui_context=(guicontext *)malloc(sizeof(guicontext));
if(gui_context)
{
memset(gui_context,0,sizeof(guicontext));
thefloppydisk=0;
flopemu=hxcfe_init();
hxcfe_setOutputFunc(flopemu,CUI_affiche);
usbhxcfe=libusbhxcfe_init(flopemu);
Main_Window * mw;
mw=new Main_Window();
return 0;
}
}
return -1;
}
+34
View File
@@ -0,0 +1,34 @@
typedef struct s_gui_context_
{
char bufferfilename[4096];
char buffertext[4096];
char * logfile;
int loadstatus;
unsigned char autoselectmode;
unsigned char twistedcable;
HXCFLOPPYEMULATOR * hxcfe;
FLOPPY * loadedfloppy;
USBHXCFE * usbhxcfe;
int backlight_tmr;
int standby_tmr;
int step_sound;
int ui_sound;
int lcd_scroll;
unsigned int txtindex;
int xsize,ysize;
unsigned char * mapfloppybuffer;
//signed char * floppyinfobuffer;
}s_gui_context;
@@ -7,13 +7,13 @@
#include <sys/stat.h>
#include "mainrouts.h"
#include "soft_cfg_file.h"
#include "libhxcfe.h"
#include "usb_hxcfloppyemulator.h"
#include "main.h"
typedef struct laststate_
{
unsigned int usb_packet_size;
@@ -24,9 +24,7 @@ typedef struct laststate_
unsigned int double_step;
}laststate;
//extern HWINTERFACE * hwif;
extern guicontext * gui_context;
extern s_gui_context * guicontext;
unsigned char cfg_file_buffer[4*1024];
int load_last_cfg()
@@ -64,8 +62,8 @@ int load_last_cfg()
// hwif->drive_select_source=lastst->drive_select_source;
// hwif->interface_mode=lastst->interface_mode;
// hwif->double_step=lastst->double_step;
gui_context->autoselectmode=lastst->autoselectmode;
gui_context->twistedcable=lastst->twistedcable;
guicontext->autoselectmode=lastst->autoselectmode;
guicontext->twistedcable=lastst->twistedcable;
}
else
{