9 sprintf( binaryFileName,
"%s.bin", binaryFileNameRoot );
11 sprintf( mapFileName,
"%s.lbl", mapFileNameRoot );
14 sprintf( commandLine,
"cl65 -g -Ln %s --start-addr 32768 -t none -o %s %s", mapFileName, binaryFileName, _asm_filename );
16 (void)!system( commandLine );
17 sprintf( commandLine,
"run6502 -l 8000 %s -R 8000 -X 0000 -D", binaryFileName );
19 (void)!system( commandLine );
21 unsigned char memory[0xffff];
22 memset( memory, 0, 0xffff );
24 FILE * dumpFile = fopen(
"run6502.dump",
"rb" );
26 (void)!fread( &memory[0], 1, 0xffff, dumpFile );
30 FILE * mapFile = fopen( mapFileName,
"r" );
32 while( ! feof( mapFile ) ) {
37 (void)!fscanf( mapFile,
"%s %x .%s", type, &address,
name );
41 if ( strcmp( v->
name,
name ) == 0 ) {
47 value[0] = memory[address];
48 value[1] = memory[address+1];
49 value[2] = memory[address+2];
50 value[3] = memory[address+3];
58 v->
value = memory[address];
61 v->
value = memory[address] | ( memory[address+1] << 8 );
64 v->
value = memory[address] | ( memory[address+1] << 8 ) | ( memory[address+2] << 16 );
67 v->
value = memory[address] | ( memory[address+1] << 8 ) | ( memory[address+2] << 16 ) | ( memory[address+3] << 24 );
79 remove( binaryFileName );
80 remove( mapFileName );
81 remove(
"run6502.dump" );