AƱadida funcion para loggear cabecera de ROMs a gbrom.cc
authorslack <slack@0666ae3d-8926-0410-aeff-ae84559ff337>
Sun, 19 Aug 2007 03:07:43 +0000 (03:07 +0000)
committerslack <slack@0666ae3d-8926-0410-aeff-ae84559ff337>
Sun, 19 Aug 2007 03:07:43 +0000 (03:07 +0000)
git-svn-id: http://slack.codemaniacs.com/wenboi@8 0666ae3d-8926-0410-aeff-ae84559ff337

gbrom.cc

index b1c3082563962b265c93f8b8bd38cea4f0381fd0..b43b750e20d575052ceb0e1d2c4be7e6d7861702 100644 (file)
--- a/gbrom.cc
+++ b/gbrom.cc
@@ -1,6 +1,8 @@
 #include "gbrom.h"
+#include "logger.h"
 #include <fstream>
 #include <iostream>
+#include <sstream>
 #include <cstring>
 
 using std::ifstream;
@@ -25,7 +27,36 @@ GBRom *read_gbrom(std::string filename)
        char buf[17];
        std::memcpy(buf, rom->header.old_title, 16);
        buf[16]=0;
-       cout << "Loaded " << buf << endl;
+       
+       logger.info("Loaded "+std::string(buf));
+       log_rom_header(rom, Logger::DEBUG);
+
+       return rom;
+}
+
+void log_rom_header(GBRom *rom, Logger::log_level level)
+{
+       ostringstream out;
+
+       out.setf(std::ios::hex, std::ios::basefield);
+       out << "Entrypoint: " << rom->header.entry_point << endl;
+       out << "New licensee code: " << 
+               rom->neader.new_licensee_code[0] <<
+               rom->neader.new_licensee_code[1] << endl;
+
+       out << "SGB flag: " << rom->header.sgb_flag << endl;
+       out << "Cartridge type: " << rom->header.cartridge_type << endl;
+       out << "ROM size: " << (32 << rom->header.rom_size) << "K" << endl;
+       out << "RAM size: " << rom->header.ram_size << endl;
+       out << "Destination code: " << rom->header.destination_code << endl;
+       out << "Old licensee code: " << rom->header.old_licensee_code << endl;
+       out << "Mask ROM version number: " << rom->header.mask_rom_version_number << endl;
+       out << "Header checksum: " << rom->header.header_checksum << endl;
+       out << "Global checksum: " << 
+               rom->header.global_checksum[0] << 
+               rom->header.global_checksum[1] << endl;
+
+       logger.log(out.str(), level);
 }
 
 #ifdef TEST_GBROM