Skip to content

Commit d455f45

Browse files
committed
Disable INT 19 MBR check by default
1 parent 92bc2ca commit d455f45

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

src/GLABIOS.ASM

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ FDC_HLT_WAIT = 1 ; Halt CPU during FD access
238238
; hang during floppy access if this is
239239
; enabled
240240
KB_HLT_WAIT = 1 ; Halt CPU during KB wait
241-
MBR_CHECK = 1 ; Verify magic number of DOS MBR at boot
241+
MBR_CHECK = 0 ; Verify magic number of DOS MBR at boot
242242
; note: DOS 1.0 does not use MBR, so
243243
; will not boot if this is enabled
244244
POST_HD_CHECK = 1 ; Enable POST HD drive count and size
@@ -2472,7 +2472,7 @@ INIT_PIT1:
24722472
IF POST_TEST_DMA EQ 1
24732473
MOV BH, 8 ; test 8 ports
24742474
XOR DX, DX ; starting at port 00H
2475-
CALL_NS PORT_TEST ; ZF and CX = 0 if pass, NZ if failed
2475+
CALL_NS PORT_TEST ; ZF and CX = 0 if pass, NZ if failed
24762476
MOV BL, BEEP_SL <4,2> ; beep pattern (4 short, 2 long)
24772477
JNZ HALT_ERROR
24782478
DMA_PASS:
@@ -2580,24 +2580,24 @@ BASE_RAM_TEST:
25802580
MOV ES, AX
25812581
MOV SI, OFFSET WARM_FLAG_ABS ; SI = warm boot flag offset
25822582
MOV DX, [SI] ; save warm boot flag
2583-
CALL_NS MEM_CHECK ; clear memory and parity bits
2583+
CALL_NS MEM_CHECK ; clear memory and parity bits
25842584
JNZ BASE_RAM_ERROR
25852585
IN AL, PPI_B ; read PPI channel B
25862586
OR AL, MASK PBPC ; clear MB RAM parity flag only
25872587
OUT PPI_B, AL
25882588
AND AL, NOT MASK PBPC ; enable MB RAM parity for test
25892589
OUT PPI_B, AL
2590-
CALL_NS MEM_ADDR_TEST ; test address lines
2590+
CALL_NS MEM_ADDR_TEST ; test address lines
25912591
JZ BASE_RAM_ZERO ; continue if no errors
25922592
BASE_RAM_ERROR:
25932593
MOV BL, BEEP_SL <1,3> ; on failure, 1 short and 3 long beeps
25942594
HALT_BEEP_1:
25952595
JMP HALT_BEEP ; NEAR jump to HALT BEEP PROC
25962596
BASE_RAM_ZERO:
25972597
MOV AX, RAM_TEST ; test pattern
2598-
CALL_NS MEM_CHECK ; write and verify test pattern
2598+
CALL_NS MEM_CHECK ; write and verify test pattern
25992599
JNZ BASE_RAM_ERROR ; ZF and AX = 0 if okay
2600-
CALL_NS MEM_CHECK ; write and verify zeros
2600+
CALL_NS MEM_CHECK ; write and verify zeros
26012601
JNZ BASE_RAM_ERROR
26022602
XCHG [SI], DX ; restore warm boot flag, DX = 0
26032603
INC AX ; AL = 1
@@ -3020,7 +3020,7 @@ SETTINGS_SAVE:
30203020
; - If MB video switch is 0 (option ROM), skip reset
30213021
; - If not 0, determine correct 6845 video mode and do INT 10H reset
30223022
;----------------------------------------------------------------------------;
3023-
GET_EFLAG VIDM ; AX = 00=error(ZF), 01=CGA 40, 10=CGA 80, 11=MDA
3023+
GET_EFLAG VIDM ; AX = 00=error(ZF), 01=CGA 40, 10=CGA 80, 11=MDA
30243024
XCHG AX, DX ; AL = EQUIP_FLAGS, DX = BDA initial video mode
30253025
JNZ VID_MODE_OK ; jump if mode valid or video option ROM loaded
30263026
MOV BL, BEEP_SL <3,3> ; Beep 3 long, 3 short
@@ -3263,7 +3263,7 @@ SET_EFLAG_FLP PROC
32633263
JZ SHORT SET_EFLAG_FLP_RET ; don't change BDA (no option for 0)
32643264
PUSH AX
32653265
DEC AX ; adjust 0-based count
3266-
SET_EFLAG FLP ; set floppy count
3266+
SET_EFLAG FLP ; set floppy count
32673267
POP AX
32683268
SET_EFLAG_FLP_RET:
32693269
RET
@@ -3469,10 +3469,10 @@ POST_KB_RESET PROC
34693469
KB_RESET_TEST:
34703470
NOP ; give a little more time
34713471
;NOP ; and a little more time still
3472-
POST_FLAG_TEST PKI ; KB test flag yet?
3472+
POST_FLAG_TEST PKI ; KB test flag yet?
34733473
LOOPZ KB_RESET_TEST ; Loop until KB flag OR CX is 0 (timeout)
34743474
CLI ; disable interrupts again
3475-
POST_FLAG_FLIP PKI ; invert PKI flag: 1 = error, 0 = success
3475+
POST_FLAG_FLIP PKI ; invert PKI flag: 1 = error, 0 = success
34763476
ENDIF
34773477

34783478
IO_DELAY_LONG ; additional delay, CX = 0
@@ -3493,10 +3493,10 @@ KB_RESET_TEST:
34933493
IF POST_TEST_KB NE 0
34943494
TEST AL, AL ; AL should be 0
34953495
JZ KB_HAPPY ; if so, KB is ready
3496-
POST_FLAG_SET PKEY ; otherwise set flag for keyboard error
3496+
POST_FLAG_SET PKEY ; otherwise set flag for keyboard error
34973497

34983498
ELSE
3499-
POST_FLAG_CLR PKI ; clear any KB error
3499+
POST_FLAG_CLR PKI ; clear any KB error
35003500
ENDIF
35013501

35023502
KB_HAPPY:
@@ -3547,7 +3547,7 @@ POST_KB_RESET ENDP
35473547
IN AL, DMA_CMD ; verify DMA status register
35483548
TEST AL, MASK TC0 ; Channel 0 TC
35493549
JNZ DMA_STATUS_OK ; jump if zero reached
3550-
POST_FLAG_SET PDMA ; else mark in POST error flags
3550+
POST_FLAG_SET PDMA ; else mark in POST error flags
35513551
DMA_STATUS_OK:
35523552
ENDIF
35533553

@@ -3585,7 +3585,7 @@ FDC_POST PROC
35853585
CWD ; DL = start at drive 0
35863586
INT 13H ; Reset the controller
35873587
JC FDC_POST_CT_ERR ; jump if controller reset failed
3588-
GET_EFLAG FLP ; AX = # of floppy drives (0 based)
3588+
GET_EFLAG FLP ; AX = # of floppy drives (0 based)
35893589
INC AX ; fixup for 1 based drive count
35903590

35913591
IF POST_TEST_FD EQ 1
@@ -3604,7 +3604,7 @@ FDC_POST_TESTS_DRV:
36043604
LOOP FDC_POST_TESTS_DRV
36053605
JMP SHORT FDC_POST_TESTS_DONE ; tests successful
36063606
FDC_POST_DRV_ERR: ; POST: drive seek error
3607-
POST_FLAG_SET PFSK ; mark in POST error flags
3607+
POST_FLAG_SET PFSK ; mark in POST error flags
36083608
JMP SHORT FDC_POST_TESTS_DONE ; end POST test at failed drive
36093609
;LOOP FDC_POST_TESTS_DRV ; or continue to next drive
36103610

@@ -3613,7 +3613,7 @@ FDC_POST_DRV_ERR: ; POST: drive seek error
36133613
ENDIF ; /POST_TEST_FD EQ 1
36143614

36153615
FDC_POST_CT_ERR: ; POST: controller error
3616-
POST_FLAG_SET PFDC ; mark in POST error flags
3616+
POST_FLAG_SET PFDC ; mark in POST error flags
36173617

36183618
IF POST_TEST_FD EQ 1
36193619
CWD ; DX = 0 drives detected
@@ -3633,7 +3633,7 @@ FDC_POST_TESTS_COL:
36333633
;----------------------------------------------------------------------------;
36343634
; Display FDC POST drive count column in AX
36353635
;
3636-
POST_COL_1 POST_FDD, POST_CLR_VAL2 ; display FDC column label
3636+
POST_COL_1 POST_FDD, POST_CLR_VAL2 ; display FDC column label
36373637
CALL NIB_HEX ; display decimal value in AL
36383638
POST_COL_END ; NIB_HEX returns AL <= 46h
36393639

@@ -3728,7 +3728,7 @@ POST_ERROR:
37283728
; Wait for Any Key if there was an error
37293729
;
37303730
CALL MEEPMEEP ; alert that there was an error, CX=0
3731-
PRINT_SZ NL_ANY_KEY ; "Any key" string
3731+
PRINT_SZ NL_ANY_KEY ; "Any key" string
37323732
XCHG AX, CX ; wait for key press (AH=0)
37333733
INT 16H
37343734
CALL CRLF ; move to next line
@@ -3760,7 +3760,7 @@ CLEAR_POST_SCREEN:
37603760

37613761
CALL BEEP ; beep to signify POST test is done
37623762
IF POST_GLADOS EQ 1
3763-
PRINT_SZ BOOT_BEGIN ; Starting DOS...
3763+
PRINT_SZ BOOT_BEGIN ; Starting DOS...
37643764
ELSE
37653765
CALL CRLF
37663766
ENDIF
@@ -3809,7 +3809,7 @@ TRY_INT_18:
38093809
;----------------------------------------------------------------------------;
38103810
INT_18 PROC
38113811
ASSUME DS:_BDA_ABS
3812-
PRINT_SZ BOOT_FAIL ; print boot failure string
3812+
PRINT_SZ BOOT_FAIL ; print boot failure string
38133813
XOR AX, AX ; AH = 0 (wait for key)
38143814
MOV DS, AX ; DS = 0000
38153815
MOV WARM_FLAG_ABS, AX ; do a cold boot
@@ -4141,7 +4141,7 @@ DONE_ZERO_ALL_RAM:
41414141
; read. This should reveal which IC in that bank failed.
41424142
;
41434143
DETECT_MEMORY_ERR:
4144-
POST_FLAG_SET PMEM ; set POST Memory error flag
4144+
POST_FLAG_SET PMEM ; set POST Memory error flag
41454145
CALL CRLF ; start on new line
41464146
POST_COL_1 POST_ERR_ERR, RED
41474147
DEC DI ; move back to last address
@@ -4153,7 +4153,7 @@ DETECT_MEMORY_ERR:
41534153
CALL SPACE
41544154
TEST DL, DL ; was there a parity error?
41554155
JZ DETECT_MEMORY_ERR_2 ; jump if not
4156-
PRINT_SZ NMI_ERR_PAR ; print 'PARITY'
4156+
PRINT_SZ NMI_ERR_PAR ; print 'PARITY'
41574157
JMP SHORT DETECT_MEMORY_ERR_DONE
41584158
DETECT_MEMORY_ERR_2:
41594159
XCHG AX, DI ; restore failed bit pattern
@@ -4849,10 +4849,10 @@ HALT_BEEP_START_ODD:
48494849
MOV DI, CX ; save counter length
48504850
HALT_BEEP_REP:
48514851
MOV AX, SI ; restore beep tone
4852-
CALL_NS BEEP_ON_P, 1 ; turn on speaker / beep
4852+
CALL_NS BEEP_ON_P, 1 ; turn on speaker / beep
48534853
MOV CX, DI ; restore counter
48544854
IO_DELAY ; delay for beep
4855-
CALL_NS BEEP_OFF_P, 1 ; turn off speaker
4855+
CALL_NS BEEP_OFF_P, 1 ; turn off speaker
48564856
SUB CX, DI ; set for remainder of counter
48574857
IO_DELAY ; delay for silence
48584858
DEC DL ; dec beep repeat count
@@ -4961,7 +4961,7 @@ POST_ERROR_MSG_LOOP:
49614961
JNC POST_ERROR_MSG_NEXT ; no flag?
49624962
PUSHF ; save BP ZF
49634963
XCHG AX, SI ; SI = error string
4964-
PRINTLN_SZ SI ; write string with CRLF
4964+
PRINTLN_SZ SI ; write string with CRLF
49654965
XCHG AX, SI ; SI = string table pointer
49664966
POPF
49674967
POST_ERROR_MSG_NEXT:
@@ -8771,7 +8771,7 @@ POST_SYS_CONFIG PROC
87718771
POST_COL_1 POST_CPU, POST_CLR_VAL1 ; display 'CPU' left column
87728772
; SI default to 8088
87738773
CPU_CHECK_TYPE_2:
8774-
TEST_GFLAG V20 ; ZF = 0 if V20, ZF = 1 if 8088
8774+
TEST_GFLAG V20 ; ZF = 0 if V20, ZF = 1 if 8088
87758775
JZ CPU_CHECK_TYPE_2_DONE ; jump if 8088
87768776
MOV SI, OFFSET POST_V20 ; if not, is V20
87778777
CPU_CHECK_TYPE_2_DONE:
@@ -8782,8 +8782,8 @@ CPU_CHECK_TYPE_2_DONE:
87828782
; Display FPU/math co-processor
87838783
;
87848784
FPU_CHECK:
8785-
POST_COL_2 POST_FPU, POST_CLR_VAL1 ; SI default to '8087'
8786-
TEST_EFLAG FPU ; was FPU detected?
8785+
POST_COL_2 POST_FPU, POST_CLR_VAL1 ; SI default to '8087'
8786+
TEST_EFLAG FPU ; was FPU detected?
87878787
JNZ FPU_DISP_DONE ; jump to output if FPU
87888788
MOV SI, OFFSET POST_NONE ; otherwise 'None'
87898789
FPU_DISP_DONE:
@@ -8794,7 +8794,7 @@ FPU_DISP_DONE:
87948794
; Display LPT ports
87958795
;
87968796
POST_COL_1 POST_LPT, POST_CLR_VAL2
8797-
GET_EFLAG LPT ; AX = number of LPT ports
8797+
GET_EFLAG LPT ; AX = number of LPT ports
87988798
XCHG AX, CX ; CX = number of ports
87998799
MOV SI, OFFSET LPT_ADDR
88008800
CALL SHOW_PORT_COUNT
@@ -8803,7 +8803,7 @@ FPU_DISP_DONE:
88038803
; Display COM ports
88048804
;
88058805
POST_COL_2 POST_COM, POST_CLR_VAL2
8806-
GET_EFLAG COM ; AX = number of COM ports
8806+
GET_EFLAG COM ; AX = number of COM ports
88078807
XCHG AX, CX ; CX = number of ports
88088808
XOR SI, SI ; OFFSET COM_ADDR = 0000H
88098809

@@ -8824,7 +8824,7 @@ PORT_COUNT_LOOP:
88248824
MOV SI, OFFSET POST_RSEP[1] ; skip leading space in right sep.
88258825
JMP SHORT POST_END_COL_STR ; display end with sep. in SI and RET
88268826
PORT_COUNT_NONE:
8827-
PRINT_SZ POST_NONE ; display 'None'
8827+
PRINT_SZ POST_NONE ; display 'None'
88288828
JMP SHORT POST_END_COL ; display end sep and RET
88298829
SHOW_PORT_COUNT ENDP
88308830

@@ -9002,7 +9002,7 @@ OUTLN_SZ PROC
90029002
; Write a CRLF string to console
90039003
;----------------------------------------------------------------------------;
90049004
CRLF PROC
9005-
PRINT_SZ NL_Z, 1
9005+
PRINT_SZ NL_Z, 1
90069006
RET
90079007
CRLF ENDP
90089008

@@ -10036,7 +10036,7 @@ SHOW_DISK_PARAMS PROC
1003610036
PUSH AX ; save return status in AH
1003710037
JC SHOW_DISK_PARAMS_DONE ; exit if error getting drive
1003810038

10039-
SET_SZ_ATTR POST_CLR_TXT, 1, 1 ; set next char to be text color
10039+
SET_SZ_ATTR POST_CLR_TXT, 1, 1 ; set next char to be text color
1004010040
XCHG AX, DX ; AL = drive ID, DX = # of heads
1004110041

1004210042
;----------------------------------------------------------------------------;
@@ -10160,13 +10160,13 @@ INT_KB_TOGGLE_TURBO ENDP
1016010160
HELLO_RAND_TAGLINE PROC
1016110161
PRINT_SZ TOP_BANNER ; display main banner
1016210162
MOV AX, BP ; get random bits from BP
10163-
POST_FLAG_CLR GRND ; clear random bits from BP
10163+
POST_FLAG_CLR GRND ; clear random bits from BP
1016410164
AND AX, MASK GRND ; mask only low 2 bits
1016510165
XCHG AX, SI ; SI = string offset table
1016610166
SHL SI, 1 ; word align
1016710167
MOV SI, CS:TAGS[SI] ; SI = chosen tagline offset
1016810168
PRINT_SZ SI ; display tagline
10169-
PRINTLN_SZ COPYRIGHT ; display copyright message
10169+
PRINTLN_SZ COPYRIGHT ; display copyright message
1017010170
RET
1017110171

1017210172
;----------------------------------------------------------------------------;

0 commit comments

Comments
 (0)