Changeset 589 in xtideuniversalbios for trunk/Assembly_Library/Inc
- Timestamp:
- May 22, 2016, 12:26:57 PM (9 years ago)
- Location:
- trunk/Assembly_Library/Inc
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Inc/CgaSnow.inc
r52 r589 1 ; File name : CgaSnow.inc 2 ; Project name : AssemblyLibrary 3 ; Created date : 8.10.2010 4 ; Last update : 11.10.2010 5 ; Author : Tomi Tilli 1 ; Project name : Assembly Library 6 2 ; Description : Macros for preventing CGA snow. 7 3 %ifndef CGASNOW_INC … … 9 5 10 6 ;-------------------------------------------------------------------- 11 ; WAIT_RETRACE_IF_NECESSARY_THEN 7 ; CALL_WAIT_FOR_RETRACE_IF_NECESSARY_THEN 8 ; JMP_WAIT_FOR_RETRACE_IF_NECESSARY_THEN 12 9 ; Parameters: 13 10 ; %1: Instruction that accessed CGA memory … … 22 19 ; AX, DX 23 20 ;-------------------------------------------------------------------- 24 %macro WAIT_RETRACE_IF_NECESSARY_THEN 121 %macro CALL_WAIT_FOR_RETRACE_IF_NECESSARY_THEN 1 25 22 %ifdef ELIMINATE_CGA_SNOW 26 23 %ifidn %1, stosb … … 31 28 call CgaSnow_RepMovsb 32 29 %else 33 %error "Invalid instruction passed to WAIT_RETRACE_IF_NECESSARY_THEN"30 %error "Invalid instruction passed to CALL_WAIT_FOR_RETRACE_IF_NECESSARY_THEN" 34 31 %endif 35 32 %else ; No CGA snow prevention … … 38 35 %else 39 36 %1 ; Single instruction 37 %endif 38 %endif 39 %endmacro 40 41 %macro JMP_WAIT_FOR_RETRACE_IF_NECESSARY_THEN 1 42 %ifdef ELIMINATE_CGA_SNOW 43 %ifidn %1, stosb 44 jmp CgaSnow_Stosb 45 %elifidn %1, stosw 46 jmp CgaSnow_Stosw 47 %elifidn %1, rep movsb 48 jmp CgaSnow_RepMovsb 49 %else 50 %error "Invalid instruction passed to JMP_WAIT_FOR_RETRACE_IF_NECESSARY_THEN" 51 %endif 52 %else ; No CGA snow prevention 53 %ifidn %1, rep movsb 54 eSEG_STR rep, es, movsb 55 ret 56 %else 57 %1 ; Single instruction 58 ret 40 59 %endif 41 60 %endif -
trunk/Assembly_Library/Inc/DosFunctions.inc
r446 r589 9 9 DOS_TSR_MULTIPLEX_INTERRUPT_2Fh EQU 2Fh 10 10 11 ; DOS drive and file functions 12 SELECT_DEFAULT_DRIVE EQU 0Eh 13 GET_CURRENT_DEFAULT_DRIVE EQU 19h 14 GET_DISK_TRANSFER_AREA_ADDRESS EQU 2Fh 15 GET_DOS_DRIVE_PARAMETER_BLOCK_FOR_SPECIFIC_DRIVE EQU 32h 16 SET_CURRENT_DIRECTORY EQU 3Bh 17 CREATE_OR_TRUNCATE_FILE EQU 3Ch 18 OPEN_EXISTING_FILE EQU 3Dh 19 CLOSE_FILE EQU 3Eh 20 READ_FROM_FILE_OR_DEVICE EQU 3Fh 21 WRITE_TO_FILE_OR_DEVICE EQU 40h 22 SET_CURRENT_FILE_POSITION EQU 42h 23 GET_CURRENT_DIRECTORY EQU 47h 24 FIND_FIRST_MATCHING_FILE EQU 4Eh 25 FIND_NEXT_MATCHING_FILE EQU 4Fh 26 27 ; DOS functions for TSRs 28 SET_INTERRUPT_VECTOR EQU 25h 29 GET_INTERRUPT_VECTOR EQU 35h 11 ; DOS functions 12 WRITE_CHARACTER_TO_STANDARD_OUTPUT EQU 02h ; DOS 1+ 13 WRITE_STRING_TO_STANDARD_OUTPUT EQU 09h ; DOS 1+ 14 SELECT_DEFAULT_DRIVE EQU 0Eh ; DOS 1+ 15 GET_CURRENT_DEFAULT_DRIVE EQU 19h ; DOS 1+ 16 SET_INTERRUPT_VECTOR EQU 25h ; DOS 1+ 17 GET_DISK_TRANSFER_AREA_ADDRESS EQU 2Fh ; DOS 2+ 18 GET_DOS_VERSION EQU 30h ; DOS 2+ 19 GET_DOS_DRIVE_PARAMETER_BLOCK_FOR_SPECIFIC_DRIVE EQU 32h ; DOS 2+ 20 GET_INTERRUPT_VECTOR EQU 35h ; DOS 2+ 21 SET_CURRENT_DIRECTORY EQU 3Bh ; DOS 2+ 22 CREATE_OR_TRUNCATE_FILE EQU 3Ch ; DOS 2+ 23 OPEN_EXISTING_FILE EQU 3Dh ; DOS 2+ 24 CLOSE_FILE EQU 3Eh ; DOS 2+ 25 READ_FROM_FILE_OR_DEVICE EQU 3Fh ; DOS 2+ 26 WRITE_TO_FILE_OR_DEVICE EQU 40h ; DOS 2+ 27 SET_CURRENT_FILE_POSITION EQU 42h ; DOS 2+ 28 CHECK_IF_BLOCK_DEVICE_REMOTE EQU 4409h ; DOS 3.1+ 29 GET_CURRENT_DIRECTORY EQU 47h ; DOS 2+ 30 TERMINATE_WITH_RETURN_CODE EQU 4Ch ; DOS 2+ 31 FIND_FIRST_MATCHING_FILE EQU 4Eh ; DOS 2+ 32 FIND_NEXT_MATCHING_FILE EQU 4Fh ; DOS 2+ 30 33 31 34 ; DOS errors 35 ERR_DOS_FUNCTION_NUMBER_INVALID EQU 01h 36 ERR_DOS_INVALID_DRIVE EQU 0Fh 32 37 ERR_DOS_DRIVE_NOT_READY EQU 15h 33 34 38 35 39 -
trunk/Assembly_Library/Inc/Emulate.inc
r586 r589 579 579 580 580 %macro eRCL_IM 2 581 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 582 %ifdef USE_386 583 %if %2 = 1 584 adc %1, %1 ; Same size but faster on 386 and 486. Fails if %1 is a memory operand. 585 %else 586 eSHIFT_IM %1, %2, rcl 587 %endif 588 %else 581 589 eSHIFT_IM %1, %2, rcl 590 %endif 591 %endif 582 592 %endmacro 583 593 -
trunk/Assembly_Library/Inc/Math.inc
r445 r589 80 80 .ShiftNextBit: 81 81 eSHL_IM ax, 1 82 rcldx, 182 eRCL_IM dx, 1 83 83 loop .ShiftNextBit 84 84 %endmacro -
trunk/Assembly_Library/Inc/SystemTimer.inc
r287 r589 1 1 ; Project name : Assembly Library 2 ; Description : System Timer (8254) relate sequates and macros.2 ; Description : System Timer (8254) related equates and macros. 3 3 %ifndef SYSTEMTIMER_INC 4 4 %define SYSTEMTIMER_INC … … 34 34 CONTROL_WORD_REGISTER_out EQU 43h 35 35 36 ; Timer 2 is connected to PC Speaker that can be controlle rfrom port 61h.36 ; Timer 2 is connected to PC Speaker that can be controlled from port 61h. 37 37 SPEAKER_CONTROL_REGISTER EQU 61h 38 38 FLG_TIMER_2_OUTPUT_in EQU (1<<5) ; AT+ only
Note:
See TracChangeset
for help on using the changeset viewer.