Skip to content

Commit 60c4f58

Browse files
committed
SCC Tweaks for Interrupt Mode 2
1 parent 3fe68d3 commit 60c4f58

6 files changed

Lines changed: 51 additions & 3 deletions

File tree

Source/HBIOS/cfg_RCZ180.asm

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,27 @@ SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
257257
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
258258
;
259259
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
260+
SCCDEBUG .SET FALSE ; SCC: ENABLE DEBUG OUTPUT
261+
SCCBOOT .SET 0 ; SCC: REBOOT ON RCV CHAR (0=DISABLED)
262+
SCCCNT .SET 1 ; SCC: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
263+
SCCINTS .SET TRUE ; SCC: INCLUDE SCC INTERRUPT SUPPORT UNDER IM1/2/3
264+
SCCPCLK .SET TRUE ; SCC: USE PROCESSOR CLOCK AS BAUD CLOCK
265+
SCC0MODE .SET SCCMODE_SZ80 ; SCC 0: CHIP TYPE: SCCMODE_[STD|SZ80]
266+
SCC0BASE .SET $A0 ; SCC 0: REGISTERS BASE ADR
267+
SCC0ACLK .SET 7372800 ; SCC 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
268+
SCC0ACFG .SET DEFSERCFG ; SCC 0A: SERIAL LINE CONFIG
269+
SCC0ACTCC .SET -1 ; SCC 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
270+
SCC0BCLK .SET 7372800 ; SCC 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
271+
SCC0BCFG .SET DEFSERCFG ; SCC 0B: SERIAL LINE CONFIG
272+
SCC0BCTCC .SET -1 ; SCC 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
273+
SCC1MODE .SET SCCMODE_SZ80 ; SCC 1: CHIP TYPE: SIOMODE_[STD|SZ80]
274+
SCC1BASE .SET $FF ; SCC 1: REGISTERS BASE ADR
275+
SCC1ACLK .SET 7372800 ; SCC 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
276+
SCC1ACFG .SET DEFSERCFG ; SCC 1A: SERIAL LINE CONFIG
277+
SCC1ACTCC .SET -1 ; SCC 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
278+
SCC1BCLK .SET 7372800 ; SCC 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
279+
SCC1BCFG .SET DEFSERCFG ; SCC 1B: SERIAL LINE CONFIG
280+
SCC1BCTCC .SET -1 ; SCC 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
260281
;
261282
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
262283
;

Source/HBIOS/cfg_RCZ280.asm

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,27 @@ SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
267267
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
268268
;
269269
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
270+
SCCDEBUG .SET FALSE ; SCC: ENABLE DEBUG OUTPUT
271+
SCCBOOT .SET 0 ; SCC: REBOOT ON RCV CHAR (0=DISABLED)
272+
SCCCNT .SET 1 ; SCC: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
273+
SCCINTS .SET TRUE ; SCC: INCLUDE SCC INTERRUPT SUPPORT UNDER IM1/2/3
274+
SCCPCLK .SET TRUE ; SCC: USE PROCESSOR CLOCK AS BAUD CLOCK
275+
SCC0MODE .SET SCCMODE_SZ80 ; SCC 0: CHIP TYPE: SCCMODE_[STD|SZ80]
276+
SCC0BASE .SET $A0 ; SCC 0: REGISTERS BASE ADR
277+
SCC0ACLK .SET 7372800 ; SCC 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
278+
SCC0ACFG .SET DEFSERCFG ; SCC 0A: SERIAL LINE CONFIG
279+
SCC0ACTCC .SET -1 ; SCC 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
280+
SCC0BCLK .SET 7372800 ; SCC 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
281+
SCC0BCFG .SET DEFSERCFG ; SCC 0B: SERIAL LINE CONFIG
282+
SCC0BCTCC .SET -1 ; SCC 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
283+
SCC1MODE .SET SCCMODE_SZ80 ; SCC 1: CHIP TYPE: SIOMODE_[STD|SZ80]
284+
SCC1BASE .SET $FF ; SCC 1: REGISTERS BASE ADR
285+
SCC1ACLK .SET 7372800 ; SCC 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
286+
SCC1ACFG .SET DEFSERCFG ; SCC 1A: SERIAL LINE CONFIG
287+
SCC1ACTCC .SET -1 ; SCC 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
288+
SCC1BCLK .SET 7372800 ; SCC 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
289+
SCC1BCFG .SET DEFSERCFG ; SCC 1B: SERIAL LINE CONFIG
290+
SCC1BCTCC .SET -1 ; SCC 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
270291
;
271292
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
272293
;

Source/HBIOS/scc.asm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,7 @@ SCC_INITGO1:
721721
SCC_INITDEFS:
722722
.DB 4, $44 ; ASYNC MODE, X16, 1 STOP, NO PARITY ; 0100 0100
723723
.DB 1, SCC_WR1VAL ; CONFIGURE INTERRUPTS
724+
.DB 2, $00 ; INTERRUPT VECTOR ; 0000 0000
724725
.DB 3, $C0 ; RX 8 BITS PER CHAR ; 1100 0000
725726
.DB 5, $E2 ; TX 8 BITS PER CHAR ; 1110 0010
726727
.DB 11, $56 ; RTxC VIA BRG ; 0101 0110
@@ -746,7 +747,8 @@ SCC_INITVALS .FILL SCC_INITLEN,0
746747
;
747748
SCC_WR4 .EQU SCC_INITVALS + 1
748749
SCC_WR1 .EQU SCC_WR4 + 2
749-
SCC_WR3 .EQU SCC_WR1 + 2
750+
SCC_WR2 .EQU SCC_WR1 + 2
751+
SCC_WR3 .EQU SCC_WR2 + 2
750752
SCC_WR5 .EQU SCC_WR3 + 2
751753
SCC_WR11 .EQU SCC_WR5 + 2
752754
SCC_WR12 .EQU SCC_WR11 + 2

Source/HBIOS/std.asm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1104,6 +1104,8 @@ INT_PIO1A .EQU 11 ; ZILOG PIO 1, CHANNEL A
11041104
INT_PIO1B .EQU 12 ; ZILOG PIO 1, CHANNEL B
11051105
INT_SIO0 .EQU 13 ; ZILOG SIO 0, CHANNEL A & B
11061106
INT_SIO1 .EQU 14 ; ZILOG SIO 1, CHANNEL A & B
1107+
INT_SCC0 .EQU 13 ; ZILOG SCC 0, CHANNEL A & B ; OVERLAPS SIO0!!!
1108+
INT_SCC1 .EQU 14 ; ZILOG SCC 1, CHANNEL A & B ; OVERLAPS SIO1!!!
11071109
#ENDIF
11081110

11091111
#IF ((CPUFAM == CPU_Z280) & (INTMODE >= 2))
@@ -1125,6 +1127,8 @@ INT_PIO0A .EQU 9 ; ZILOG PIO 0, CHANNEL A
11251127
INT_PIO0B .EQU 10 ; ZILOG PIO 0, CHANNEL B
11261128
INT_PIO1A .EQU 11 ; ZILOG PIO 1, CHANNEL A
11271129
INT_PIO1B .EQU 12 ; ZILOG PIO 1, CHANNEL B
1130+
INT_SCC0 .EQU 13 ; ZILOG SCC 0, CHANNEL A & B
1131+
INT_SCC1 .EQU 14 ; ZILOG SCC 1, CHANNEL A & B
11281132
#ENDIF
11291133

11301134

Source/ver.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#DEFINE RMN 6
33
#DEFINE RUP 0
44
#DEFINE RTP 0
5-
#DEFINE BIOSVER "3.6.0-dev.51"
5+
#DEFINE BIOSVER "3.6.0-dev.52"
66
#define rmj RMJ
77
#define rmn RMN
88
#define rup RUP

Source/ver.lib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ rmn equ 6
33
rup equ 0
44
rtp equ 0
55
biosver macro
6-
db "3.6.0-dev.51"
6+
db "3.6.0-dev.52"
77
endm

0 commit comments

Comments
 (0)