WDOS Software
This commit is contained in:
parent
9775381cf1
commit
630cdefa10
|
|
@ -0,0 +1,238 @@
|
||||||
|
;**************************************************************************
|
||||||
|
;**************************************************************************
|
||||||
|
;
|
||||||
|
; WDOS-BIOS - Quelle (C) ZFT/KEAW Abt. Basissoftware - 1988
|
||||||
|
; Programm: dseg.asm
|
||||||
|
;
|
||||||
|
; Bearbeiter : P. Hoge
|
||||||
|
; Datum : 24.1.89
|
||||||
|
; Version : 1.1
|
||||||
|
;
|
||||||
|
;**************************************************************************
|
||||||
|
;
|
||||||
|
; BIOS-Datensegment
|
||||||
|
;
|
||||||
|
;**************************************************************************
|
||||||
|
;**************************************************************************
|
||||||
|
|
||||||
|
;-------------------------------------------
|
||||||
|
; INTERRUPT LOCATIONS
|
||||||
|
;-------------------------------------------
|
||||||
|
.PUBLIC DISK_POINTER
|
||||||
|
.PUBLIC HF_TBL_VEC
|
||||||
|
.PUBLIC HF1_TBL_VEC
|
||||||
|
.PUBLIC BOOT_LOCN
|
||||||
|
|
||||||
|
.ORG 0:0 ;ABS0 SEGMENT
|
||||||
|
|
||||||
|
STG_LOC0 ;BYTE
|
||||||
|
ORG 1EH*4
|
||||||
|
DISK_POINTER ;DWORD
|
||||||
|
ORG 41H*4
|
||||||
|
HF_TBL_VEC ;DWORD
|
||||||
|
ORG 46H*4
|
||||||
|
HF1_TBL_VEC ;DWORD
|
||||||
|
|
||||||
|
ORG 400H
|
||||||
|
DATA_AREA ;BYTE ;ABSOLUTE LOCATION OF DATA SEGMENT
|
||||||
|
DATA_WORD ;WORD
|
||||||
|
|
||||||
|
ORG 0500H
|
||||||
|
MFG_TEST_RTN ;FAR
|
||||||
|
|
||||||
|
ORG 7C00H
|
||||||
|
BOOT_LOCN ;FAR
|
||||||
|
|
||||||
|
;-------------------------------------------
|
||||||
|
;STACK -- USED DURING INITIALIZATION ONLY
|
||||||
|
;-------------------------------------------
|
||||||
|
.ORG 30:0H ;STACK SEGMENT
|
||||||
|
|
||||||
|
.PUBLIC TOS
|
||||||
|
|
||||||
|
BLKW 128
|
||||||
|
TOS BLKW 0
|
||||||
|
|
||||||
|
;-------------------------------------------
|
||||||
|
; ROM BIOS DATA AREAS
|
||||||
|
;-------------------------------------------
|
||||||
|
.ORG 40:0H ;DATA SEGMENT
|
||||||
|
|
||||||
|
.PUBLIC EQUIP_FLAG
|
||||||
|
.PUBLIC MEMORY_SIZE
|
||||||
|
|
||||||
|
DATA_BASE
|
||||||
|
RS232_BASE BLKW 4 ;ADDRESSES OF RS232 ADAPTERS
|
||||||
|
PRINTER_BASE BLKW 4 ;ADDRESSES OF PRINTERS
|
||||||
|
EQUIP_FLAG BLKW 1 ;INSTALLED HARDWARE
|
||||||
|
MFG_TST BLKB 1 ;INITIALIZATION FLAG
|
||||||
|
MEMORY_SIZE BLKW 1 ;MEMORY SIZE IN K BYTES
|
||||||
|
MFG_ERR_FLAG BLKB 1 ;SCRATCHPAD FOR MANUFACTURING
|
||||||
|
BLKB 1 ;ERROR CODES
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; KEYBOARDS DATA AREAS
|
||||||
|
;----------------------------------------
|
||||||
|
.PUBLIC KB_FLAG
|
||||||
|
.PUBLIC KB_FLAG_1
|
||||||
|
.PUBLIC ALT_INPUT
|
||||||
|
.PUBLIC BUFFER_HEAD
|
||||||
|
.PUBLIC BUFFER_TAIL
|
||||||
|
.PUBLIC KB_BUFFER
|
||||||
|
|
||||||
|
KB_FLAG BLKB 1
|
||||||
|
KB_FLAG_1 BLKB 1 ;SECOND BYTE OF KEYBOARD STATUS
|
||||||
|
ALT_INPUT BLKB 1 ;STORAGE FOR ALTERNATE KEYPAD ENTRY
|
||||||
|
BUFFER_HEAD BLKW 1 ;POINTER TO HEAD OF KEYBOARD BUFFER
|
||||||
|
BUFFER_TAIL BLKW 1 ;POINTER TO TAIL OF KEYBOARD BUFFER
|
||||||
|
KB_BUFFER BLKW 16 ;ROOM FOR 15 ENTRIES
|
||||||
|
KB_BUFFER_END BLKW 0
|
||||||
|
|
||||||
|
;---------------------------------------
|
||||||
|
; DISKETTE DATA AREAS
|
||||||
|
;---------------------------------------
|
||||||
|
.PUBLIC SEEK_STATUS
|
||||||
|
.PUBLIC DISKETTE_STATUS
|
||||||
|
|
||||||
|
SEEK_STATUS BLKB 1
|
||||||
|
MOTOR_STATUS BLKB 1
|
||||||
|
MOTOR_COUNT BLKB 1
|
||||||
|
DISKETTE_STATUS BLKB 1 ;RETURN CODE STATUS BYTE
|
||||||
|
CMD_BLOCK
|
||||||
|
HD_ERROR
|
||||||
|
NEC_STATUS BLKB 7
|
||||||
|
|
||||||
|
;---------------------------------------
|
||||||
|
.PUBLIC CRT_MODE
|
||||||
|
.PUBLIC CRT_COLS
|
||||||
|
.PUBLIC CRT_LEN
|
||||||
|
.PUBLIC CURSOR_POSN
|
||||||
|
.PUBLIC CURSOR_MODE
|
||||||
|
.PUBLIC ADDR_6845
|
||||||
|
|
||||||
|
CRT_MODE BLKB 1 ;CURRENT CRT MODE
|
||||||
|
CRT_COLS BLKW 1 ;NUMBER OF COLUMNS ON SCREEN
|
||||||
|
CRT_LEN BLKW 1 ;LENGTH OF REGEN IN BYTES
|
||||||
|
CRT_START BLKW 1 ;STARTING ADDRESS IN REGEN BUFFER
|
||||||
|
CURSOR_POSN BLKW 8 ;CURSOR FOR EACH OF UP TO 8 PAGES
|
||||||
|
CURSOR_MODE BLKW 1 ;CURRENT CURSOR MODE SETTING
|
||||||
|
ACTIVE_PAGE BLKB 1 ;CURRENT PAGE BEING DISPLAYED
|
||||||
|
ADDR_6845 BLKW 1 ;BASE ADDRESS FOR ACTIVE DISPLAY CARD
|
||||||
|
CRT_MODE_SET BLKB 1 ;CURRENT SETTING OF THE 3x8 REGISTER
|
||||||
|
CRT_PALLETTE BLKB 1 ;CURRENT PALLETTE SETTING COLOR CARD
|
||||||
|
|
||||||
|
;---------------------------------------
|
||||||
|
; POST DATA AREA
|
||||||
|
;---------------------------------------
|
||||||
|
.PUBLIC IO_ROM_INIT
|
||||||
|
|
||||||
|
IO_ROM_INIT BLKW 1 ;PNTR TO OPTIONAL I/O ROM INIT ROUTINE
|
||||||
|
IO_ROM_SEG BLKW 1 ;POINTER TO IO ROM SEGMENT
|
||||||
|
INTR_FLAG BLKB 1 ;FLAG TO INDICATE AN INTERRUPT HAPPEND
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; TIMER DATA AREA
|
||||||
|
;----------------------------------------
|
||||||
|
.PUBLIC TIMER_LOW
|
||||||
|
.PUBLIC TIMER_HIGH
|
||||||
|
.PUBLIC TIMER_OFL
|
||||||
|
|
||||||
|
TIMER_LOW BLKW 1 ;LOW WORD OF TIMER COUNT
|
||||||
|
TIMER_HIGH BLKW 1 ;HIGH WORD OF TIMER COUNT
|
||||||
|
TIMER_OFL BLKB 1 ;TIMER HAS ROLLED OVER SINCE LAST READ
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; SYSTEM DATA AREA
|
||||||
|
;----------------------------------------
|
||||||
|
.PUBLIC BIOS_BREAK
|
||||||
|
.PUBLIC RESET_FLAG
|
||||||
|
|
||||||
|
BIOS_BREAK BLKB 1 ;BIT 7-1 IF BREAK KEY HAS BEEN HIT
|
||||||
|
RESET_FLAG BLKW 1 ;WORD=1234H IF KEYBOARD RESET UNDERWAY
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; HARD FILE DATA AREAS
|
||||||
|
;----------------------------------------
|
||||||
|
DISK_STATUS1 BLKB 1
|
||||||
|
HF_NUM BLKB 1
|
||||||
|
CONTROL_BYTE BLKB 1
|
||||||
|
PORT_OFF BLKB 1
|
||||||
|
|
||||||
|
;-------------------------------------------------
|
||||||
|
; PRINTER AND RS232 TIME-OUT VARIABLES
|
||||||
|
;-------------------------------------------------
|
||||||
|
.PUBLIC PRINT_TIM_OUT
|
||||||
|
|
||||||
|
PRINT_TIM_OUT BLKB 4
|
||||||
|
RS232_TIM_OUT BLKB 4
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; ADDITIONAL KEYBOARD DATA AREA
|
||||||
|
;----------------------------------------
|
||||||
|
.PUBLIC BUFFER_START
|
||||||
|
.PUBLIC BUFFER_END
|
||||||
|
|
||||||
|
BUFFER_START BLKW 1
|
||||||
|
BUFFER_END BLKW 1
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; ADDITIONAL FLOPPY DATA
|
||||||
|
;----------------------------------------
|
||||||
|
ORG 8BH
|
||||||
|
|
||||||
|
LASTRATE BLKB 1 ;LAST DATA RATE SELECTED
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; ADDITIONAL HARD FILE DATA
|
||||||
|
;----------------------------------------
|
||||||
|
HF_STATUS BLKB 1 ;STATUS REGISTER
|
||||||
|
HF_ERROR BLKB 1 ;ERROR REGISTER
|
||||||
|
HF_INT_FLAG BLKB 1 ;HARD FILE INTERRUPT FLAG
|
||||||
|
HF_CNTRL BLKB 1 ;COMBO HARD FILE/FLOPPY CARD BIT 0=1
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; ADDITIONAL DISKETTE AREA
|
||||||
|
;----------------------------------------
|
||||||
|
DSK_STATE BLKB 1 ;DRIVE 0 MEDIA STATE
|
||||||
|
BLKB 1 ;DRIVE 1 MEDIA STATE
|
||||||
|
BLKB 1 ;DRIVE 0 OPERATION START STATE
|
||||||
|
BLKB 1 ;DRIVE 1 OPERATION START STATE
|
||||||
|
DSK_TRK BLKB 1 ;DRIVE 0 PRESENT CYLINDER
|
||||||
|
BLKB 1 ;DRIVE 1 PRESENT CYLINDER
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; ADDITIONAL KEYBOARD LED FLAG
|
||||||
|
;----------------------------------------
|
||||||
|
.PUBLIC KB_EXT
|
||||||
|
.PUBLIC KB_FLAG_2
|
||||||
|
|
||||||
|
KB_EXT BLKB 1
|
||||||
|
KB_FLAG_2 BLKB 1
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; REAL TIME CLOCK DATA AREA
|
||||||
|
;----------------------------------------
|
||||||
|
USER_FLAG BLKW 1 ;OFFSET ADDR OF USERS WAIT FLAG
|
||||||
|
USER_FLAG_SEG BLKW 1 ;SEG ADDR OF USER WAIT FLAG
|
||||||
|
RTC_LOW BLKW 1 ;LOW WORD OF USER WAIT FLAG
|
||||||
|
RTC_HIGH BLKW 1 ;HIGH WORD OF USER WAIT FLAG
|
||||||
|
RTC_WAIT_FLAG BLKB 1 ;WAIT ACTIVE FLAG
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; EXTRA DATA AREA
|
||||||
|
;----------------------------------------
|
||||||
|
.ORG 50:0H ;XXDATA SEGMENT
|
||||||
|
|
||||||
|
.PUBLIC STATUS_BYTE
|
||||||
|
|
||||||
|
STATUS_BYTE BLKB 1
|
||||||
|
|
||||||
|
;----------------------------------------
|
||||||
|
; VIDEO DISPLAY BUFFER
|
||||||
|
;----------------------------------------
|
||||||
|
;.ORG B000:0H ;VIDEO_RAM SEGMENT
|
||||||
|
|
||||||
|
;REGEN BLKB 0
|
||||||
|
;REGENW BLKW 0
|
||||||
|
; BLKB 1024
|
||||||
|
.END
|
||||||
Loading…
Reference in New Issue