Ignore:
Timestamp:
Dec 31, 2024, 3:38:24 PM (8 days ago)
Author:
Krister Nordvall
Message:

Changes:

  • Changed the g_szPCFlashSuccessful string in XTIDECFG to reflect the reality - it turns out ANY key was limited to just ENTER or ESC.
  • Removed the NEC V-specific optimization I added in r602 because NEC's documentation completely fails to mention that the ROL4 instruction also changes the high nibble of AL. Huge thanks to vcfed-member dreNorteR for discovering this and also for suggesting an optimization to the physical address conversion code in IdeTransfer.asm.
  • Made some changes to the OUTPUT_AL_TO_IDE_REGISTER and OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER macros as an optimization. This saves 15+12 bytes in builds without MODULE_8BIT_IDE (e.g. the PS/2 builds).
  • Other minor optimizations and cleanups.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm

    r625 r630  
    44;
    55; XTIDE Universal BIOS and Associated Tools
    6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2023 by XTIDE Universal BIOS Team.
     6; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2024 by XTIDE Universal BIOS Team.
    77;
    88; This program is free software; you can redistribute it and/or modify
     
    3939    mov     al, FLG_DEVCONTROL_SRST | FLG_DEVCONTROL_nIEN
    4040; ---
     41%define IO_SEQUENCE     ; Do not modify DX while this is in effect!
    4142    OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER     DEVICE_CONTROL_REGISTER_out
    4243    mov     ax, HSR0_RESET_WAIT_US
     
    5253; ---
    5354    OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER     DEVICE_CONTROL_REGISTER_out
     55%undef IO_SEQUENCE      ; DX can be freely modified again.
    5456    mov     ax, HSR1_RESET_WAIT_US
    5557    call    Timer_DelayMicrosecondsFromAX
     
    277279ALIGN JUMP_ALIGN
    278280OutputSectorCountAndAddress:
     281%define IO_SEQUENCE     ; Do not modify DX while this is in effect!
    279282    OUTPUT_AL_TO_IDE_REGISTER   SECTOR_COUNT_REGISTER
    280283
     
    287290    mov     al, ch
    288291    OUTPUT_AL_TO_IDE_REGISTER   LBA_HIGH_REGISTER
     292%undef IO_SEQUENCE      ; DX can be freely modified again.
    289293    ret
    290294
Note: See TracChangeset for help on using the changeset viewer.