59 char * p = strstr(objectFileName,
".asm");
62 remove( objectFileName );
70 }
else if( access(
"run6502.exe", F_OK ) == 0 ) {
71 sprintf(executableName,
"%s",
"run6502.exe" );
73 sprintf(executableName,
"%s",
"run6502" );
76 sprintf( commandLine,
"\"%s\" -X 0000 -R 080d -l 07ff \"%s\" -u \"%s\" -p \"%s\" %d",
85 printf(
"The profiling of assembly program failed.\n\n");
97 char * exeFileName = strdup( _environment->
exeFileName );
98 char * extension = strstr( exeFileName,
".d64" );
103 FILE * prgHandle = fopen(_environment->
exeFileName,
"rb");
107 fseek( prgHandle, 0, SEEK_END );
108 int prgSize = ftell( prgHandle );
109 fseek( prgHandle, 0, SEEK_SET );
110 unsigned char * prgContent =
malloc( prgSize );
111 (void)!fread( prgContent, prgSize, 1, prgHandle );
134 sprintf( bankFileName,
"BANK%d", bank->
id );
141 printf(
"%s\n", storageFileName );
156 printf(
"%s\n", storageFileName );
163 strcopy( filemask, exeFileName );
169 strcat( basePath, storage->
fileName );
171 strcat( basePath,
"disk" );
190 while( fileStorage ) {
196 memset( buffer, 0,
size );
197 memcpy( &buffer[2], fileStorage->
content, fileStorage->
size );
199 FILE * file = fopen( fileStorage->
sourceName,
"rb" );
203 fseek( file, 0, SEEK_END );
204 size = ftell( file );
205 fseek( file, 0, SEEK_SET );
207 memset( buffer, 0,
size + 2 );
208 (void)!fread( &buffer[2],
size, 1, file );
213 fileStorage = fileStorage->
next;
219 printf(
"%s\n", storageFileName );
224 strcopy( filemask, exeFileName );
230 strcat( basePath, storage->
fileName );
232 strcat( basePath,
"disk" );
242 storage = storage->
next;
247 if ( bank && ! handle ) {
256 printf(
"%s\n", storageFileName );
264 sprintf( bankFileName,
"BANK%d", bank->
id );
272 printf(
"%s\n", storageFileName );
281 FILE * prgHandle = fopen(_environment->
exeFileName,
"rb");
282 fseek( prgHandle, 0, SEEK_END );
283 int prgSize = ftell( prgHandle );
284 fseek( prgHandle, 0, SEEK_SET );
285 unsigned char * prgContent =
malloc( prgSize );
286 (void)!fread( prgContent, prgSize, 1, prgHandle );
291 char * exeFileName = strdup( _environment->
exeFileName );
292 char * extension = strstr( exeFileName,
".reu" );
304 FILE * reuHandle = fopen( _environment->
exeFileName,
"wb" );
305 for(
int i=0; i<_environment->
ramSize * 1024; ++i ) {
306 fputc( 0, reuHandle );
308 fseek( reuHandle, 0, SEEK_SET );
315 fseek( reuHandle, bank->
id * bank->
space, SEEK_SET );
316 fwrite( bank->
data, 1, bankSize, reuHandle );
323 printf(
"%s\n", storageFileName );
332 strcopy( filemask, exeFileName );
338 strcat( basePath, storage->
fileName );
340 strcat( basePath,
"disk" );
359 while( fileStorage ) {
365 memset( buffer, 0,
size );
366 memcpy( &buffer[2], fileStorage->
content, fileStorage->
size );
368 FILE * file = fopen( fileStorage->
sourceName,
"rb" );
372 fseek( file, 0, SEEK_END );
373 size = ftell( file );
374 fseek( file, 0, SEEK_SET );
376 memset( buffer, 0,
size + 2 );
377 (void)!fread( &buffer[2],
size, 1, file );
382 fileStorage = fileStorage->
next;
387 printf(
"%s\n", storageFileName );
392 strcopy( filemask, exeFileName );
398 strcat( basePath, storage->
fileName );
400 strcat( basePath,
"disk" );
410 storage = storage->
next;
414 FILE * reuHandle = fopen( _environment->
exeFileName,
"wb" );
415 for(
int i=0; i<_environment->
ramSize * 1024; ++i ) {
416 fputc( 0, reuHandle );
418 fseek( reuHandle, 0, SEEK_SET );
423 fseek( reuHandle, bank->
id * bank->
space, SEEK_SET );
424 fwrite( bank->
data, 1, bankSize, reuHandle );
int d64_write_file(D64Handle *_handle, unsigned char *_filename, D64FileType _type, unsigned char *_buffer, int _size)
Write a block of memory on a file on the D64 disk image.