revision 110:83a33da5ed06
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 110:83a33da5ed06 |
parent | 109:cc84a653c781 |
child | 111:230243c2b520 |
author | nkeynes |
date | Wed Mar 15 13:17:40 2006 +0000 (18 years ago) |
Bring the bootloader in for ELF files as well
src/loader.c | view | annotate | diff | log |
1.1 --- a/src/loader.c Wed Mar 15 13:17:23 2006 +00001.2 +++ b/src/loader.c Wed Mar 15 13:17:40 2006 +00001.3 @@ -1,5 +1,5 @@1.4 /**1.5 - * $Id: loader.c,v 1.11 2006-03-14 11:44:29 nkeynes Exp $1.6 + * $Id: loader.c,v 1.12 2006-03-15 13:17:40 nkeynes Exp $1.7 *1.8 * File loading routines, mostly for loading demos without going through the1.9 * whole procedure of making a CD image for them.1.10 @@ -107,9 +107,8 @@1.11 return TRUE;1.12 }1.14 -int file_load_binary( const gchar *filename ) {1.15 - /* Load the binary itself */1.16 - mem_load_block( filename, BINARY_LOAD_ADDR, -1 );1.17 +int file_load_postload( int pc )1.18 +{1.19 if( bootstrap_file != NULL ) {1.20 /* Load in a bootstrap before the binary, to initialize everything1.21 * correctly1.22 @@ -117,10 +116,19 @@1.23 mem_load_block( bootstrap_file, BOOTSTRAP_LOAD_ADDR, BOOTSTRAP_SIZE );1.24 sh4_set_pc( BOOTSTRAP_LOAD_ADDR + 0x300 );1.25 } else {1.26 - sh4_set_pc( BINARY_LOAD_ADDR );1.27 + sh4_set_pc( pc );1.28 }1.29 bios_install();1.30 + dcload_install();1.31 gtk_gui_update();1.32 +}1.33 +1.34 +1.35 +int file_load_binary( const gchar *filename )1.36 +{1.37 + /* Load the binary itself */1.38 + mem_load_block( filename, BINARY_LOAD_ADDR, -1 );1.39 + file_load_postload( BINARY_LOAD_ADDR );1.40 }1.42 int file_load_elf_fd( int fd )1.43 @@ -155,9 +163,6 @@1.44 INFO( "Loaded %d bytes to %08X", phdr.p_filesz, phdr.p_vaddr );1.45 }1.46 }1.47 -1.48 - sh4_set_pc( head.e_entry );1.49 - bios_install();1.50 - dcload_install();1.51 - gtk_gui_update();1.52 +1.53 + file_load_postload( head.e_entry );1.54 }
.