Rev 29 | Rev 40 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 29 | Rev 34 | ||
---|---|---|---|
Line 414... | Line 414... | ||
414 | mov si, time_msg-0x10000 |
414 | mov si, time_msg-0x10000 |
415 | call print |
415 | call print |
416 | ; get start time |
416 | ; get start time |
417 | call .gettime |
417 | call .gettime |
418 | mov [.starttime-0x10000], eax |
418 | mov [.starttime-0x10000], eax |
419 | ; set timer interrupt handler |
- | |
420 | cli |
- | |
421 | push 0 |
- | |
422 | pop es |
- | |
423 | mov eax, [es:8*4] |
- | |
424 | mov [.oldtimer-0x10000], eax |
- | |
425 | mov word [es:8*4], .newtimer-0x10000 |
419 | mov word [.timer-0x10000], .newtimer-0x10000 |
426 | mov [es:8*4+2], cs |
420 | mov word [.timer-0x10000+2], cs |
427 | .printcfg: |
421 | .printcfg: |
428 | _setcursor 9,0 |
422 | _setcursor 9,0 |
429 | mov si, current_cfg_msg-0x10000 |
423 | mov si, current_cfg_msg-0x10000 |
430 | call print |
424 | call print |
431 | mov si, curvideo_msg-0x10000 |
425 | mov si, curvideo_msg-0x10000 |
Line 485... | Line 479... | ||
485 | mov si, [preboot_device_msgs-0x10000+eax*2] |
479 | mov si, [preboot_device_msgs-0x10000+eax*2] |
486 | call printplain |
480 | call printplain |
487 | .wait: |
481 | .wait: |
488 | ; empty BIOS keyboard buffer |
482 | ; empty BIOS keyboard buffer |
489 | _setcursor 25,0 ; out of screen |
483 | _setcursor 25,0 ; out of screen |
- | 484 | ; set timer interrupt handler |
|
- | 485 | cli |
|
- | 486 | push 0 |
|
- | 487 | pop es |
|
- | 488 | mov eax, [es:8*4] |
|
- | 489 | mov [.oldtimer-0x10000], eax |
|
- | 490 | mov eax, [.timer-0x10000] |
|
- | 491 | mov [es:8*4], eax |
|
- | 492 | sti |
|
490 | ; wait for keypressed |
493 | ; wait for keypressed |
491 | mov ah, 0 |
494 | mov ah, 0 |
492 | int 16h |
495 | int 16h |
493 | push ax |
496 | push ax |
494 | ; restore timer interrupt |
497 | ; restore timer interrupt |
495 | push 0 |
498 | push 0 |
496 | pop es |
499 | pop es |
497 | mov ecx, [.oldtimer-0x10000] |
500 | mov ecx, [.oldtimer-0x10000] |
498 | mov [es:8*4], ecx |
501 | mov [es:8*4], ecx |
- | 502 | mov [.timer-0x10000], ecx |
|
499 | _setcursor 7,0 |
503 | _setcursor 7,0 |
500 | mov si, space_msg-0x10000 |
504 | mov si, space_msg-0x10000 |
501 | call printplain |
505 | call printplain |
502 | pop ax |
506 | pop ax |
503 | ; switch on key |
507 | ; switch on key |
Line 565... | Line 569... | ||
565 | _setcursor 12,0 |
569 | _setcursor 12,0 |
566 | jmp .d |
570 | jmp .d |
567 | .oldtimer dd ? |
571 | .oldtimer dd ? |
568 | .starttime dd ? |
572 | .starttime dd ? |
569 | .bSettingsChanged db ? |
573 | .bSettingsChanged db ? |
- | 574 | .timer dd ? |
|
570 | .loader_block dd 0 |
575 | .loader_block dd 0 |
571 | .gettime: |
576 | .gettime: |
572 | mov ah, 0 |
577 | mov ah, 0 |
573 | int 1Ah |
578 | int 1Ah |
574 | xchg ax, cx |
579 | xchg ax, cx |
Line 654... | Line 659... | ||
654 | cmp al, 'n' |
659 | cmp al, 'n' |
655 | jz .loadc |
660 | jz .loadc |
656 | cmp al, 'y' |
661 | cmp al, 'y' |
657 | jnz .waityn |
662 | jnz .waityn |
658 | call putchar |
663 | call putchar |
- | 664 | mov byte [space_msg-0x10000+80], 186 |
|
659 | pop eax |
665 | pop eax |
660 | push cs |
666 | push cs |
661 | push .cont-0x10000 |
667 | push .cont-0x10000 |
662 | push eax |
668 | push eax |
663 | retf |
669 | retf |
664 | .loadc: |
670 | .loadc: |
665 | pop eax |
671 | pop eax |
666 | .cont: |
672 | .cont: |
667 | push cs |
673 | push cs |
668 | pop ds |
674 | pop ds |
- | 675 | mov byte [space_msg-0x10000+80], 0 |
|
669 | _setcursor 15,0 |
676 | _setcursor 15,0 |
670 | mov si, space_msg-0x10000 |
677 | mov si, space_msg-0x10000 |
671 | call printplain |
678 | call printplain |
672 | _setcursor 15,0 |
679 | _setcursor 15,0 |
673 | .load: |
680 | .load: |