File:  [RetroPC.NET] / xmil / palm / dialog / d_disk.c
Revision 1.2: download - view: text, annotated - select for diffs
Sat Feb 26 12:59:50 2005 JST (20 years, 8 months ago) by tk800
Branches: MAIN
CVS tags: HEAD
support Treo and T5[palm](tk800)

#include	"compiler.h"
#include	"strres.h"
#include	"resource.h"
#include	"dialog.h"
#include	"dialogs.h"
#include	"pccore.h"
#include	"fddfile.h"
#include	"diskdrv.h"
#include	"newdisk.h"
#include	"xmil.h"
#include	"scrndraw.h"

void dialog_changefdd(REG8 drv) {

	char	fname[MAX_PATH];

	if (drv < 4) {
		if (dlgs_selectfile(fname)) {
			diskdrv_setfddex(drv, fname, 0, 0);
		}
		scrndraw_redraw();
	}
}


// ---- newdisk

static const char str_newdisk[] = "newdisk.d88";

typedef struct {
	BYTE	fdtype;
	char	label[16+1];
} NEWDISK;

void dialog_newdisk( void ) {


    FormType*		frm;
	ControlType*	type;
	FieldType*		label;
	NEWDISK			disk;
	char*			disklabel;
	char			path[MAX_PATH];
	int				media;
	SINT16			ret;

	if (dlgs_selectwritefile(path, sizeof(path), str_newdisk)) {
		frm = ARM_FrmInitForm(IDD_NEWDISK);
		type = ARM_FrmGetObjectPtr(frm, ARM_FrmGetObjectIndex(frm, IDC_MAKE2D));
		ARM_CtlSetValue(type, 1);
		ret = ARM_FrmDoDialog(frm);
		if (ret == IDC_OK) {
			media = ARM_CtlGetValue(type);
			if (media == 1) {
				disk.fdtype = (DISKTYPE_2DD << 4);
			}
			else {
				disk.fdtype = (DISKTYPE_2HD << 4);
			}
			label = ARM_FrmGetObjectPtr(frm, ARM_FrmGetObjectIndex(frm, IDC_DISKLABEL));
			disklabel = ARM_FldGetTextPtr(label);
			milstr_ncpy(disk.label, disklabel, sizeof(disk.label));
			ARM_FrmDeleteForm(frm);
			newdisk_fdd(path, disk.fdtype, disk.label);
		}
	}
    return;
}


RetroPC.NET-CVS <cvs@retropc.net>