// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
};
#endif
-class csp_state_utils;
-
class EMU;
class DEVICE;
class EVENT;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
MC6800* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
int volume_l, volume_r;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
volume_l = volume_r = 1024;
set_device_name(_T("Memory Bus"));
bool write_one_page(void);
public:
- BUBBLECASETTE(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ BUBBLECASETTE(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
fio = NULL;
memset(image_path, 0x00, _MAX_PATH * sizeof(_TCHAR));
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
};
#endif
-class csp_state_utils;
+//class csp_state_utils;
class EMU;
class DEVICE;
class EVENT;
class MEMBUS;
class RTC;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
- csp_state_utils *state_entry;
+ //EVENT* event;
+ //csp_state_utils *state_entry;
IO* io;
LS393* flipflop;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void release_tape();
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
void draw_graph();
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
for(int i = 0; i < 4; i++) {
dmac.ch[i].io = parent_vm->dummy;
DEVICE* d_fdc;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
const uint32_t* joy_stat;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_bank();
public:
- MEMBUS(VM* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
+ MEMBUS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
uint8_t ctrl;
public:
- RTC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ RTC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RTC"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
};
#endif
-class csp_state_utils;
+//class csp_state_utils;
class EMU;
class DEVICE;
class EVENT;
class KEYBOARD;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
IO* io;
SN76489AN* psg;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
const uint32_t* joy_stat;
bool tenkey;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
bool inserted;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
void release_tape();
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
bool dma;
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
{8, 8, 8 * 6 * 12, 8 * 2 * 29}, // CRT
};
-class csp_state_utils;
+//class csp_state_utils;
class EMU;
class DEVICE;
class EVENT;
class KEYBOARD;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
I8251* sio;
I8255* pio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void update_kb();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t* rbank[64];
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
void decl_state_queue(int num);
public:
- APU(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ APU(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
volume_l = volume_r = 1024;
set_device_name(_T("APU"));
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// check configs
// boot_mode = config.boot_mode;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class APU;
class PPU;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
N2A03* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void decl_state_header(header_t *p);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
void decl_state_header(header_t *p);
public:
- PPU(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PPU(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("PPU"));
}
bool modified;
public:
- CMOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMOS RAM"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MAINBUS;
class SUB;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
HD46505* crtc;
I8237* dma;
// drive virtual machine
void reset();
- void notify_power_off();
+ //void notify_power_off();
void run();
#ifdef USE_DEBUGGER
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t table[256];
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_int7();
public:
- MAINBUS(VM* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
+ MAINBUS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
{
set_device_name(_T("Main System"));
}
uint32_t read_memory(uint32_t addr);
public:
- SUB(VM* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
+ SUB(VM_TEMPLATE* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
{
set_device_name(_T("Sub System"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
+
#define USE_CPU_I286
#ifdef USE_SOUND_VOLUME
class SUB;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
I8251* sio;
I8253* pit;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t *vram;
public:
- SUB(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SUB(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Sub System"));
}
#endif
class csp_state_utils;
-class VM : public VM_TEMPLATE {
+class VM : public VM_TEMPLATE
+{
protected:
// EMU* emu;
bool modified;
public:
- CMOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMOS RAM"));
}
void update_intr();
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class SYSTEM;
class TIMER;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
I8237* dma;
I8251* sio_kb;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t table[256];
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void draw_cg();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
void update_checksum();
void update_intr();
public:
- RTC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ RTC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RTC"));
}
bool phase_status, eop_status;
public:
- SCSI(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
+ SCSI(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
set_device_name(_T("SCSI I/F"));
}
~SCSI() {}
void update_intr(int ch);
public:
- SERIAL(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SERIAL(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Serial I/F"));
}
uint8_t nmistat, nmimask;
public:
- SYSTEM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSTEM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
void update_intr();
public:
- TIMER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ TIMER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Timer I/F"));
}
int scsi_blocks[USE_HARD_DISK];
public:
- BIOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
+ BIOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
for(int i = 0; i < MAX_DRIVE; i++) disk[i] = NULL;
//for(int i = 0; i < USE_HARD_DISK; i++) harddisk[i] = NULL;
set_device_name(_T("Pseudo BIOS"));
uint8_t bank;
public:
- CMOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMOS RAM"));
}
void update_intr();
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
/*
Machine ID & CPU ID
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class SCSI;
class TIMER;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
HD46505* crtc;
#if defined(_FMR60)
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t table[256];
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void draw_cg();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
bool irq_status;
public:
- SCSI(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SCSI(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("SCSI I/F"));
void update_intr();
public:
- TIMER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ TIMER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Timer I/F"));
}
int scsi_blocks[MAX_SCSI];
public:
- BIOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
+ BIOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
set_device_name(_T("PSEUDO BIOS"));
}
~BIOS() {}
uint8_t bank;
public:
- CMOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+ CMOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
~CMOS() {}
// common functions
void update_intr();
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
~FLOPPY() {}
// common functions
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
/*
Machine ID & CPU ID
[ virtual machine ]
*/
-#ifndef _FMR50_H_
-#define _FMR50_H_
+#ifndef _FMTOWNS_H_
+#define _FMTOWNS_H_
#if defined(_FMR50)
#if defined(HAS_I286)
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class SCSI_CDROM;
class TIMER;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
+ //EVENT* event;
TOWNS_CRTC *crtc;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t table[256];
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
~KEYBOARD() {}
// common functions
bool irq_status;
public:
- SCSI(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
+ SCSI(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
set_device_name(_T("FMR50 SCSI"));
}
~SCSI() {}
void update_intr();
public:
- TIMER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
+ TIMER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {}
~TIMER() {}
// common functions
void update_dma_addr_mask();
public:
- TOWNS_MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
+ TOWNS_MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
set_device_name(_T("MEMORY"));
d_vram = NULL;
d_crtc = NULL;
void do_put_sprite(int num);
public:
- TOWNS_SPRITE(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
+ TOWNS_SPRITE(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
set_device_name(_T("SPRITE"));
vram_head = NULL;
framebuffer = NULL;
bool has_hardware_blending;
// End.
public:
- TOWNS_VRAM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ TOWNS_VRAM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
memset(vram, 0x00, sizeof(vram));
render_buffer = NULL;
DEVICE *d_fdc;
public:
- FDCPACK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FDCPACK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("FDC Pack"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
};
#endif
-class csp_state_utils;
+//class csp_state_utils;
class EMU;
class DEVICE;
class EVENT;
class RAMPACK;
class ROMPACK;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
DATAREC* drec;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void update_intr();
public:
- MAIN(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MAIN(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
intr_mask = intr_request = intr_in_service = 0;
set_device_name(_T("Main CPU Bus"));
bool modified;
public:
- RAMPACK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ RAMPACK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RAM Pack"));
}
uint8_t rom[0x8000];
public:
- ROMPACK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ ROMPACK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("ROM Pack"));
}
void key_update();
public:
- SUB(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SUB(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Sub CPU Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class IO;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8080* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void update_sid();
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class SYSTEM;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8251* sio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class SYSTEM;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
+ //EVENT* event;
/// DATAREC* drec;
/// I8251* sio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void sms_mapper_w(uint32_t addr, uint32_t data);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
bool tenkey;
public:
- SYSTEM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSTEM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
HD146818P* rtc;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void send_to_main(uint8_t val);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class IO;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
DATAREC* drec;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
scrntype_t pd, pb;
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
void set_bank(uint32_t val);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class IO;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
I8251* sio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
int tmp_iramdisk_size;
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
void set_bank(uint32_t val);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
void draw_graph_640x400();
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
#endif
public:
- DMAREG(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DMAREG(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("DMA Register"));
}
uint8_t ctrl_reg;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class SASI;
class SYSTEM;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
+ //EVENT* event;
HD46505* crtc;
I8237* dma;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void process_cmd();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_ems(int page);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
drive_t drive[2];
public:
- SASI(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SASI(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("SASI I/F"));
}
bool key_read;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_ems(int page);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
int nmi_mask;
public:
- SYSTEM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSTEM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
uint8_t status;
public:
- SYSTEM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSTEM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
//MC6800* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
scrntype_t palette_pc[2];
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
HD44102 *d_lcd[8];
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Mapped I/O"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class IO;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
HD44102* lcd[8];
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void draw_graph_360x512_4col();
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
int register_id;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
void *opaque;
public:
- I286(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ I286(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
#ifdef I86_PSEUDO_BIOS
d_bios = NULL;
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class KEYBOARD;
class SPEAKER;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
+ //EVENT* event;
HD46505* crtc;
I8251* sio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t nmi_reg;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
DEVICE *d_pcm, *d_psg;
public:
- SPEAKER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SPEAKER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Speaker"));
}
const uint8_t* key_stat;
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
const uint8_t* key_stat;
const uint32_t* joy_stat;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class CMT;
class KEYBOARD;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
IO* io;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
int select;
public:
- JOYSTICK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ JOYSTICK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Joystick I/F"));
}
#include "kanjirom.h"
#include "../../fileio.h"
-KANJIROM::KANJIROM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+KANJIROM::KANJIROM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
index = 0;
memset(rom, 0xff, sizeof(rom));
int index;
public:
- KANJIROM(VM* parent_vm, EMU* parent_emu);
+ KANJIROM(VM_TEMPLATE* parent_vm, EMU* parent_emu);
~KANJIROM() {}
// common functions
void update_keyboard();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t ram[0x8000];
#endif
public:
- SLOT0(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT0(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Slot #0"));
}
#endif
public:
- SLOT1(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT1(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Slot #1"));
}
bool pc4, mute_l, mute_r;
public:
- SLOT2(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT2(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Slot #2"));
}
uint8_t rom[0x8000];
public:
- SLOT2(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT2(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Slot #2"));
}
uint8_t mapper[4];
public:
- SLOT3(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT3(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Slot #3"));
}
void update_map(uint32_t val);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
uint8_t ram[0x8000];
#endif
public:
- SLOT_MAINROM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_MAINROM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Main ROM"));
}
bool inserted;
public:
- SLOT_CART(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_CART(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
#ifdef USE_MEGAROM
event_register_id = -1;
uint8_t mapper[2];
public:
- SLOT_MSXDOS2(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_MSXDOS2(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MSX-DOS2"));
}
bool pc4, mute_l, mute_r;
public:
- SLOT_LDC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_LDC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("LDC Control"));
}
#endif
public:
- SLOT_SUBROM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_SUBROM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Sub ROM"));
}
uint8_t rom[0x4000];
public:
- SLOT_FDD_PATCH(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_FDD_PATCH(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("FDD I/F"));
}
uint8_t mapper[4];
public:
- SLOT_MAPPERRAM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_MAPPERRAM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Mapper RAM"));
}
uint8_t ram[0x10000];
public:
- SLOT_RAM64K(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_RAM64K(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RAM 64KB"));
}
const _TCHAR* m_filename;
public:
- SLOT_FIRMWARE32K(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_FIRMWARE32K(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Firmware 32KB"));
}
uint8_t rom[0x4000];
public:
- SLOT_MSXMUSIC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SLOT_MSXMUSIC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MSX-MUSIC"));
}
void update_map(uint32_t val);
public:
- MEMORY_EX(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY_EX(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
ssl[0] = ssl[1] = ssl[2] = ssl[3] = 0;
expanded[0] = expanded[1] = expanded[2] = expanded[3] = false;
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class SLOT2;
class SLOT3;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8255* pio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t port;
public:
- PORT_F4(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
+ PORT_F4(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu) {
port = 0;
}
~PORT_F4() {}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
};
#endif
-class csp_state_utils;
+//class csp_state_utils;
class EMU;
class DEVICE;
class EVENT;
#endif
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8255* pio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
DEVICE* d_prn;
public:
- PRINTER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PRINTER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Printer I/F"));
}
#define USE_PSG_STEREO_REALLY
#define DECIBEL_MIN (-120)
-PSG_STEREO::PSG_STEREO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+PSG_STEREO::PSG_STEREO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
#if defined(USE_PSG_STEREO_REALLY)
// d_psg[1] = new YM2203(parent_vm, parent_emu);
int m_decibel_r;
public:
- PSG_STEREO(VM* parent_vm, EMU* parent_emu);
+ PSG_STEREO(VM_TEMPLATE* parent_vm, EMU* parent_emu);
~PSG_STEREO() {}
// common functions
uint8_t adrs;
public:
- RTCIF(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ RTCIF(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RTC I/F"));
}
*/
-SCC::SCC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+SCC::SCC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
emu2212 = SCC_new(3579545, 48000);
volume_l = volume_r = 1024;
void decl_state_scc();
public:
- SCC(VM* parent_vm, EMU* parent_emu);
+ SCC(VM_TEMPLATE* parent_vm, EMU* parent_emu);
~SCC() {}
// common functions
#include "sound_cart.h"
-SOUND_CART::SOUND_CART(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+SOUND_CART::SOUND_CART(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
d_chip[SOUND_CHIP_SCC] = new SCC(parent_vm, parent_emu);
enable_chip[SOUND_CHIP_SCC] = false;
bool enable_chip[SOUND_CHIP_MAX+1];
public:
- SOUND_CART(VM* parent_vm, EMU* parent_emu);
+ SOUND_CART(VM_TEMPLATE* parent_vm, EMU* parent_emu);
~SOUND_CART() {}
// common functions
void release_tape();
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
void draw_text_normal();
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
bool drq;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
uint32_t ptr;
public:
- KANJI(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KANJI(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Kanji ROM"));
}
const uint8_t* key_stat;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t map1, map2;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class KEYBOARD;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
HD46505* crtc;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void draw_80column();
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
int event_cnt;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_memory_map();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class KEYBOARD;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
HD46505* crtc;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
DEVICE* d_rtc;
public:
- CALENDAR(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CALENDAR(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RTC I/F"));
}
void stop();
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
bool map_init, trans_init;
public:
- CRTC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CRTC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CRTC"));
}
#endif
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
void update_intr();
public:
- INTERRUPT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ INTERRUPT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
d_cpu = d_child = NULL;
set_device_name(_T("Interrupt"));
uint32_t mode;
const uint32_t* joy_stat;
public:
- JOYSTICK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ JOYSTICK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Joystick I/F"));
}
void create_keystat();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void set_map(uint8_t data);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
#endif
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
bool select;
public:
- MOUSE(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MOUSE(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Mouse I/F"));
}
// uint8_t prev_data;
public:
- MZ1E26(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ1E26(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-1E26 (Voice Communication I/F)"));
}
bool drq_status;
public:
- MZ1E30(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ1E30(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-1E30 (SASI I/F)"));
}
uint8_t port[2];
public:
- MZ1M01(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ1M01(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-1M01 (16bit CPU Board)"));
}
uint32_t crc32;
public:
- MZ1R12(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ1R12(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-1R12 (32KB SRAM)"));
}
bool select_kanji;
public:
- MZ1R13(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ1R13(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-1R13 (KANJI ROM)"));
}
uint32_t address;
int tmp_buffer_size;
public:
- MZ1R37(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ1R37(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-1R37 (640KB EMM)"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
};
#endif
-class csp_state_utils;
-class EMU;
+//class csp_state_utils;
+//class EMU;
class DEVICE;
class EVENT;
class SERIAL;
class TIMER;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8253* pit;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MZ1M01;
#endif
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8253* pit;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
DEVICE* d_prn;
public:
- PRINTER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PRINTER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Printer I/F"));
}
bool addr_a0;
public:
- SERIAL(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SERIAL(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Serial I/F"));
}
DEVICE* d_pit;
public:
- TIMER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ TIMER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Timer I/F"));
}
bool map_init, trans_init;
public:
- CRTC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CRTC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CRTC"));
}
MB8877* d_fdc;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
uint32_t mode;
const uint32_t* joy_stat;
public:
- JOYSTICK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ JOYSTICK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Joystick I/F"));
}
void create_keystat();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t vram_bank, dic_bank, kanji_bank;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
bool select;
public:
- MOUSE(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MOUSE(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Mouse I/F"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class SERIAL;
class SYSPORT;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
I8253* pit;
I8255* pio0;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
DEVICE* d_prn;
public:
- PRINTER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PRINTER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Printer I/F"));
}
uint8_t prev;
public:
- RESET(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ RESET(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Reset I/O"));
}
bool addr_a0;
public:
- SERIAL(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SERIAL(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Serial I/F"));
}
DEVICE *d_pit, *d_sio;
public:
- SYSPORT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSPORT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
void set_dk(bool value);
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_bank();
public:
- MAIN(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MAIN(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
intfd = int0 = int1 = int2 = int3 = int4 = false;
me = e1 = false;
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class VM
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
// for main cpu
IO* mainio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void draw_gfx_200line_8bit();
public:
- SUB(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SUB(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus (Sub)"));
}
void update_palette();
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
int phase, timeout;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_bank();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class VM
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DEVICE* printer;
I8237* dma;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
int rst, highden;
public:
- SYSPORT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSPORT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
bool modified;
public:
- CMOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMOS RAM"));
}
uint32_t data_addr;
public:
- EMM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ EMM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("EMM"));
}
bool irq_enabled;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
uint32_t kanji_addr, dic_addr;
public:
- KANJI(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KANJI(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Kanji ROM"));
}
void update_key();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
#endif
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
#if defined(_MZ800)
boot_mode = config.boot_mode;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class VM
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
AND* and_int;
DATAREC* drec;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
DEVICE *d_psg_l, *d_psg_r;
public:
- PSG(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PSG(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("PSG"));
}
void release_disk();
public:
- QUICKDISK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ QUICKDISK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Quick Disk"));
}
uint32_t data_addr;
public:
- RAMFILE(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ RAMFILE(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RAM File"));
}
void update_key();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t pcg_ctrl;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
DEVICE* d_fdc;
public:
- MZ80AIF(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ80AIF(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-80AIF (FDC I/F)"));
}
DEVICE* d_fdc;
public:
- MZ80FIO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MZ80FIO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("MZ-80FIO (FDC I/F)"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MZ80FIO;
#endif
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
#if defined(_MZ1200) || defined(_MZ80A)
AND* and_int;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
#endif
public:
- PRINTER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PRINTER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Printer I/F"));
}
bool vsync_enb;
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
uint8_t chgreg, ctrlreg;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
uint8_t flag[256];
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
bool protect;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class SYSTEM;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
+ //EMU* emu;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
I386* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
bool nmi_enb;
public:
- SYSTEM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSTEM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
void draw_screen15_wide(uint16_t src);
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
bool intr;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
uint8_t sel;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t vram_data, mem_map;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
void PAC2::initialize()
{
- rampac2 = new RAMPAC2(vm, emu);
- kanji = new KANJIPAC2(vm, emu);
- joy = new JOYPAC2(vm, emu);
- dummy = new PAC2DEV(vm, emu);
+ rampac2 = new RAMPAC2(static_cast<VM *>(vm), emu);
+ kanji = new KANJIPAC2(static_cast<VM *>(vm), emu);
+ joy = new JOYPAC2(static_cast<VM *>(vm), emu);
+ dummy = new PAC2DEV(static_cast<VM *>(vm), emu);
rampac2->initialize(1);
kanji->initialize(1);
joy->initialize(1);
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
boot_mode = config.boot_mode;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class PAC2;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
EVENT* event;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void draw_fine_lcd(uint16_t src);
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
bool intr;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
bool mio;
public:
- IOBUS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IOBUS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
bool nmi_mask, pasopia;
public:
- IOTRAP(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IOTRAP(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Trap"));
}
uint8_t sel;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_memory_map();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// slot 3 : ram pack #6
// slot 2 : kanji rom
// slot 1 : joystick
- dummy = new PAC2DEV(vm, emu);
- rampac2[0] = new RAMPAC2(vm, emu);
- rampac2[1] = new RAMPAC2(vm, emu);
- kanji = new KANJIPAC2(vm, emu);
- joy = new JOYPAC2(vm, emu);
+ dummy = new PAC2DEV(static_cast<VM *>(vm), emu);
+ rampac2[0] = new RAMPAC2(static_cast<VM *>(vm), emu);
+ rampac2[1] = new RAMPAC2(static_cast<VM *>(vm), emu);
+ kanji = new KANJIPAC2(static_cast<VM *>(vm), emu);
+ joy = new JOYPAC2(static_cast<VM *>(vm), emu);
rampac2[0]->initialize(1);
rampac2[1]->initialize(2);
PAC2DEV* dummy;
public:
- PAC2(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PAC2(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("PAC2 Slot"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class PAC2;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
HD46505* crtc;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void update_palette(int num);
public:
- CRTC(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CRTC(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CRTC"));
}
void update_key();
public:
- IOCTRL(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IOCTRL(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Controller"));
}
bool strobe;
public:
- KANJI(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KANJI(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Kanji ROM"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class IOCTRL;
class KANJI;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
AND* and_drq;
BEEP* beep;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
bool key_hit(int code);
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#define USE_CPU_UPD7810
#include "../../common.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
};
#endif
-class csp_state_utils;
+//class csp_state_utils;
class EMU;
class DEVICE;
class EVENT;
class VM
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
MEMORY* memory;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void put_signal();
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
bool caps, kana;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t screen[64][250];
public:
- LCD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ LCD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("LCD"));
}
void update_bank();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class LCD;
class MEMORY;
-class VM
+class VM :public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8080* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
UPD765A *d_fdc;
public:
- BIOS(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ BIOS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Pseudo BIOS"));
}
#endif
public:
- CALENDAR(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CALENDAR(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RTC I/F"));
}
uint8_t ctrlreg, modereg;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
uint8_t flag[256];
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
#endif
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
uint8_t ch, regs[16];
public:
- NOTE(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ NOTE(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("98NOTE I/O"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class NOTE;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils *state_entry;
+ //EMU* emu;
+ //csp_state_utils *state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
DEVICE* printer;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t sysport;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
MC6847* vdp;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
const uint32_t *joy_stat;
public:
- JOYSTICK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ JOYSTICK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Joystick I/F"));
}
#endif
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
uint8_t* rbank[32];
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class SYSTEM;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
IO* io;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t sysport;
public:
- SYSTEM(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SYSTEM(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("System I/O"));
}
uint8_t status;
public:
- JOYSTICK(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ JOYSTICK(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Joystick I/F"));
}
int volume_l, volume_r;
public:
- PSG(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PSG(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
volume_l = volume_r = 1024;
set_device_name(_T("PSG"));
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class PSG;
class VDP;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
IO* io;
MEMORY* memory;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void draw_pcg(int x8, int y8, uint16_t top);
public:
- VDP(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ VDP(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("VDP"));
}
uint8_t start, bit;
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
bool intr_enb;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
bool busy;
public:
- PRINTER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PRINTER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Printer I/F"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class KEYBOARD;
class PRINTER;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
IO* io;
MEMORY* memory;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
const uint32_t *joy;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
SN76489AN* psg;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
int blink;
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
DEVICE *d_fdc, *d_mem;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
const uint8_t* key_stat;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
bool fdc_irq, motor;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
FIFO *res;
public:
- MFONT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MFONT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Multi FONT ROM Card"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
class MFONT;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
HD146818P* rtc;
I8237* dma0;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
int framecnt;
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
uint8_t status[16];
uint8_t column;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
bool inserted;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
uint8_t out;
public:
- PRINTER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ PRINTER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Printer I/F"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class PRINTER;
class VDP;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
IO* io;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void create_bg();
public:
- VDP(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ VDP(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("VDP"));
}
void update_keyboard();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_bank();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class KEYBOARD;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8251* sio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t pa, pb, pc;
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
void set_bank(uint8_t bank);
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class SOUND;
class VDP;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
UPD7801* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void process_cmd();
public:
- SOUND(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SOUND(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Sound"));
}
void draw_sprite(int dx, int dy, int sx, int ex, int sy, int ey, int no, uint8_t col);
public:
- VDP(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ VDP(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("VDP"));
}
void update_kb();
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
IO* io;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
#endif
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
HD46505* crtc;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
#endif
public:
- CMT(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CMT(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("CMT I/F"));
}
for(int x = 0; x < 256; x += 8) {
int code = vram[ptr++];
if(code != 0x20) {
- vm->draw_ranges = 9;
+ static_cast<VM *>(vm)->draw_ranges = 9;
}
code |= code_ofs;
uint8_t* font_base = &font[code << 3];
bool dma;
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
void update_tk80();
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
#endif
public:
- MEMBUS(VM* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
+ MEMBUS(VM_TEMPLATE* parent_vm, EMU* parent_emu) : MEMORY(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
int boot_mode;
public:
- MEMORY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
#if defined(_TK80BS)
// check configs
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class KEYBOARD;
class MEMBUS;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8080* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
#if defined(_TK80BS)
int draw_ranges;
int register_id_beep;
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#define USE_CPU_Z80
#include "../../common.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
#include "../../fileio.h"
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
BEEP* beep;
MEMORY* memory;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
void update_key();
public:
- IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ IO(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("I/O Bus"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
config.sound_play_tape = false;
config.wave_shaper[0] = false;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class IO;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
DATAREC* drec;
I8080* cpu;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
DEVICE* d_rtc;
public:
- CALENDAR(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ CALENDAR(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("RTC I/F"));
}
void draw_char(int x, int y, int pow, int rot, int code);
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Display"));
}
DEVICE* d_fdc;
public:
- FLOPPY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Floppy I/F"));
}
bool kana_locked;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
void update_bank(int num);
public:
- MAPPER(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ MAPPER(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Memory Mapper"));
}
BEEP* d_beep;
public:
- SOUND(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ SOUND(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Sound I/F"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class MAPPER;
class SOUND;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
M6502* cpu;
IO* io;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
uint8_t pb, pc;
public:
- DISPLAY(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ DISPLAY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("7-Segment LEDs"));
}
const uint8_t* key_stat;
public:
- KEYBOARD(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+ KEYBOARD(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
{
set_device_name(_T("Keyboard"));
}
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
const struct {
int x, y;
class DISPLAY;
class KEYBOARD;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
IO* io;
I8255* pio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif
// initialize
// ----------------------------------------------------------------------------
-VM::VM(EMU* parent_emu) : emu(parent_emu)
+VM::VM(EMU* parent_emu) : VM_TEMPLATE(parent_emu)
{
// create devices
first_device = last_device = NULL;
#include "../../common.h"
#include "../../fileio.h"
+#include "../vm_template.h"
#ifdef USE_SOUND_VOLUME
static const _TCHAR *sound_device_caption[] = {
class JOYSTICK;
class MEMORY;
-class VM
+class VM : public VM_TEMPLATE
{
protected:
- EMU* emu;
- csp_state_utils* state_entry;
+ //EMU* emu;
+ //csp_state_utils* state_entry;
// devices
- EVENT* event;
+ //EVENT* event;
#ifdef _USE_I8255
I8255* pio;
// devices
DEVICE* get_device(int id);
- DEVICE* dummy;
- DEVICE* first_device;
- DEVICE* last_device;
+ //DEVICE* dummy;
+ //DEVICE* first_device;
+ //DEVICE* last_device;
};
#endif