@@ -780,7 +780,7 @@ exit_uefi_services:
780780 ;; se deberia revisar que no sea mayor. Posible payload (previo copia):
781781 ;; +---------------------------------------------+--------------------+
782782 ;; | tsl.sys | packedKernel.bin |
783- ;; | start16 | code | data | 00..0 | code | data | kernel | mods user |
783+ ;; | start16 | code | data | 0_pad | code | data | kernel | mods user |
784784 ;; | | low | low | 00..0 | hi | hi | .bin | land.bin |
785785 ;; +---------------------------------------------+--------------------+
786786 ;; |< 0x200 >|0x200 |0x100 | |0x2000|0x1000|<----- 226KiB ----->|
@@ -798,10 +798,11 @@ exit_uefi_services:
798798 ;; as the 1st 512 bytes of the payload.
799799
800800 mov rdi , TSL_BASE_ADDRESS_LOW
801- mov rcx , TSL_LO_SIZE ;; Bytes a partir de TSL_BASE_ADDRESS_LOW.
801+ mov rcx , TSL_LO_SIZE ;; Bytes a partir de TSL_BASE_ADDRESS_LOW (code_lo +
802+ ;; data_lo + zero_padding).
802803 rep movsb
803804
804- ;; Hi tsl. Los restantes 239K . Se encuentran alineados a 1K.
805+ ;; Hi tsl. Los restantes 238K . Se encuentran alineados a 1K.
805806 mov rsi , PAYLOAD + START16_SIZE + TSL_LO_SIZE
806807 mov rdi , TSL_BASE_ADDRESS
807808 mov rcx , ( 238 * 1024 ) ;; 238KiB.
@@ -813,6 +814,7 @@ exit_uefi_services:
813814 ;; dword [0x00005F10] = Screen X
814815 ;; dword [0x00005F12] = Screen Y
815816 ;; dword [0x00005F14] = PixelsPerScanLine
817+ ;; dword [0x00005F16] = BPP
816818
817819 mov rdi , 0x00005F00
818820 mov rax , [ FB ]
@@ -825,8 +827,8 @@ exit_uefi_services:
825827 stosw ;; 5F00 + 8 * 2 + 2 * 1 = 16-bit Screen Y.
826828 mov rax , [ PPSL ]
827829 stosw ;; 5F00 + 8 * 2 + 2 * 2 = 16-bit PixelsPerScanLine.
828- mov rax , 32 ;; BPP hardcodeado, supuestamente uefi siempre 32? Grub
829- ;; muestra que hay modos con 24 seleccionables.
830+ mov rax , 32 ;; TO-DO: bpp hardcodeado, supuestamente uefi siempre 32
831+ ;; ? Grub muestra que hay modos con 24 seleccionables.
830832 stosw ;; 16-bit BitsPerPixel
831833
832834 mov rax , [ memmap ] ;; Mem map base address.
0 commit comments