Category : Pascal Source Code
Archive   : PIBMDOS.ZIP
Filename : TRYMDOS.GLO
(* Global 8088/8086/8028x register definitions *)
(*----------------------------------------------------------------------*)
CONST
(* 8086/8088 hardware flags *)
Carry_Flag = 1;
Parity_Flag = 4;
Aux_Carry_Flag = 16;
Zero_Flag = 64;
Sign_Flag = 128;
TYPE
RegPack = RECORD (* 8086/8088 registers *)
CASE INTEGER OF
1: ( Ax, Bx, Cx, Dx, Bp, Si, Di, Ds, Es, Flags : INTEGER );
2: ( Al, Ah, Bl, Bh, Cl, Ch, Dl, Dh : BYTE );
END;
TYPE
AnyStr = STRING[255];
(*----------------------------------------------------------------------*)
(* Definitions for screen memory reading/writing *)
(*----------------------------------------------------------------------*)
CONST
Color_Screen_Address = $B800 (* Address of color screen *);
Mono_Screen_Address = $B000 (* Address of mono screen *);
Screen_Length = 4000 (* 80 x 25 x 2 = screen area length *);
Graphics_Screen_Length = 16000 (* Length of graphics screen area *);
Max_Saved_Screen = 6 (* Maximum no. of saved screens *);
MedRes_GraphMode = 4 (* Medium resolution graphics *);
HiRes_GraphMode = 6 (* High resolution graphics mode *);
Mono_TextMode = 7 (* Monochrome adapter text mode *);
CRT_Index = $03D4 (* CRT index register *);
CRT_Data = $03D5 (* CRT data register *);
CRT_Mode = $03D8 (* CRT mode register *);
CRT_Color_Select = $03D9 (* CRT color select register *);
CRT_Status = $03DA (* CRT status port *);
CRT_Mode_Byte = $0465 (* CRT mode byte *);
TYPE
(* A screen image *)
Screen_Type = ARRAY[ 1 .. Graphics_Screen_Length ] OF BYTE;
Screen_Ptr = ^Screen_Type;
VAR
Write_Screen_Memory : BOOLEAN (* TRUE to allow direct screen writes *);
Wait_For_Retrace : BOOLEAN (* TRUE to wait for retrace signals *);
(*----------------------------------------------------------------------*)
(* Multitasker definitions *)
(*----------------------------------------------------------------------*)
TYPE
MultiTaskerType = ( MultiTasker_None, DoubleDos, DesqView, TopView,
MSWindows, APXCore, EZDosIt, Concurrent_DOS,
TaskView, MultiLink, Other );
VAR
TimeSharingActive : BOOLEAN (* TRUE if multitasker active *);
(* Which multitasker active *)
MultiTasker : MultiTaskerType;
Virtual_Screen : Screen_Ptr (* Alternate display buffer address *);
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/