From 8eb1e0aa21d89ae61f9d4f0e9dd112f72ea4c757 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 21 Jan 2016 22:54:47 -0800 Subject: [PATCH] Blog post update --- .../2015-04-16-compaq-deskpro-386-update.md | 32 +++++++++---------- docs/README.md | 6 ++-- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/_posts/2015-04-16-compaq-deskpro-386-update.md b/_posts/2015-04-16-compaq-deskpro-386-update.md index 8398d09b7..3d1a27b5e 100644 --- a/_posts/2015-04-16-compaq-deskpro-386-update.md +++ b/_posts/2015-04-16-compaq-deskpro-386-update.md @@ -111,22 +111,22 @@ three physical address ranges at any time, regardless whether A20 is disabled or Which is a good thing, because I came across at least one code sequence in the ROM BIOS that enters protected-mode with A20 disabled -- an unwise thing to do on most machines: - ;; - ;; When we arrive here, the A20 line has been disabled; on most systems, that would - ;; mean that the ROM's GDT would only be accessible at the "low" ROM address (%0F0730), - ;; not the "high" address (%FF0730). But fortunately, A20 management on Compaq - ;; DeskPros affects wrap-around only from the 1st to the 2nd megabyte; no other address - ;; range is affected. - ;; - ;; FYI, it seems this code doesn't do anything if bits 6 and 7 of the RAM Settings - ;; register are set to anything other than 0x40 (ie, it returns to real-mode almost - ;; immediately after entering protected-mode). - ;; - lgdt [cs:0x077e] ; 0000F498 load [gdtr_hi] into GDTR - mov eax,cr0 ; 0000F49E 0F2000 - or ax,0x1 ; 0000F4A1 0D0100 - mov cr0,eax ; 0000F4A4 0F2200 - jmp 0x28:xf4ac ; 0000F4A7 EAACF42800 + ; + ; When we arrive here, the A20 line has been disabled; on most systems, that would + ; mean that the ROM's GDT would only be accessible at the "low" ROM address (%0F0730), + ; not the "high" address (%FF0730). But fortunately, A20 management on Compaq + ; DeskPros affects wrap-around only from the 1st to the 2nd megabyte; no other address + ; range is affected. + ; + ; FYI, it seems this code doesn't do anything if bits 6 and 7 of the RAM Settings + ; register are set to anything other than 0x40 (ie, it returns to real-mode almost + ; immediately after entering protected-mode). + ; + lgdt [cs:0x077e] ; 0000F498 2E0F01167E07; load [gdtr_hi] into GDTR + mov eax,cr0 ; 0000F49E 0F2000 + or ax,0x1 ; 0000F4A1 0D0100 + mov cr0,eax ; 0000F4A4 0F2200 + jmp 0x28:xf4ac ; 0000F4A7 EAACF42800 Before fully understanding the DeskPro's unusual A20 management, PCjs worked around it by redirecting all A20 changes from the Bus component to the CPU component, giving the CPU first diff --git a/docs/README.md b/docs/README.md index 65c9e7880..2a35a4c2f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,14 +16,14 @@ Help is available for the following JavaScript Machines: {% if page.developer %} -Assorted documentation is also available for programming the machines: +Instruction documentation is also available: -* [6502 Instructions](/docs/6502/) * [x86 Instructions](/docs/x86/) +* [6502 Instructions](/docs/6502/) {% endif %} -Our [Publication Archive](/pubs/) also includes these PC-related resources: +Our [Publication Archive](/pubs/) includes these PC-related resources: * [Datasheets](/pubs/pc/datasheets/) * [Magazines](/pubs/pc/magazines/)