⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 struct.inc

📁 This is a program that I wrote many years ago. It is a floppy disk , disk copy,disk info,and format
💻 INC
字号:
.XLIST

window		STRUCT

cols		word	?		;;8*no. columns
header_size	byte	?
rows		byte	?
win_data	word	?		;;offset of window data
dat_seg		word	?		;;screen data for window
bar_voor	byte	white_f+blue_b	;;choise window color
bar_color	byte	red_b		;;scrol bar color
windo_wid	byte	?		;;width of window
windo_leng	byte	?		;;length of window
sav_buf		word	?		;;dword adres save buffer
		word	?
subrtn		word	0		;;0=no called routine
border_color	byte	white_f+cyan_b
header_color	byte	green_b+blue_f
mouse_state	byte	0		;;status of mouse-initilized to off
delay_time	word	?		;;depends on computer speed

window		ENDS

win_size = Size window + Size window MOD 2

dir		STRUCT

dir_win_wid	word	?																				;;width of directory window
dir_win_leng	byte	?																				;;length of directory window
dir_pos		word	?																				;;center of directory window
scrn_wid	word	0a0h																			;;width of screen in bytes
char_color	byte	?																				;;background color of window
strng_leng	byte	?
hot_out_x	word	?																				;;hot spot to exit x coordinate
hot_out_y	word	?																				;;hot spot to exit y coordiante
scrol_x		word	?																				;;scroll point x coordinate
scrol_y		word	?																				;;scroll point y coordinate
read_new	word	dir_pos-((((dir_win_leng-4)/2)*scrn_wid)+dir_win_leng/2)+1
in_buf_pos	word	?																				;;position if second window for input
string_in	word	?																				;;position of cursor for input
input_buf	word	?																				;;address of input buffer
in_buf_wid	word	64																				;;width of directory string
in_dir_wid	word	dir_win_wid-2																;;interior of window
fil_get_cmp	word	dir_pos+(((dir_win_leng-2)/2)*scrn_wid)-(dir_win_leng/2)
end_pos		word	dir_pos-((((dir_win_leng-4)/2)*scrn_wid)+(dir_win_leng/2))
scrol_place	word	dir_pos+(((dir_win_leng-2)/2)*scrn_wid)+dir_win_wid
exit_place	word	dir_pos-(((dir_win_leng-2)/2)*scrn_wid)-(2*dir_win_wid)+2
sav_place	word	dir_pos-((((dir_win_leng-2)/2)*scrn_wid)+(dir_win_leng/2)+4)
save_buf	word	?																				;;save screen position for second screen
vertical_res	byte	8																				;;veritcal pixel per character in this screen configuratie
bytes_left	word	?																				;;bytes left to left side of interior of window
choise_color	byte	?																				;;color of choise bar
first_read	byte	4eh																			;;ah value for first time to read directory
last_drv	byte	?																				;;last drive in system
first_drv	byte	'A'																			;;first disk drive letter
disk_trans	dword	?																				;;disk transfer address
file_nam_buf	word	?																				;;address of choise buffer
dir_delay	word	?       																		;;scroll and other delays
mouse_present	byte    0       																	;;Is mouse present?

dir		ENDS

dir_win_size = Size dir + Size dir MOD 2

put_win		STRUCT

skip_next	word	?																				;;go to next line
wid_scrn	word	?																				;;width of character screen in bytes
mid_put		word	?																				;;middle of window
put_color	byte	?																				;;color of window
put_delay	word	?																				;;delays

put_win		ENDS

put_size = Size put_win + Size put_win MOD 2

lo_mem		STRUCT

com1		word	?
com2		word	?
com3		word	?
com4		word	?
lpt1		word	?
lpt2		word	?
lpt3		word	?
lpt4		word	?
equp_lst	word	?
		byte	?
mem_size	word	?
		word	?
shift_stat	byte	?
ext_shft_stat	byte	?
alt_keypad	byte	?
key_buf_head	word	?
key_buf_tail	word	?
key_buf		byte	20h	Dup(?)
dd_recal_stat	byte	?
dd_motor_stat	byte	?
motor_count	byte	?
last_dd_stat	byte	?
dd_cont_stat	byte	7	Dup(?)
display_mode	byte	?
display_column	word	?
regen_leng	word	?
regen_start	word	?
cursor_pos	word	8	Dup(?)
cursor_end	byte	?
cursor_start	byte	?
display_page	byte	?
crt_address	word	?
mode_control	byte	?
color_select	byte	?
adrs_prot_ret	word	?
seg_prot_ret	word	?
		byte	?
timer_count	dword	?
timer_overflow	byte	?
break_key	byte	?
reset_state	word	?
fdisk_stat	byte	?
num_fdisk	byte	?
		byte	?
		byte	?
timeout_print	byte	4	Dup(?)
timeout_serial	byte	4	Dup(?)
keybuf_start	word	?
keybuf_end	word	?
display_rows	byte	?
char_height	word	?
video_state	word	?
		word	?
dd_media_cont	byte	?
fd_cont_stat	byte	?
fd_err_stat	byte	?
fd_int_stat	byte	?
		byte	?
dd0_med_stat	byte	?
dd1_med_stat	byte	?
		word	?
dd0_track	byte	?
dd1_track	byte	?
kb_stat		byte	?
kb_led_stat	byte	?
wait_point	dword	?
wait_count	dword	?
wait_active	byte	?
		byte	7	Dup(?)
ega_parm	dword	?
		byte	44h	Dup(?)
ica		byte	10h	Dup(?)
print_scrn_stat	byte	?
		byte	3	Dup(?)
phant_drv_flg	byte	?

lo_mem		ENDS

emm_mov		STRUCT

region_length	dword	?
source_mem_type	byte	?
source_handle	word	?
source_mem_ofst	word	0
source_page	word	?
dest_mem_type	byte	?
dest_handle	word	?
dest_mem_ofst	word	0
dest_page	word	?

emm_mov		ENDS

ExtendMove	struct

TransferBytes	dword	?	;; 32-bit number of bytes to transfer
SourceHandle	word	?	;; Handle of source block
SourceOffset	dword	?	;; 32-bit offset into source
DestHandle	word	?	;; Handle ofdestination block
DestOffset	dword	?	;; 32-bit offset into destination block

ExtendMove	ends

boot_data	STRUCT

bytes_sector	word	200h
sectors_cluster	byte	1
reserved_sector	word	1
fat_tables	byte	2
dir_entries	word	?
logical_sectors	word	?
descriptor_byte	byte	0ffh
fat_sectors	word	2
sector_track	word	8
number_heads	word	2
hidden_sectors	word	0

boot_data	ENDS

psp             STRUCT

psp_int20       byte	0cdh,20h	;;int 20h instruction
psp_top         word	?		;;top of memory in paragraph
psp_reserv1     byte	6       Dup(?)  ;;reserved
psp_termIP      word	?		;;terminate address IP
psp_termCS      word	?		;;terminate CS
psp_ctlbrkIP    word	?		;;CTRL BREAK address IP
psp_ctlbrkCS    word	?		;;CTRL BREAK CS
psp_critIP      word	?		;;Critical error address IP
psp_critCS      word	?		;;Critical error CS
psp_reserv2     byte	22      Dup(?)  ;;reserved
psp_enviorment	word	?		;;Enviorment segment address
psp_reserv3     byte	34      Dup(?)  ;;reserved
psp_dos         byte	0cdh,21h        ;;dos function call
psp_reserv4     byte	10      Dup(?)  ;;reserved
psp_fcb1        byte	16      Dup(?)  ;;FCB1
psp_fcb2        byte	20      Dup(?)  ;;FCB2
psp_paramlen    byte	?               ;;length of command line
psp_parms       byte	127     Dup(?)  ;;command line

psp             ENDS

list_of_lists	STRUCT

first_drv_parm	dword	?		;;pointer to first DOS drive parameter block
list_file_tabs	dword	?		;;pointer to list of DOS file tables
CLOCK_drv	dword	?		;;pointer to CLOCK$ device
CON_drv		dword	?		;;pointer to CON device
num_of_drives	byte	?		;;number of drives in system
bytes_block	word	?		;;maximum bytes per block of any block device
first_dsk_buf	dword	?		;;pointer to first disk buffer
NUL_dev_head	byte	18	Dup(0)	;;begining of NUL device header
joined_drv	byte	?		;;number of joined drives?
spec_prog_nam	word	?		;;pointer special program names
IFS_prog	dword	?		;;pointer to resident IFS utility functions
IFS_drivers	dword	?		;;pointer to chain of IFS drivers
BUFFERx		word	?		;;the x in buffers=x,y
BUFFERy		word	?		;;the y in buffers=x,y
boot_drive	byte	?		;;boot drive (1=a:)
mach_type	byte	?		;;1 if 80386+ otherwise 0 ?
extend_mem	word	?		;;size in kilobytes of extended memory

list_of_lists	ENDS

pcx_header	STRUCT

manufacturer	byte	?	;;Zsoft .PCX
version		byte	?	;;0-v2.5;2-v2.8 w/palette;3-wo/palette;5-v3.0
encoding	byte	?	;;run leng encoding
bits_per_pixel	byte	?
window		word	4	Dup(?)
horiz_res	word	?
vert_res	word	?
color_map	byte	48	Dup(?)
		byte	?
number_planes	byte	?
bytes_per_line	word	?
palette_info	word	?
		byte	58	Dup(?)

pcx_header	ENDS

vesa_info	STRUCT

mode_attributes		word	?
wina_attributes		byte	?
winb_attributes		byte	?
win_granularity		word	?
win_size		word	?
wina_segment		word	?
winb_segment		word	?
win_func_ptr		dword	?
bytes_scan_line		word	?
x_resolution		word	?
y_resolution		word	?
x_char_size		byte	?
y_char_size		byte	?
planes			byte	?
bits_per_pixel		byte	?
banks			byte	?
mem_model		byte	?
bank_size		byte	?
red_mask_size		byte	?
red_field_pos		byte	?
green_mask_size		byte	?
green_field_pos		byte	?
blue_mask_size		byte	?
blue_field_pos		byte	?
reserved_mask_size	byte	?
reserved_field_pos	byte	?
direct_color_info	byte	?

vesa_info	ENDS

	name	cma

dev_init_hdr	STRUCT

packet_leng	byte	?
dev_unit	byte	?
dev_cmd		byte	?
dev_status	word	?
		byte	8	Dup(?)
num_units	byte	?
break_adrs	word	?
break_seg	word	?
BPB_adrs	word	?
BPB_seg		word	?
frst_aval	byte	?

dev_init_hdr	ENDS

.LIST

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -