diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2020-11-28 11:20:03 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2020-11-28 11:20:03 +0100 |
commit | aca930d803177cb6ea8ebadd77b6ef09ab2b5b49 (patch) | |
tree | e35da8c68588a28534ae51c47025214fe5450e17 /emu/emu.c | |
parent | f829f6893d94ed52044bf007bc447526c9d5e653 (diff) | |
download | 6502-aca930d803177cb6ea8ebadd77b6ef09ab2b5b49.tar.gz 6502-aca930d803177cb6ea8ebadd77b6ef09ab2b5b49.tar.bz2 |
addressed initializiation of components and valgrindified
Diffstat (limited to 'emu/emu.c')
-rw-r--r-- | emu/emu.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -34,23 +34,23 @@ int main( int argc, char *argv[] ) } if( args_info.long_version_given ) { - printf( "emu version: %s, Copyright (c) 2020, LGPLv3, Andreas Baumann <mail at andreasbaumann dot cc>\n", EMU_VERSION ); + printf( "emu version: %s, Copyright (c) 2020, GPLv3, Andreas Baumann <mail at andreasbaumann dot cc>\n", EMU_VERSION ); exit( EXIT_SUCCESS ); } bus_init( &bus ); - memory_init( &rom, MEMORY_ROM, ROM_START, ROM_SIZE ); + memory_init( &rom, MEMORY_ROM, ROM_START, ROM_SIZE, args_info.initialize_given ); memory_load( &rom, args_info.rom_arg ); bus_register( &bus, &rom.base, ROM_START, ROM_END ); - memory_init( &ram, MEMORY_RAM, RAM_START, RAM_SIZE ); + memory_init( &ram, MEMORY_RAM, RAM_START, RAM_SIZE, args_info.initialize_given ); bus_register( &bus, &ram.base, RAM_START, RAM_END ); - seg7_init( &seg7, VIA_START ); + seg7_init( &seg7, VIA_START, args_info.initialize_given ); bus_register( &bus, &seg7.base, VIA_START, VIA_END ); - cpu_6502_init( &cpu, &bus ); + cpu_6502_init( &cpu, &bus, args_info.initialize_given ); if( args_info.debug_given ) { if( args_info.print_cpu_given ) { cpu.debug_flags |= DEBUG_STATUS; @@ -65,7 +65,6 @@ int main( int argc, char *argv[] ) seg7.debug = true; } } - cpu_6502_reset( &cpu ); emul_init( &emul, &cpu, &bus, args_info.width_arg, args_info.height_arg ); if( args_info.gui_given ) { @@ -76,10 +75,13 @@ int main( int argc, char *argv[] ) emul.gui = true; } emul_start( &emul ); + + cpu_6502_reset( &cpu ); emul_run( &emul, args_info.steps_arg ); bus_deinit( &bus ); emul_free( &emul ); + cmdline_parser_free( &args_info ); exit( EXIT_SUCCESS ); } |