2 FUJITSU FMR-30 Emulator 'eFMR-30'
3 FUJITSU FMR-50 Emulator 'eFMR-50'
4 FUJITSU FMR-60 Emulator 'eFMR-60'
6 Author : Takeda.Toshiya
16 #include "../../emu.h"
17 #include "../device.h"
24 class BIOS : public DEVICE
28 DISK *disk[MAX_DRIVE];
29 HARDDISK *harddisk[USE_HARD_DISK];
32 uint8_t *cmos, *vram, *cvram;
41 bool access_fdd[MAX_DRIVE];
42 uint8_t drive_mode1[MAX_DRIVE];
43 uint16_t drive_mode2[MAX_DRIVE];
44 int scsi_blocks[USE_HARD_DISK];
47 BIOS(VM_TEMPLATE* parent_vm, EMU_TEMPLATE* parent_emu) : DEVICE(parent_vm, parent_emu) {
48 for(int i = 0; i < MAX_DRIVE; i++) disk[i] = NULL;
49 //for(int i = 0; i < USE_HARD_DISK; i++) harddisk[i] = NULL;
50 set_device_name(_T("Pseudo BIOS"));
58 bool bios_call_far_i86(uint32_t PC, uint16_t regs[], const uint16_t sregs[], int32_t* ZeroFlag, int32_t* CarryFlag, int* cycles, uint64_t* total_cycles);
59 bool bios_call_far_ia32(uint32_t PC, uint32_t regs[], const uint16_t sregs[], int32_t* ZeroFlag, int32_t* CarryFlag, int* cycles, uint64_t* total_cycles);
60 bool bios_int_i86(int intnum, uint16_t regs[], const uint16_t sregs[], int32_t* ZeroFlag, int32_t* CarryFlag, int* cycles, uint64_t* total_cycles);
61 bool bios_int_ia32(int intnum, uint32_t regs[], const uint16_t sregs[], int32_t* ZeroFlag, int32_t* CarryFlag, int* cycles, uint64_t* total_cycles);
62 uint32_t __FASTCALL read_signal(int ch);
63 bool process_state(FILEIO* state_fio, bool loading);
66 void set_context_mem(DEVICE* device)
70 void set_context_io(DEVICE* device)
74 void set_floppy_disk_handler(int drv, DISK* device)
78 void set_hard_disk_handler(int drv, HARDDISK* device)
80 harddisk[drv] = device;
82 void set_cmos_ptr(uint8_t* ptr)
86 void set_vram_ptr(uint8_t* ptr)
90 void set_cvram_ptr(uint8_t* ptr)
95 void set_avram_ptr(uint8_t* ptr)
100 void set_kvram_ptr(uint8_t* ptr)