diff --git a/s/NewReset b/s/NewReset index c178a579998a90fb5db41620859af5fdd4e5901f..4c973213b61299ba15a56006c4487f3eece24948 100644 --- a/s/NewReset +++ b/s/NewReset @@ -698,7 +698,7 @@ us * 2 [ KeyWait <> 0 ; Check for keyboard there every 1/5 sec. but give up after 2 secs. MOV r2, #IOC - MOV r3, #10 ; Check for keyboard 10 times (2 secs max). + MOV r6, #10 ; Check for keyboard 10 times (2 secs max). MOV r4, #InitKbdWs [ HAL AddressHAL @@ -719,7 +719,7 @@ kbdwait ] TEQ r5, #0 ; If keyboard was there 1/5 second ago then BNE kbdthere ; continue reset - SUBS r3, r3, #1 ; else wait a maximum of 2 seconds. + SUBS r6, r6, #1 ; else wait a maximum of 2 seconds. BNE kbdwait kbdthere ] diff --git a/s/PMF/osinit b/s/PMF/osinit index ea58ebc936a733d00b5dd0e0a39577290b8cbc36..b1e9748e31062e9ed7f0cdb0d91c41363f3a1554 100644 --- a/s/PMF/osinit +++ b/s/PMF/osinit @@ -556,7 +556,8 @@ oldirqowner & IRQ ReadMachineType Entry "r0-r12" [ HAL - MOV r2, #4_3330 + ;MOV r2, #4_3330 ; Fudge 1 - VGA + MOV r2, #4_3111 ; Fudge 2 - no connection - will do LCD MOV r1, #0 STRB r2, [r1, #MonitorLeadType] @@ -877,6 +878,7 @@ MonitorLeadList MonitorLeadItem 4_3333, 28, 3, 0 ; VGA-capable monitors 256 colours | ; STB MonitorLeadItem 4_3330, 27, 3, 0 ; VGA-capable monitors + MonitorLeadItem 4_3111, 27, 5, 0 ; Nothing - try LCD (fudge fudge) MonitorLeadItem 4_3333, 12, 0, 1 ; Others - assume TV standard ]; STB | ;IO_Type = "IOMD" @@ -893,6 +895,7 @@ MonitorLeadList MonitorLeadItem MonitorLead_MonoVGA, 27, 3, 0 MonitorLeadItem MonitorLead_ColourVGA, 27, 3, 0 MonitorLeadItem MonitorLead_ColourSVGA, 27, 1, 0 ; bodge for LiteOn (should be 27, 4, 0) + MonitorLeadItem MonitorLead_NoConnect, 27, 5, 0 MonitorLeadItem MonitorLead_Undefined, 12, 0, 1 ; used for all other combinations ] diff --git a/s/vdu/vdumodes b/s/vdu/vdumodes index b42947ebdc0a2149d9fab97471477c8a5451bfc2..69c72aaf2e058ddf09b2550895887ef2a0d0dfb2 100644 --- a/s/vdu/vdumodes +++ b/s/vdu/vdumodes @@ -151,8 +151,12 @@ minmode * 0 BCS $address ; branch if *NOT* known MEND + BigVIDCTable - ! 0,"BigVIDCTable at ":CC:(:STR:BigVIDCTable) + +; +; monitor type 0, 50Hz TV +; & VLN_0 - BigVIDCTable ; 0 & VLN_1 - BigVIDCTable ; 1 & VLN_2 - BigVIDCTable ; 2 @@ -208,6 +212,9 @@ BigVIDCTable & -1 ; 48 & -1 ; 49 +; +; monitor type 1, multiscan +; ASSERT (.-BigVIDCTable)=((NumModes*1):SHL:2) & VLM_0 - BigVIDCTable ; 0 @@ -261,6 +268,10 @@ BigVIDCTable & VLM_48 - BigVIDCTable ; 48 Games mode & VLM_49 - BigVIDCTable ; 49 Games mode + +; +; monitor type 2, HiRes +; ASSERT (.-BigVIDCTable)=((NumModes*2):SHL:2) & -1 ; 0 @@ -314,6 +325,9 @@ BigVIDCTable & -1 ; 48 & -1 ; 49 +; +; monitor type 3, VGA +; ASSERT (.-BigVIDCTable)=((NumModes*3):SHL:2) & VgaX_0 - BigVIDCTable ; 0 @@ -367,6 +381,9 @@ BigVIDCTable & VLM_48 - BigVIDCTable ; 48 Games mode & VLM_49 - BigVIDCTable ; 49 Games mode +; +; monitor type 4, SVGA +; ASSERT (.-BigVIDCTable)=((NumModes*4):SHL:2) & VgaX_0 - BigVIDCTable ; 0 @@ -420,6 +437,9 @@ BigVIDCTable & VLM_48 - BigVIDCTable ; 48 Games mode & VLM_49 - BigVIDCTable ; 49 Games mode +; +; monitor type 5, LCD +; ASSERT (.-BigVIDCTable)=((NumModes*5):SHL:2) & -1 ; 0 @@ -447,10 +467,10 @@ BigVIDCTable & -1 ; 22 & -1 ; 23 & -1 ; 24 - & -1 ; 25 - & -1 ; 26 - & -1 ; 27 - & -1 ; 28 + & LCD_25 - BigVIDCTable ; 25 + & LCD_26 - BigVIDCTable ; 26 + & LCD_27 - BigVIDCTable ; 27 + & LCD_28 - BigVIDCTable ; 28 & -1 ; 29 & -1 ; 30 & -1 ; 31 @@ -473,6 +493,9 @@ BigVIDCTable & -1 ; 48 & -1 ; 49 +; +; monitor type 6, reserved? +; ASSERT (.-BigVIDCTable)=((NumModes*6):SHL:2) & -1 ; 0 @@ -526,6 +549,9 @@ BigVIDCTable & -1 ; 48 & -1 ; 49 +; +; monitor type 7, file +; ASSERT (.-BigVIDCTable)=((NumModes*7):SHL:2) & -1 ; 0 @@ -579,6 +605,9 @@ BigVIDCTable & -1 ; 48 & -1 ; 49 +; +; monitor type 8, 60Hz TV +; ASSERT (.-BigVIDCTable)=((NumModes*8):SHL:2) & -1 ; 0 @@ -752,6 +781,11 @@ VgaX_44 VIDC_List 0, 96, 46, 0, 640, 0,18,2,134, 0,200,0,113,25175,2 VgaX_45 VIDC_List 1, 96, 46, 0, 640, 0,18,2,134, 0,200,0,113,25175,2 VgaX_46 VIDC_List 2, 96, 46, 0, 640, 0,18,2,134, 0,200,0,113,25175,2 +LCD_25 VIDC_List 0, 8, 32, 0, 640, 0,16,1, 1, 0,480,0, 1,30000,0 +LCD_26 VIDC_List 1, 8, 32, 0, 640, 0,16,1, 1, 0,480,0, 1,30000,0 +LCD_27 VIDC_List 2, 8, 32, 0, 640, 0,16,1, 1, 0,480,0, 1,30000,0 +LCD_28 VIDC_List 3, 8, 32, 0, 640, 0,16,1, 1, 0,480,0, 1,30000,0 + [ ModeSelectors ; Table of ideal frame rate for each numbered mode, to put in dummy mode selector