diff --git a/second/bootinfo.c b/second/bootinfo.c index e49a37a..8e65df5 100644 --- a/second/bootinfo.c +++ b/second/bootinfo.c @@ -221,7 +221,8 @@ void bootinfo_init(char* command_line, boot_info.bi_mac.gmtbias = gmt_bias; - logical2physical(SCCRd, &boot_info.bi_mac.scc); + logical2physical(SCCRd, &boot_info.bi_mac.scc_read); + logical2physical(SCCWr, &boot_info.bi_mac.scc_write); boot_info.bi_mac.timedbra = TimeDBRA; boot_info.bi_mac.adbdelay = TimeVIADB; boot_info.bi_mac.serialmf = 0; @@ -487,8 +488,11 @@ set_kernel_bootinfo(char *dst) l1 = boot_info.bi_mac.videological; dst = add_v2_boot_record(dst, V2_BI_MAC_VLOGICAL, sizeof(l1), &l1); - l1 = boot_info.bi_mac.scc; - dst = add_v2_boot_record(dst, V2_BI_MAC_SCCBASE, sizeof(l1), &l1); + l1 = boot_info.bi_mac.scc_read; + dst = add_v2_boot_record(dst, V2_BI_MAC_SCCBASE_READ, sizeof(l1), &l1); + + l1 = boot_info.bi_mac.scc_write; + dst = add_v2_boot_record(dst, V2_BI_MAC_SCCBASE_WRITE, sizeof(l1), &l1); l1 = boot_info.bi_mac.boottime; dst = add_v2_boot_record(dst, V2_BI_MAC_BTIME, sizeof(l1), &l1); diff --git a/second/bootinfo.h b/second/bootinfo.h index 25ec306..009bc17 100644 --- a/second/bootinfo.h +++ b/second/bootinfo.h @@ -37,7 +37,8 @@ struct bi_Macintosh unsigned long gmtbias; unsigned long bootver; unsigned long videological; - unsigned long scc; + unsigned long scc_read; + unsigned long scc_write; unsigned long id; unsigned long memsize; unsigned long serialmf; @@ -279,12 +280,13 @@ struct bi2_record_list { #define V2_BI_MAC_VROW 0x8003 /* Mac video rowbytes */ #define V2_BI_MAC_VDIM 0x8004 /* Mac video dimensions */ #define V2_BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */ -#define V2_BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */ +#define V2_BI_MAC_SCCBASE_READ 0x8006 /* Mac SCC base address */ #define V2_BI_MAC_BTIME 0x8007 /* Mac boot time */ #define V2_BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */ #define V2_BI_MAC_MEMSIZE 0x8009 /* Mac RAM size (sanity check) */ #define V2_BI_MAC_CPUID 0x800a /* Mac CPU type (sanity check) */ #define V2_BI_MAC_ROMBASE 0x800b /* Mac system ROM base address */ +#define V2_BI_MAC_SCCBASE_WRITE 0x800c /* Mac SCC base address */ /* * Macintosh hardware profile data - unused, see macintosh.h for diff --git a/second/lowmem.h b/second/lowmem.h index f163157..25d2ba6 100644 --- a/second/lowmem.h +++ b/second/lowmem.h @@ -6,6 +6,7 @@ #define VIA1Base (*(unsigned long*)0x01D4) #define SCCRd (*(unsigned long*)0x01d8) +#define SCCWr (*(unsigned long*)0x01dc) #define ROMBase (*(short**)0x02ae) #define HWCfgFlags (*(unsigned long*)0x0B22) #define SCSIBase (*(unsigned long*)0x0C00)