2 HITACH BASIC Master Jr Emulator 'eBASICMasterJr'
4 Author : Takeda.Toshiya
10 #ifndef _BMJR_MEMORY_H_
11 #define _BMJR_MEMORY_H_
14 #include "../../emu.h"
15 #include "../device.h"
17 #define SIG_MEMORY_DATAREC_EAR 0
20 class MEMORY : public DEVICE
24 DEVICE *d_drec, *d_cpu, *d_pia;
25 const uint8_t* key_stat;
29 uint8_t basic[0x3000];
30 uint8_t printer[0x800];
31 uint8_t monitor[0x1000];
42 uint8_t color_table[0x300];
43 uint8_t char_color, back_color, mp1710_enb;
46 scrntype_t palette_pc[8];
48 bool drec_bit, drec_in;
51 uint8_t key_column, key_data;
58 uint32_t sound_mix_clock;
59 int volume_l, volume_r;
62 MEMORY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
64 volume_l = volume_r = 1024;
65 set_device_name(_T("Memory Bus"));
72 void write_data8(uint32_t addr, uint32_t data);
73 uint32_t read_data8(uint32_t addr);
74 void write_signal(int id, uint32_t data, uint32_t mask);
76 void mix(int32_t* buffer, int cnt);
77 void set_volume(int ch, int decibel_l, int decibel_r);
78 bool process_state(FILEIO* state_fio, bool loading);
81 void set_context_drec(DEVICE* device)
85 void set_context_cpu(DEVICE* device)
89 void set_context_pia(DEVICE* device)
93 void key_down(int code);