comparison blastem.c @ 590:ea80559c67cb

WIP effort to update z80 core for code gen changes
author Michael Pavone <pavone@retrodev.com>
date Sun, 14 Dec 2014 16:45:23 -0800
parents 76bba9ffe351
children 4ff7bbb3943b
comparison
equal deleted inserted replaced
589:2dde38c1744f 590:ea80559c67cb
1070 break; 1070 break;
1071 } 1071 }
1072 } 1072 }
1073 } 1073 }
1074 } 1074 }
1075 #ifndef NO_Z80
1076 const memmap_chunk z80_map[] = {
1077 { 0x0000, 0x4000, 0x1FFF, 0, MMAP_READ | MMAP_WRITE | MMAP_CODE, z80_ram, NULL, NULL, NULL, NULL },
1078 { 0x8000, 0x10000, 0xFFFF, 1, MMAP_READ | MMAP_WRITE | MMAP_PTR_IDX | MMAP_FUNC_NULL, NULL, NULL, NULL, z80_read_bank, z80_write_bank},
1079 { 0x4000, 0x6000, 0x0003, 0, MMAP_READ | MMAP_WRITE, NULL, NULL, NULL, z80_read_ym, z80_write_ym},
1080 { 0x6000, 0x6100, 0xFFFF, 0, MMAP_WRITE | MMAP_CUSTOM, NULL, NULL, NULL, NULL, (write_8_fun)z80_gen_bank_write},
1081 { 0x7F00, 0x8000, 0x00FF, 0, MMAP_READ | MMAP_WRITE, NULL, NULL, NULL, z80_vdp_port_read, z80_vdp_port_write}
1082 };
1083 #endif
1075 1084
1076 int main(int argc, char ** argv) 1085 int main(int argc, char ** argv)
1077 { 1086 {
1078 if (argc < 2) { 1087 if (argc < 2) {
1079 fputs("Usage: blastem [OPTIONS] ROMFILE [WIDTH] [HEIGHT]\n", stderr); 1088 fputs("Usage: blastem [OPTIONS] ROMFILE [WIDTH] [HEIGHT]\n", stderr);
1235 1244
1236 psg_context p_context; 1245 psg_context p_context;
1237 psg_init(&p_context, render_sample_rate(), gen.master_clock, MCLKS_PER_PSG, render_audio_buffer()); 1246 psg_init(&p_context, render_sample_rate(), gen.master_clock, MCLKS_PER_PSG, render_audio_buffer());
1238 1247
1239 z80_context z_context; 1248 z80_context z_context;
1240 x86_z80_options z_opts;
1241 #ifndef NO_Z80 1249 #ifndef NO_Z80
1242 init_x86_z80_opts(&z_opts); 1250 z80_options z_opts;
1251 init_x86_z80_opts(&z_opts, z80_map, 5);
1243 init_z80_context(&z_context, &z_opts); 1252 init_z80_context(&z_context, &z_opts);
1244 #endif 1253 #endif
1245 1254
1246 z_context.system = &gen; 1255 z_context.system = &gen;
1247 z_context.mem_pointers[0] = z80_ram; 1256 z_context.mem_pointers[0] = z80_ram;