60 lines
No EOL
1.3 KiB
NASM
60 lines
No EOL
1.3 KiB
NASM
main_menu:
|
|
; TODO: Some kinda demoscene shit here
|
|
|
|
mov ah, 2 ; move cursor
|
|
xor bh, bh ; page number is 0 in graphics modes
|
|
; 0,0 is top left
|
|
xor dx, dx
|
|
int 0x10
|
|
|
|
mov ah, 9
|
|
mov dx, crack_message
|
|
int 0x21
|
|
|
|
.loop:
|
|
call read_key
|
|
jnc .no_key
|
|
cmp ax, [key_codes.start_game]
|
|
je .done
|
|
|
|
cmp ax, [key_codes.exit]
|
|
jne .not_exit
|
|
pop ax ; get rid of return address
|
|
jmp game_end
|
|
.not_exit:
|
|
.no_key:
|
|
|
|
hlt
|
|
jmp .loop
|
|
|
|
.done:
|
|
ret
|
|
|
|
section data
|
|
crack_message:
|
|
db ' Boreal Crew presents:', 13, 10
|
|
db ' T', 132, 'ytyyp', 132, ' menn', 132, ' nopeasti', 13, 10
|
|
db 13, 10
|
|
db 'Nobody', "'", 'd craxxored this old game yet, so'
|
|
db 'we gave it a go!', 13, 10
|
|
db 13, 10
|
|
db 'The retail version plays too fast ', "'", 'cos', 13, 10
|
|
db 'Egisoft used a fixed delay tuned for', 13, 10
|
|
db '286s. We fixed the delay; now you too', 13, 10
|
|
db 'can play it again on 90s hardware.', 13, 10
|
|
db 13, 10
|
|
db 'Reversing : Volvh', 13, 10
|
|
db 'Trainer : Ruuri', 13, 10
|
|
db 'Repack : Norty', 13, 10
|
|
db 13, 10
|
|
db 13, 10
|
|
db ' (This', "'", 'll look like a proper in-universe'
|
|
db ' cracktro once the game is finished.)', 13, 10
|
|
db 13, 10
|
|
db 13, 10
|
|
db 'Trainer keys:', 13, 10
|
|
db ' F1 - Start game', 13, 10
|
|
db ' F2 - Toggle delay fix', 13, 10
|
|
db 13, 10
|
|
db ' F10 - End game', '$'
|
|
section code |