Commit 27476ce6 authored by Mike Stephens's avatar Mike Stephens
Browse files

set mode working with LCD

parent 0e436c95
......@@ -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
]
......
......@@ -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
]
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment