📄 cdplayer1.inc
字号:
;=========================================================;
; CdPlayer 11/12/03 ;
;---------------------------------------------------------;
; DOS EXTREME OS V0.01 ;
; by Craig Bamford. ;
; ;
; Text mode CdPlayer. ;
;=========================================================;
Cd_player:
mov byte [command],Atapi_Packet_Command
call cls_text
mov [game_write],1
mov dword[LoadAdress],0x200000-54
;add byte[bpp],1
key_loop:
cmp [keybuffer],0
je key_loop
mov byte [es:0xB809C]," "
cmp [keybuffer],"A"
jne key1
call Get_file_on_cd_info
jc printvbad
;***********************************
; mov eax,ebx
; push ebx
mov word[counter],450
call Read_cd
; mov esi,0x200000
; mov eax,dword[esi+16]
; call write_hex32
; mov esi,nextline
; call print_string
; mov esi,0x200000
; mov eax,dword[esi+10]
;call write_hex32
;***********************************
;jmp printvbad
kelly:
xor ebx,ebx
cmp [keybuffer],"B"
jne kelly
mov ax,linear_sel
mov es,ax
xor edi,edi
mov edi,[ModeInfo_PhysBasePtr]
mov esi,0x200000
add esi,640*3*479
add esi,ebx
;add esi,53
; add esi,640*3
; mov ecx,640*480*3 ;0x38400
;mov eax, [color]
; cld
;cli
; mov bx,480
bbe11:
; sub esi,640*3
; mov cx,640*3
bbe22:
; movsb
; loop bbe22
; sub esi,640*3
; sub bx,1
; cmp bx,0
; jne bbe11
; sti
;cli
;**********************************
newln:
;cld
push esi
push edi
mov ecx,640 ;640*3
cld
cli
tot:
movsd
dec esi
loop tot
sti
pop edi
pop esi
sub esi,640*3
add edi,640*4
cmp esi,0x200000
jge newln
; sti
;***********************************
mov [keybuffer],0
jmp key_loop
;******************************
; mov esi,TmpFileName1
; call print_string
; mov esi,nextline
; call print_string
; mov esi,WeHaveFoundFile
; call print_string
jmp key1
printvbad:
; mov esi,WeHaveNotFoundFile
; call print_string
key1:
mov [keybuffer],0
jmp key_loop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -