rendered paste bodyDATA;
alloc reader;
alloc time1;
alloc time2;
alloc keyboard;
alloc cursor;
error:
db 'Error. Program Terminated.',0;
Loading:
db 'Booting...',0;
Terminated:
db 'Program Terminated.',0;
cWrite:
mov cursor,65636;
mov port6,cursor;
mov #cursor,35;
inc cursor;
mov #cursor,999090;
inc cursor;
WriteLoop:
cmp #esi,0;
je Wend;
mov #cursor,#esi;
inc cursor;
mov #cursor,edx;
inc cursor;
inc esi;
jmp WriteLoop;
Wend:
add cursor,32;
mov port6,0;
ret
CODE;
Boot:
mov cursor,65636;
mov #reader,1;
jmp Scan;
Load:
mov esi,Loading;
mov edx,000090;
call cWrite;
jmp Terminate;
Scan:
cmp #reader,1;
je ScanPort1;
ScanPort1:
mov port0,7464;
timer time1;
ScanLoop:
timer time2;
cmp port0,7664;
je ScanPort1Suc;
sub time2,time1;
// cmp time2,10;
// jge ScanPort1Fail;
// jmp ScanLoop;
jmp ScanPort1Suc;
ScanPort1Suc:
mov keyboard,65537;
jmp Load;
ScanPort1Fail:
mov esi,error;
mov edx,1000900;
call cWrite;
jmp Terminate;
Terminate:
mov esi,Terminated;
mov edx,090999;
add cursor,32;
call cWrite;