|
|
@ -66,18 +66,79 @@ print_projects:
|
|
|
|
lea di, [projects] ; RDI now has the address of the array
|
|
|
|
lea di, [projects] ; RDI now has the address of the array
|
|
|
|
|
|
|
|
|
|
|
|
.loop
|
|
|
|
.loop
|
|
|
|
|
|
|
|
mov [storebx], bx
|
|
|
|
mov ah, 02h
|
|
|
|
mov ah, 02h
|
|
|
|
;mov bh, 0h
|
|
|
|
;mov bh, 0h
|
|
|
|
add dh, 1h ;move cursor down
|
|
|
|
add dh, 1h ;move cursor down
|
|
|
|
|
|
|
|
mov dl, 4h;
|
|
|
|
int 10h
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov ax, [currentselection]
|
|
|
|
|
|
|
|
cmp ax, bx
|
|
|
|
|
|
|
|
jne .normalbackground
|
|
|
|
|
|
|
|
mov ah, 06h ;draw rect on background
|
|
|
|
|
|
|
|
mov ch, dh
|
|
|
|
|
|
|
|
mov cl, 4h
|
|
|
|
|
|
|
|
mov dl, 24h
|
|
|
|
|
|
|
|
mov bh, 7Ch
|
|
|
|
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
jmp .drawstring
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.normalbackground
|
|
|
|
|
|
|
|
mov ah, 06h ;draw rect on background
|
|
|
|
|
|
|
|
mov ch, dh
|
|
|
|
|
|
|
|
mov cl, 4h
|
|
|
|
|
|
|
|
mov dl, 24h
|
|
|
|
|
|
|
|
mov bh, 1Eh
|
|
|
|
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
jmp .drawstring
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.drawstring
|
|
|
|
|
|
|
|
mov bx, [storebx]
|
|
|
|
mov si, [di+bx] ; Get the address of string1
|
|
|
|
mov si, [di+bx] ; Get the address of string1
|
|
|
|
call print
|
|
|
|
call print
|
|
|
|
add bx, 8
|
|
|
|
add bx, 8
|
|
|
|
cmp bx, 48
|
|
|
|
cmp bx, 48
|
|
|
|
jne .loop
|
|
|
|
jne .loop
|
|
|
|
|
|
|
|
|
|
|
|
jmp exit
|
|
|
|
jmp waitforkey
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
waitforkey:
|
|
|
|
|
|
|
|
mov ah, 0x00
|
|
|
|
|
|
|
|
int 0x16
|
|
|
|
|
|
|
|
cmp ah, 1Fh
|
|
|
|
|
|
|
|
je .up
|
|
|
|
|
|
|
|
cmp ah, 11h
|
|
|
|
|
|
|
|
je .down
|
|
|
|
|
|
|
|
jmp waitforkey
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.up
|
|
|
|
|
|
|
|
mov ax, [currentselection]
|
|
|
|
|
|
|
|
cmp ax, 40
|
|
|
|
|
|
|
|
je .reup
|
|
|
|
|
|
|
|
add ax, 8
|
|
|
|
|
|
|
|
mov [currentselection], ax
|
|
|
|
|
|
|
|
jmp print_projects
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.reup
|
|
|
|
|
|
|
|
mov ax, 0
|
|
|
|
|
|
|
|
mov [currentselection], ax
|
|
|
|
|
|
|
|
jmp print_projects
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.down
|
|
|
|
|
|
|
|
mov ax, [currentselection]
|
|
|
|
|
|
|
|
cmp ax, 0
|
|
|
|
|
|
|
|
je .redown
|
|
|
|
|
|
|
|
sub ax, 8
|
|
|
|
|
|
|
|
mov [currentselection], ax
|
|
|
|
|
|
|
|
jmp print_projects
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.redown
|
|
|
|
|
|
|
|
mov ax, 40
|
|
|
|
|
|
|
|
mov [currentselection], ax
|
|
|
|
|
|
|
|
jmp print_projects
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print:
|
|
|
|
print:
|
|
|
@ -103,3 +164,6 @@ project5 db "Angeliki / Voices", 0x0A,0
|
|
|
|
project6 db "Zalan / Phantasmagoria", 0x0A,0
|
|
|
|
project6 db "Zalan / Phantasmagoria", 0x0A,0
|
|
|
|
|
|
|
|
|
|
|
|
projects dq project1, project2, project3, project4, project5, project6
|
|
|
|
projects dq project1, project2, project3, project4, project5, project6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
currentselection dw 0
|
|
|
|
|
|
|
|
storebx dw 0
|
|
|
|