OSDN Git Service

[WIP][FM-7] Reshape signals.
[csp-qt/common_source_project-fm7.git] / source / src / vm / fm7 / kanjirom.cpp
1 /*
2  * Common source code project -> FM-7/77/AV -> Kanji rom
3  * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
4  * License: GPLv2
5  * History:
6  *  Feb 11, 2015 : Initial
7  */
8
9 #include "../../fileio.h"
10 #include "kanjirom.h"
11
12 KANJIROM::KANJIROM(VM *parent_vm, EMU* parent_emu, bool type_2std): MEMORY(parent_vm, parent_emu)
13 {
14         int bank_num = MEMORY_ADDR_MAX / MEMORY_BANK_SIZE;
15         int i;
16         FILEIO *fio;
17         
18         read_ok = false;
19         
20         fio = new FILEIO();
21         memset(data_table, 0xff, MEMORY_ADDR_MAX); 
22         read_table[0].memory = data_table;
23         
24         if(type_2std) {
25                 class2 = true;
26                 if(fio->Fopen(emu->bios_path("KANJI2.ROM"), FILEIO_READ_BINARY)) {
27                         fio->Fread(data_table, MEMORY_ADDR_MAX);
28                         fio->Fclose();
29                         read_ok = true;
30                 }
31         } else {
32                 class2 = false;
33                 if(fio->Fopen(emu->bios_path("KANJI1.ROM"), FILEIO_READ_BINARY)) {
34                         fio->Fread(data_table, MEMORY_ADDR_MAX);
35                         fio->Fclose();
36                         read_ok = true;
37                 } else if(fio->Fopen(emu->bios_path("KANJI.ROM"), FILEIO_READ_BINARY)) {
38                         fio->Fread(data_table, MEMORY_ADDR_MAX);
39                         fio->Fclose();
40                         read_ok = true;
41                 } 
42         }
43         delete fio;
44         return;
45 }
46
47 void KANJIROM::write_data8(uint32 addr, uint32 data)
48 {
49         return;
50 }
51
52 uint32 KANJIROM::read_data8(uint32 addr)
53 {
54         return data_table[addr & 0x1ffff];
55 }
56
57 bool KANJIROM::get_readstat(void)
58 {
59         return read_ok;
60 }
61