From dec19ac2fe2321a733eceb79358c8f4dc65cee16 Mon Sep 17 00:00:00 2001 From: OBattler Date: Thu, 17 Feb 2022 13:34:48 +0100 Subject: [PATCH] And the .c file. --- biosdump/biosdump.c | 70 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 biosdump/biosdump.c diff --git a/biosdump/biosdump.c b/biosdump/biosdump.c new file mode 100644 index 0000000..4eb56a7 --- /dev/null +++ b/biosdump/biosdump.c @@ -0,0 +1,70 @@ +#include +#include +#include +#include + + +int +#ifdef STANDARD_MAIN +main(int argc, char *argv[]) +#else +main(void) +#endif +{ + FILE *f; + char *p; + uint32_t size, ret; + + printf("Dumping low BIOS range (000C0000-000FFFFF)... "); + p = (char *) 0x000c0000; + size = 0x00040000; + f = fopen("000c0000.dmp", "wb"); + if (f == NULL) { + printf("FAILURE\n"); + return 1; + } + ret = fwrite(p, 1, size, f); + if (ret != size) { + printf("FAILURE\n"); + fclose(f); + return 2; + } + fclose(f); + printf("OK\n\n"); + + printf("Dumping mid BIOS range (00FE0000-00FFFFFF)... "); + p = (char *) 0x00fe0000; + size = 0x00020000; + f = fopen("00fe0000.dmp", "wb"); + if (f == NULL) { + printf("FAILURE\n"); + return 3; + } + ret = fwrite(p, 1, size, f); + if (ret != size) { + printf("FAILURE\n"); + fclose(f); + return 4; + } + fclose(f); + printf("OK\n\n"); + + printf("Dumping high BIOS range (FFF80000-FFFFFFFF)... "); + p = (char *) 0xfff80000; + size = 0x00080000; + f = fopen("fff80000.dmp", "wb"); + if (f == NULL) { + printf("FAILURE\n"); + return 5; + } + ret = fwrite(p, 1, size, f); + if (ret != size) { + printf("FAILURE\n"); + fclose(f); + return 6; + } + fclose(f); + printf("OK\n"); + + return 0; +}