1818;; | Encabez | Codigo | Datos | | Kernel.bin | el fin |
1919;; +---------+--------+-------+------------+------------+------------+
2020;; |^ |^ |^ |^ |^ |^ ^|
21- ;; 0x0 0x200 0x1000 0x2000 0x2800 0x40000 0xFFFFF
22- ;; 0 512B 4KiB 8KiB 10KiB 256KiB 1MiB-1
21+ ;; 0x0 0x200 0x1000 0x4000 0x5800 0x40000 0xFFFFF
22+ ;; 0 512B 4KiB 16KiB 22KiB 256KiB 1MiB-1
2323;;==============================================================================
2424
2525
@@ -1130,12 +1130,16 @@ print_flush:
11301130 mov r8 , 0 ;; ix src str.
11311131
11321132.loop_read_string_char:
1133- push rax
1134- mov rcx , 0
1135- mov cl , [ msg_test8 + r8 ]
1133+ push rax ;; FB cursor, apunta a inicio de char (pixel exactamente) a come
1134+ ;; nzar imprimir.
1135+ mov rcx , 0 ;; Avance cursor.
1136+ mov cl , [ msg_boot_services_exit_ok + r8 ]
11361137 cmp cl , 0
11371138 je .string_flush_end
1138- lea rsi , [ font_data + 8 * rcx ] ;; rsi p2fontLine
1139+ lea rsi , [ font_data + 8 * rcx ] ;; rsi p2fontLine 16px chars.
1140+ lea rsi , [ rsi + 8 * rcx ]
1141+ ;;lea rsi, [font_data + 16 * 0x41]
1142+ ;;lea rsi, [font_data]
11391143 mov rdx , 0
11401144.loop_font_vertical_line:
11411145 cmp rdx , font_height
@@ -1167,17 +1171,17 @@ print_flush:
11671171.char_flush_end:
11681172 inc r8
11691173 pop rax
1170- lea rax , [ rax + 8 * r8 ]
1171- lea rax , [ rax + 8 * r8 ]
1172- lea rax , [ rax + 8 * r8 ]
1173- lea rax , [ rax + 8 * r8 ]
1174+ add rax , 32 ;; rax += 8px * 4bytes/px
1175+ ;; lea rax, [rax + 8] ;; rax += 8px * 4bytes/px
1176+ ;; lea rax, [rax + 8] ;; rax += 8px * 4bytes/px
1177+ ;; lea rax, [rax + 8] ;; rax += 8px * 4bytes/px
11741178 jmp .loop_read_string_char
11751179
11761180.string_flush_end:
11771181 cli
11781182 hlt
11791183 ret
1180- \
1184+
11811185
11821186
11831187times 4 * 1024 - ($ - $$) db 0 ;; Zero padding resto de .text
@@ -1253,7 +1257,7 @@ dd 0x9042a9de
12531257dw 0x23dc , 0x4a38
12541258db 0x96 , 0xfb , 0x7a , 0xde , 0xd0 , 0x80 , 0x51 , 0x6a
12551259
1256- ;; Boot service para imprimir en pantalla requiere string en utf16 .
1260+ ;; UTF16 strings para bootservices .
12571261msg_uefi_boot: dw utf16( "UEFI boot" ) , 13 , 0xA , 0
12581262msg_error: dw utf16( "Error" ) , 0
12591263msg_badPayloadSignature: dw utf16( "Bad payload signature." ) , 0
@@ -1263,7 +1267,6 @@ newline: dw 13, 10, 0
12631267
12641268hexConvert: dw utf16( "0123456789ABCDEF" )
12651269
1266-
12671270;; Some new messages.
12681271msg_edid_found: dw utf16( "EDID found" ) , 13 , 0xA , 0 ;; Carriage return
12691272msg_locate_edid_fail_use_default_resolution: dw utf16( "Locate EDID fail: se usara resolucion por defecto" ) , 13 , 0xA , 0
@@ -1291,7 +1294,6 @@ msg_efi_not_ready: dw utf16("EFI not ready"), 13, 0xA, 0
12911294msg_notify_memmap_change: dw utf16( "Memory map buffer size change: will request again." ) , 13 , 0xA , 0
12921295txt_err_memmap: dw utf16( "get memmap feilure" ) , 0
12931296msg_will_exit_uefi_services: dw utf16( "A continuacion hara exit de uefi services" ) , 13 , 0xA , 0
1294- msg_boot_services_exit_ok: dw utf16( "Exit from uefi services exitoso" ) , 0
12951297
12961298msg_test: dw utf16( "Test" ) , 13 , 0xA , 0
12971299msg_test8: db "ab" , 0
@@ -1316,153 +1318,154 @@ fmt_edid_protocol_located: dw utf16("EDID protocol found = %s"), 13, 0xA, 0
13161318
13171319str_gop_protocol_fatal_err: dw utf16( "GOP protocol no localizado" ) , 0
13181320
1319-
1321+ ;; UTF8 strings para bootloader.
1322+ msg_boot_services_exit_ok: db "Exit from UEFI services exitoso." , 0
13201323
13211324
13221325
13231326efi_print_placeholder:
13241327times 64 dw 0x0000
13251328
1326- font_height equ 8
1329+ font_height equ 16
13271330font_data:
1328- ;; font8x8_basic[128][8]
1329- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0000 (nul)
1330- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0001
1331- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0002
1332- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0003
1333- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0004
1334- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0005
1335- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0006
1336- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0007
1337- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0008
1338- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0009
1339- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+000A
1340- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+000B
1341- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+000C
1342- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+000D
1343- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+000E
1344- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+000F
1345- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0010
1346- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0011
1347- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0012
1348- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0013
1349- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0014
1350- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0015
1351- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0016
1352- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0017
1353- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0018
1354- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0019
1355- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+001A
1356- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+001B
1357- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+001C
1358- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+001D
1359- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+001E
1360- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+001F
1361- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0020 (space)
1362- db 0x18 , 0x3C , 0x3C , 0x18 , 0x18 , 0x00 , 0x18 , 0x00 ;; U+0021 (!)
1363- db 0x36 , 0x36 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0022 (")
1364- db 0x36 , 0x36 , 0x7F , 0x36 , 0x7F , 0x36 , 0x36 , 0x00 ;; U+0023 (#)
1365- db 0x0C , 0x3E , 0x03 , 0x1E , 0x30 , 0x1F , 0x0C , 0x00 ;; U+0024 ($)
1366- db 0x00 , 0x63 , 0x33 , 0x18 , 0x0C , 0x66 , 0x63 , 0x00 ;; U+0025 (%)
1367- db 0x1C , 0x36 , 0x1C , 0x6E , 0x3B , 0x33 , 0x6E , 0x00 ;; U+0026 (&)
1368- db 0x06 , 0x06 , 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0027 (')
1369- db 0x18 , 0x0C , 0x06 , 0x06 , 0x06 , 0x0C , 0x18 , 0x00 ;; U+0028 (()
1370- db 0x06 , 0x0C , 0x18 , 0x18 , 0x18 , 0x0C , 0x06 , 0x00 ;; U+0029 ())
1371- db 0x00 , 0x66 , 0x3C , 0xFF , 0x3C , 0x66 , 0x00 , 0x00 ;; U+002A (*)
1372- db 0x00 , 0x0C , 0x0C , 0x3F , 0x0C , 0x0C , 0x00 , 0x00 ;; U+002B (+)
1373- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0C , 0x0C , 0x06 ;; U+002C (,)
1374- db 0x00 , 0x00 , 0x00 , 0x3F , 0x00 , 0x00 , 0x00 , 0x00 ;; U+002D (-)
1375- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0C , 0x0C , 0x00 ;; U+002E (.)
1376- db 0x60 , 0x30 , 0x18 , 0x0C , 0x06 , 0x03 , 0x01 , 0x00 ;; U+002F (/)
1377- db 0x3E , 0x63 , 0x73 , 0x7B , 0x6F , 0x67 , 0x3E , 0x00 ;; U+0030 (0)
1378- db 0x0C , 0x0E , 0x0C , 0x0C , 0x0C , 0x0C , 0x3F , 0x00 ;; U+0031 (1)
1379- db 0x1E , 0x33 , 0x30 , 0x1C , 0x06 , 0x33 , 0x3F , 0x00 ;; U+0032 (2)
1380- db 0x1E , 0x33 , 0x30 , 0x1C , 0x30 , 0x33 , 0x1E , 0x00 ;; U+0033 (3)
1381- db 0x38 , 0x3C , 0x36 , 0x33 , 0x7F , 0x30 , 0x78 , 0x00 ;; U+0034 (4)
1382- db 0x3F , 0x03 , 0x1F , 0x30 , 0x30 , 0x33 , 0x1E , 0x00 ;; U+0035 (5)
1383- db 0x1C , 0x06 , 0x03 , 0x1F , 0x33 , 0x33 , 0x1E , 0x00 ;; U+0036 (6)
1384- db 0x3F , 0x33 , 0x30 , 0x18 , 0x0C , 0x0C , 0x0C , 0x00 ;; U+0037 (7)
1385- db 0x1E , 0x33 , 0x33 , 0x1E , 0x33 , 0x33 , 0x1E , 0x00 ;; U+0038 (8)
1386- db 0x1E , 0x33 , 0x33 , 0x3E , 0x30 , 0x18 , 0x0E , 0x00 ;; U+0039 (9)
1387- db 0x00 , 0x0C , 0x0C , 0x00 , 0x00 , 0x0C , 0x0C , 0x00 ;; U+003A (:)
1388- db 0x00 , 0x0C , 0x0C , 0x00 , 0x00 , 0x0C , 0x0C , 0x06 ;; U+003B (;)
1389- db 0x18 , 0x0C , 0x06 , 0x03 , 0x06 , 0x0C , 0x18 , 0x00 ;; U+003C (<)
1390- db 0x00 , 0x00 , 0x3F , 0x00 , 0x00 , 0x3F , 0x00 , 0x00 ;; U+003D (=)
1391- db 0x06 , 0x0C , 0x18 , 0x30 , 0x18 , 0x0C , 0x06 , 0x00 ;; U+003E (>)
1392- db 0x1E , 0x33 , 0x30 , 0x18 , 0x0C , 0x00 , 0x0C , 0x00 ;; U+003F (?)
1393- db 0x3E , 0x63 , 0x7B , 0x7B , 0x7B , 0x03 , 0x1E , 0x00 ;; U+0040 (@)
1394- db 0x0C , 0x1E , 0x33 , 0x33 , 0x3F , 0x33 , 0x33 , 0x00 ;; U+0041 (A)
1395- db 0x3F , 0x66 , 0x66 , 0x3E , 0x66 , 0x66 , 0x3F , 0x00 ;; U+0042 (B)
1396- db 0x3C , 0x66 , 0x03 , 0x03 , 0x03 , 0x66 , 0x3C , 0x00 ;; U+0043 (C)
1397- db 0x1F , 0x36 , 0x66 , 0x66 , 0x66 , 0x36 , 0x1F , 0x00 ;; U+0044 (D)
1398- db 0x7F , 0x46 , 0x16 , 0x1E , 0x16 , 0x46 , 0x7F , 0x00 ;; U+0045 (E)
1399- db 0x7F , 0x46 , 0x16 , 0x1E , 0x16 , 0x06 , 0x0F , 0x00 ;; U+0046 (F)
1400- db 0x3C , 0x66 , 0x03 , 0x03 , 0x73 , 0x66 , 0x7C , 0x00 ;; U+0047 (G)
1401- db 0x33 , 0x33 , 0x33 , 0x3F , 0x33 , 0x33 , 0x33 , 0x00 ;; U+0048 (H)
1402- db 0x1E , 0x0C , 0x0C , 0x0C , 0x0C , 0x0C , 0x1E , 0x00 ;; U+0049 (I)
1403- db 0x78 , 0x30 , 0x30 , 0x30 , 0x33 , 0x33 , 0x1E , 0x00 ;; U+004A (J)
1404- db 0x67 , 0x66 , 0x36 , 0x1E , 0x36 , 0x66 , 0x67 , 0x00 ;; U+004B (K)
1405- db 0x0F , 0x06 , 0x06 , 0x06 , 0x46 , 0x66 , 0x7F , 0x00 ;; U+004C (L)
1406- db 0x63 , 0x77 , 0x7F , 0x7F , 0x6B , 0x63 , 0x63 , 0x00 ;; U+004D (M)
1407- db 0x63 , 0x67 , 0x6F , 0x7B , 0x73 , 0x63 , 0x63 , 0x00 ;; U+004E (N)
1408- db 0x1C , 0x36 , 0x63 , 0x63 , 0x63 , 0x36 , 0x1C , 0x00 ;; U+004F (O)
1409- db 0x3F , 0x66 , 0x66 , 0x3E , 0x06 , 0x06 , 0x0F , 0x00 ;; U+0050 (P)
1410- db 0x1E , 0x33 , 0x33 , 0x33 , 0x3B , 0x1E , 0x38 , 0x00 ;; U+0051 (Q)
1411- db 0x3F , 0x66 , 0x66 , 0x3E , 0x36 , 0x66 , 0x67 , 0x00 ;; U+0052 (R)
1412- db 0x1E , 0x33 , 0x07 , 0x0E , 0x38 , 0x33 , 0x1E , 0x00 ;; U+0053 (S)
1413- db 0x3F , 0x2D , 0x0C , 0x0C , 0x0C , 0x0C , 0x1E , 0x00 ;; U+0054 (T)
1414- db 0x33 , 0x33 , 0x33 , 0x33 , 0x33 , 0x33 , 0x3F , 0x00 ;; U+0055 (U)
1415- db 0x33 , 0x33 , 0x33 , 0x33 , 0x33 , 0x1E , 0x0C , 0x00 ;; U+0056 (V)
1416- db 0x63 , 0x63 , 0x63 , 0x6B , 0x7F , 0x77 , 0x63 , 0x00 ;; U+0057 (W)
1417- db 0x63 , 0x63 , 0x36 , 0x1C , 0x1C , 0x36 , 0x63 , 0x00 ;; U+0058 (X)
1418- db 0x33 , 0x33 , 0x33 , 0x1E , 0x0C , 0x0C , 0x1E , 0x00 ;; U+0059 (Y)
1419- db 0x7F , 0x63 , 0x31 , 0x18 , 0x4C , 0x66 , 0x7F , 0x00 ;; U+005A (Z)
1420- db 0x1E , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x1E , 0x00 ;; U+005B ([)
1421- db 0x03 , 0x06 , 0x0C , 0x18 , 0x30 , 0x60 , 0x40 , 0x00 ;; U+005C (\)
1422- db 0x1E , 0x18 , 0x18 , 0x18 , 0x18 , 0x18 , 0x1E , 0x00 ;; U+005D (])
1423- db 0x08 , 0x1C , 0x36 , 0x63 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+005E (^)
1424- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xFF ;; U+005F (_)
1425- db 0x0C , 0x0C , 0x18 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+0060 (`)
1426- db 0x00 , 0x00 , 0x1E , 0x30 , 0x3E , 0x33 , 0x6E , 0x00 ;; U+0061 (a)
1427- db 0x07 , 0x06 , 0x06 , 0x3E , 0x66 , 0x66 , 0x3B , 0x00 ;; U+0062 (b)
1428- db 0x00 , 0x00 , 0x1E , 0x33 , 0x03 , 0x33 , 0x1E , 0x00 ;; U+0063 (c)
1429- db 0x38 , 0x30 , 0x30 , 0x3e , 0x33 , 0x33 , 0x6E , 0x00 ;; U+0064 (d)
1430- db 0x00 , 0x00 , 0x1E , 0x33 , 0x3f , 0x03 , 0x1E , 0x00 ;; U+0065 (e)
1431- db 0x1C , 0x36 , 0x06 , 0x0f , 0x06 , 0x06 , 0x0F , 0x00 ;; U+0066 (f)
1432- db 0x00 , 0x00 , 0x6E , 0x33 , 0x33 , 0x3E , 0x30 , 0x1F ;; U+0067 (g)
1433- db 0x07 , 0x06 , 0x36 , 0x6E , 0x66 , 0x66 , 0x67 , 0x00 ;; U+0068 (h)
1434- db 0x0C , 0x00 , 0x0E , 0x0C , 0x0C , 0x0C , 0x1E , 0x00 ;; U+0069 (i)
1435- db 0x30 , 0x00 , 0x30 , 0x30 , 0x30 , 0x33 , 0x33 , 0x1E ;; U+006A (j)
1436- db 0x07 , 0x06 , 0x66 , 0x36 , 0x1E , 0x36 , 0x67 , 0x00 ;; U+006B (k)
1437- db 0x0E , 0x0C , 0x0C , 0x0C , 0x0C , 0x0C , 0x1E , 0x00 ;; U+006C (l)
1438- db 0x00 , 0x00 , 0x33 , 0x7F , 0x7F , 0x6B , 0x63 , 0x00 ;; U+006D (m)
1439- db 0x00 , 0x00 , 0x1F , 0x33 , 0x33 , 0x33 , 0x33 , 0x00 ;; U+006E (n)
1440- db 0x00 , 0x00 , 0x1E , 0x33 , 0x33 , 0x33 , 0x1E , 0x00 ;; U+006F (o)
1441- db 0x00 , 0x00 , 0x3B , 0x66 , 0x66 , 0x3E , 0x06 , 0x0F ;; U+0070 (p)
1442- db 0x00 , 0x00 , 0x6E , 0x33 , 0x33 , 0x3E , 0x30 , 0x78 ;; U+0071 (q)
1443- db 0x00 , 0x00 , 0x3B , 0x6E , 0x66 , 0x06 , 0x0F , 0x00 ;; U+0072 (r)
1444- db 0x00 , 0x00 , 0x3E , 0x03 , 0x1E , 0x30 , 0x1F , 0x00 ;; U+0073 (s)
1445- db 0x08 , 0x0C , 0x3E , 0x0C , 0x0C , 0x2C , 0x18 , 0x00 ;; U+0074 (t)
1446- db 0x00 , 0x00 , 0x33 , 0x33 , 0x33 , 0x33 , 0x6E , 0x00 ;; U+0075 (u)
1447- db 0x00 , 0x00 , 0x33 , 0x33 , 0x33 , 0x1E , 0x0C , 0x00 ;; U+0076 (v)
1448- db 0x00 , 0x00 , 0x63 , 0x6B , 0x7F , 0x7F , 0x36 , 0x00 ;; U+0077 (w)
1449- db 0x00 , 0x00 , 0x63 , 0x36 , 0x1C , 0x36 , 0x63 , 0x00 ;; U+0078 (x)
1450- db 0x00 , 0x00 , 0x33 , 0x33 , 0x33 , 0x3E , 0x30 , 0x1F ;; U+0079 (y)
1451- db 0x00 , 0x00 , 0x3F , 0x19 , 0x0C , 0x26 , 0x3F , 0x00 ;; U+007A (z)
1452- db 0x38 , 0x0C , 0x0C , 0x07 , 0x0C , 0x0C , 0x38 , 0x00 ;; U+007B ({)
1453- db 0x18 , 0x18 , 0x18 , 0x18 , 0x18 , 0x18 , 0x18 , 0x00 ;; U+007C (|)
1454- db 0x07 , 0x0C , 0x0C , 0x38 , 0x0C , 0x0C , 0x07 , 0x00 ;; U+007D (})
1455- db 0x6E , 0x3B , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+007E (~)
1456- db 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ;; U+007F
1457-
1458-
1459- times 8 * 1024 - ($ - $$) db 0
1331+ ;; font8x8_basic[128][16]
1332+
1333+
1334+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x00 uni0000
1335+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x01 uni0001
1336+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x02 uni0002
1337+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x03 uni0003
1338+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x04 uni0004
1339+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x05 uni0005
1340+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x06 uni0006
1341+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x07 uni0007
1342+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x08 uni0008
1343+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x09 uni0009
1344+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x0a uni000A
1345+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x0b uni000B
1346+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x0c uni000C
1347+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x0d uni000D
1348+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x0e uni000E
1349+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x0f uni000F
1350+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x10 uni0010
1351+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x11 uni0011
1352+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x12 uni0012
1353+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x13 uni0013
1354+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x14 uni0014
1355+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x15 uni0015
1356+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x16 uni0016
1357+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x17 uni0017
1358+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x18 uni0018
1359+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x19 uni0019
1360+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x1a uni001A
1361+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x1b uni001B
1362+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x1c uni001C
1363+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x1d uni001D
1364+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x1e uni001E
1365+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x1f uni001F
1366+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x20 space
1367+ dd 0x08080000 , 0x08080808 , 0x00000808 , 0x00000808 ;; 0x21 exclam
1368+ dd 0x14140000 , 0x00001414 , 0x00000000 , 0x00000000 ;; 0x22 quotedbl
1369+ dd 0x48000000 , 0x24FE4848 , 0x127F2424 , 0x00001212 ;; 0x23 numbersign
1370+ dd 0x08080000 , 0x0909493E , 0x4848380E , 0x08083E49 ;; 0x24 dollar
1371+ dd 0x09060000 , 0x30C60909 , 0x9090630C , 0x00006090 ;; 0x25 percent
1372+ dd 0x221C0000 , 0x04040202 , 0x41A1918A , 0x0000BC42 ;; 0x26 ampersand
1373+ dd 0x08080000 , 0x00000808 , 0x00000000 , 0x00000000 ;; 0x27 quotesingle
1374+ dd 0x10200000 , 0x04040808 , 0x04040404 , 0x20100808 ;; 0x28 parenleft
1375+ dd 0x08040000 , 0x20201010 , 0x20202020 , 0x04081010 ;; 0x29 parenright
1376+ dd 0x08080000 , 0x2A1C2A49 , 0x00080849 , 0x00000000 ;; 0x2a asterisk
1377+ dd 0x00000000 , 0x08080000 , 0x08087F08 , 0x00000008 ;; 0x2b plus
1378+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x0C181818 ;; 0x2c comma
1379+ dd 0x00000000 , 0x00000000 , 0x00007E00 , 0x00000000 ;; 0x2d hyphen
1380+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00001818 ;; 0x2e period
1381+ dd 0x40400000 , 0x10102020 , 0x04040808 , 0x01010202 ;; 0x2f slash
1382+ dd 0x221C0000 , 0x49515161 , 0x43454549 , 0x00001C22 ;; 0x30 zero
1383+ dd 0x0C080000 , 0x0808090A , 0x08080808 , 0x00003F08 ;; 0x31 one
1384+ dd 0x221C0000 , 0x20404041 , 0x02040810 , 0x00007F01 ;; 0x32 two
1385+ dd 0x211E0000 , 0x1E204040 , 0x40404020 , 0x00001E21 ;; 0x33 three
1386+ dd 0x28300000 , 0x22242428 , 0x207F2122 , 0x00002020 ;; 0x34 four
1387+ dd 0x013F0000 , 0x201F0101 , 0x40404040 , 0x00001E21 ;; 0x35 five
1388+ dd 0x221C0000 , 0x231D0102 , 0x41414141 , 0x00001C22 ;; 0x36 six
1389+ dd 0x407F0000 , 0x10102020 , 0x04040808 , 0x00000202 ;; 0x37 seven
1390+ dd 0x221C0000 , 0x1C224141 , 0x41414122 , 0x00001C22 ;; 0x38 eight
1391+ dd 0x221C0000 , 0x41414141 , 0x40405C62 , 0x00001C22 ;; 0x39 nine
1392+ dd 0x00000000 , 0x18180000 , 0x00000000 , 0x00001818 ;; 0x3a colon
1393+ dd 0x00000000 , 0x18180000 , 0x00000000 , 0x0C181818 ;; 0x3b semicolon
1394+ dd 0x00000000 , 0x0C30C000 , 0x300C0303 , 0x000000C0 ;; 0x3c less
1395+ dd 0x00000000 , 0x7F000000 , 0x007F0000 , 0x00000000 ;; 0x3d equal
1396+ dd 0x00000000 , 0x300C0300 , 0x0C30C0C0 , 0x00000003 ;; 0x3e greater
1397+ dd 0x423C0000 , 0x20404040 , 0x00080810 , 0x00000808 ;; 0x3f question
1398+ dd 0x38000000 , 0xC9B28244 , 0x89898989 , 0x0402B2C9 ;; 0x40 at
1399+ dd 0x18180000 , 0x24242424 , 0x427E4242 , 0x00008181 ;; 0x41 A
1400+ dd 0x211F0000 , 0x1F214141 , 0x41414121 , 0x00001F21 ;; 0x42 B
1401+ dd 0x423C0000 , 0x01010102 , 0x02010101 , 0x00003C42 ;; 0x43 C
1402+ dd 0x211F0000 , 0x41414141 , 0x41414141 , 0x00001F21 ;; 0x44 D
1403+ dd 0x017F0000 , 0x7F010101 , 0x01010101 , 0x00007F01 ;; 0x45 E
1404+ dd 0x017F0000 , 0x7F010101 , 0x01010101 , 0x00000101 ;; 0x46 F
1405+ dd 0x423C0000 , 0x01010102 , 0x42414171 , 0x00003C42 ;; 0x47 G
1406+ dd 0x41410000 , 0x7F414141 , 0x41414141 , 0x00004141 ;; 0x48 H
1407+ dd 0x083E0000 , 0x08080808 , 0x08080808 , 0x00003E08 ;; 0x49 I
1408+ dd 0x40780000 , 0x40404040 , 0x40404040 , 0x00003E41 ;; 0x4a J
1409+ dd 0x41010000 , 0x05091121 , 0x21110907 , 0x00008141 ;; 0x4b K
1410+ dd 0x01010000 , 0x01010101 , 0x01010101 , 0x00007F01 ;; 0x4c L
1411+ dd 0x63630000 , 0x49555555 , 0x41414949 , 0x00004141 ;; 0x4d M
1412+ dd 0x43430000 , 0x49494545 , 0x61615151 , 0x00004141 ;; 0x4e N
1413+ dd 0x221C0000 , 0x41414141 , 0x41414141 , 0x00001C22 ;; 0x4f O
1414+ dd 0x211F0000 , 0x21414141 , 0x0101011F , 0x00000101 ;; 0x50 P
1415+ dd 0x221C0000 , 0x41414141 , 0x49414141 , 0x20101C2A ;; 0x51 Q
1416+ dd 0x211F0000 , 0x21414141 , 0x4141211F , 0x00008141 ;; 0x52 R
1417+ dd 0x413E0000 , 0x3E010101 , 0x40404040 , 0x00003E41 ;; 0x53 S
1418+ dd 0x087F0000 , 0x08080808 , 0x08080808 , 0x00000808 ;; 0x54 T
1419+ dd 0x41410000 , 0x41414141 , 0x41414141 , 0x00001C22 ;; 0x55 U
1420+ dd 0x81810000 , 0x42424281 , 0x24242442 , 0x00001818 ;; 0x56 V
1421+ dd 0x41410000 , 0x49494941 , 0x55555555 , 0x00002222 ;; 0x57 W
1422+ dd 0x41410000 , 0x08142222 , 0x22221408 , 0x00004141 ;; 0x58 X
1423+ dd 0x41410000 , 0x14142222 , 0x08080808 , 0x00000808 ;; 0x59 Y
1424+ dd 0x407F0000 , 0x08101020 , 0x02040408 , 0x00007F01 ;; 0x5a Z
1425+ dd 0x041C0000 , 0x04040404 , 0x04040404 , 0x1C040404 ;; 0x5b bracketleft
1426+ dd 0x01010000 , 0x04040202 , 0x10100808 , 0x40402020 ;; 0x5c backslash
1427+ dd 0x101C0000 , 0x10101010 , 0x10101010 , 0x1C101010 ;; 0x5d bracketright
1428+ dd 0x24180000 , 0x00008142 , 0x00000000 , 0x00000000 ;; 0x5e asciicircum
1429+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x5f underscore
1430+ dd 0x10080400 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x60 grave
1431+ dd 0x00000000 , 0x40423C00 , 0x4141417E , 0x00005E61 ;; 0x61 a
1432+ dd 0x01010000 , 0x41231D01 , 0x41414141 , 0x00001D23 ;; 0x62 b
1433+ dd 0x00000000 , 0x01423C00 , 0x01010101 , 0x00003C42 ;; 0x63 c
1434+ dd 0x40400000 , 0x41625C40 , 0x41414141 , 0x00005C62 ;; 0x64 d
1435+ dd 0x00000000 , 0x41221C00 , 0x01017F41 , 0x00003C42 ;; 0x65 e
1436+ dd 0x08700000 , 0x08087E08 , 0x08080808 , 0x00000808 ;; 0x66 f
1437+ dd 0x00000000 , 0x41625C00 , 0x41414141 , 0x22405C62 ;; 0x67 g
1438+ dd 0x01010000 , 0x41231D01 , 0x41414141 , 0x00004141 ;; 0x68 h
1439+ dd 0x08080000 , 0x08080E00 , 0x08080808 , 0x00007F08 ;; 0x69 i
1440+ dd 0x10100000 , 0x10101C00 , 0x10101010 , 0x10101010 ;; 0x6a j
1441+ dd 0x01010000 , 0x09112101 , 0x21110B05 , 0x00008141 ;; 0x6b k
1442+ dd 0x080F0000 , 0x08080808 , 0x08080808 , 0x00007008 ;; 0x6c l
1443+ dd 0x00000000 , 0x49493F00 , 0x49494949 , 0x00004949 ;; 0x6d m
1444+ dd 0x00000000 , 0x41231D00 , 0x41414141 , 0x00004141 ;; 0x6e n
1445+ dd 0x00000000 , 0x41221C00 , 0x41414141 , 0x00001C22 ;; 0x6f o
1446+ dd 0x00000000 , 0x41231D00 , 0x41414141 , 0x01011D23 ;; 0x70 p
1447+ dd 0x00000000 , 0x41625C00 , 0x41414141 , 0x40405C62 ;; 0x71 q
1448+ dd 0x00000000 , 0x02463A00 , 0x02020202 , 0x00000202 ;; 0x72 r
1449+ dd 0x00000000 , 0x01413E00 , 0x40403E01 , 0x00003E41 ;; 0x73 s
1450+ dd 0x08000000 , 0x08087E08 , 0x08080808 , 0x00007008 ;; 0x74 t
1451+ dd 0x00000000 , 0x41414100 , 0x41414141 , 0x00005E61 ;; 0x75 u
1452+ dd 0x00000000 , 0x41414100 , 0x14222222 , 0x00000814 ;; 0x76 v
1453+ dd 0x00000000 , 0x49414100 , 0x55555555 , 0x00002222 ;; 0x77 w
1454+ dd 0x00000000 , 0x22414100 , 0x22140814 , 0x00004141 ;; 0x78 x
1455+ dd 0x00000000 , 0x42414100 , 0x18242422 , 0x08101018 ;; 0x79 y
1456+ dd 0x00000000 , 0x20407F00 , 0x02040810 , 0x00007F01 ;; 0x7a z
1457+ dd 0x08300000 , 0x08080808 , 0x08080608 , 0x08080808 ;; 0x7b braceleft
1458+ dd 0x08080000 , 0x08080808 , 0x08080808 , 0x08080808 ;; 0x7c bar
1459+ dd 0x08060000 , 0x08080808 , 0x08083008 , 0x08080808 ;; 0x7d braceright
1460+ dd 0x00000000 , 0x00000000 , 0x0000324C , 0x00000000 ;; 0x7e asciitilde
1461+ dd 0x00000000 , 0x00000000 , 0x00000000 , 0x00000000 ;; 0x7f uni007F
1462+
1463+
1464+ times 16 * 1024 - ($ - $$) db 0
14601465DATA_RUNTIME_END:
14611466
14621467
1463-
1464- ;;;;;;;;;;;;;;;;;;;;;;align 4096 ;; Codigo util de BOOT64.EFI ocupa primeros 4K. Luego, la payload.
1465- align 8 * 1024 ;; Codigo + data de BOOT64.EFI ocupa primeros 8K. Luego, la payload.
1468+ align 16 * 1024 ;; Codigo + data de BOOT64.EFI ocupa primeros 8K. Luego, la payload.
14661469PAYLOAD:
14671470
14681471;; Esto cambiarlo por 256K para mas payload.
0 commit comments