From: muta...@gmail.com   
      
   Ok, finally back at my computer.   
      
   On Thursday, March 23, 2023 at 7:25:24 PM UTC+8, wolfgang kern wrote:   
      
   > So what is the UEFI equivalent to INT13 and how can I make it boot my    
   > old stuff from either CD or USB ?   
      
   As mentioned, if all you need is a bit of code loaded,   
   you don't need to anything at all except plonk a   
   bootx64.efi into \efi\boot of a FAT-formatted disk.   
      
   Here is some assembler code:   
      
   C:\devel\pdos\pdpclib\xxx3>type efi64.asm   
   # Written by Paul Edwards   
   # Released to the public domain   
      
      
   .code64   
   .intel_syntax noprefix   
      
      
   .globl efimain   
   efimain:   
      
   # ret is 1 byte, jmp is 2 bytes   
   # So for testing, comment out the jmp and add 2 rets   
      
   # xxx: jmp xxx   
   ret   
   ret   
      
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
   ret   
      
      
   C:\devel\pdos\pdpclib\xxx3>   
      
      
   The assembler can be compiled and linked like this   
   (with mingw64 for Windows)   
      
   C:\devel\pdos\pdpclib\xxx3>type doit.bat   
   x86_64-w64-mingw32-as -o efi64.o efi64.asm   
   x86_64-w64-mingw32-ld -s -subsystem 10 -e efimain -nostdlib -o bootx64.efi   
   efi64.o   
      
   C:\devel\pdos\pdpclib\xxx3>   
      
      
      
   Here are two executables:   
      
   C:\vbox\x64test\efi\boot>dir   
    Volume in drive C has no label.   
    Volume Serial Number is 4E58-AF11   
      
    Directory of C:\vbox\x64test\efi\boot   
      
   2023-03-23 22:17 .   
   2023-03-23 22:17 ..   
   2023-03-23 22:17 2,048 bootx64.efi   
   2023-03-23 22:15 2,048 loop.efi   
      
   C:\vbox\x64test\efi\boot>hexdump loop.efi   
   000000 4D5A9000 03000000 04000000 FFFF0000 MZ..............   
   000010 B8000000 00000000 40000000 00000000 ........@.......   
   000020 00000000 00000000 00000000 00000000 ................   
   000030 00000000 00000000 00000000 80000000 ................   
   000040 0E1FBA0E 00B409CD 21B8014C CD215468 ........!..L.!Th   
   000050 69732070 726F6772 616D2063 616E6E6F is program canno   
   000060 74206265 2072756E 20696E20 444F5320 t be run in DOS   
   000070 6D6F6465 2E0D0D0A 24000000 00000000 mode....$.......   
   000080 50450000 64860200 F25E1C64 00000000 PE..d....^.d....   
   000090 00000000 F0002E02 0B020224 00020000 ...........$....   
   0000A0 00020000 00000000 00100000 00100000 ................   
   0000B0 00000040 01000000 00100000 00020000 ...@............   
   0000C0 04000000 00000000 05000200 00000000 ................   
   0000D0 00300000 00040000 79FD0000 0A006001 .0......y.....`.   
   0000E0 00002000 00000000 00100000 00000000 .. .............   
   0000F0 00001000 00000000 00100000 00000000 ................   
   000100 00000000 10000000 00000000 00000000 ................   
   000110 00200000 14000000 00000000 00000000 . ..............   
   000120 00000000 00000000 00000000 00000000 ................   
   000130 00000000 00000000 00000000 00000000 ................   
   000140 00000000 00000000 00000000 00000000 ................   
   000150 00000000 00000000 00000000 00000000 ................   
   000160 00000000 00000000 00000000 00000000 ................   
   000170 00000000 00000000 00000000 00000000 ................   
   000180 00000000 00000000 2E746578 74000000 .........text...   
   000190 60000000 00100000 00020000 00040000 `...............   
   0001A0 00000000 00000000 00000000 20005060 ............ .P`   
   0001B0 2E696461 74610000 14000000 00200000 .idata....... ..   
   0001C0 00020000 00060000 00000000 00000000 ................   
   0001D0 00000000 400030C0 00000000 00000000 ....@.0.........   
   0001E0 00000000 00000000 00000000 00000000 ................   
   0001F0 00000000 00000000 00000000 00000000 ................   
   000200 00000000 00000000 00000000 00000000 ................   
   000210 00000000 00000000 00000000 00000000 ................   
   000220 00000000 00000000 00000000 00000000 ................   
   000230 00000000 00000000 00000000 00000000 ................   
   000240 00000000 00000000 00000000 00000000 ................   
   000250 00000000 00000000 00000000 00000000 ................   
   000260 00000000 00000000 00000000 00000000 ................   
   000270 00000000 00000000 00000000 00000000 ................   
   000280 00000000 00000000 00000000 00000000 ................   
   000290 00000000 00000000 00000000 00000000 ................   
   0002A0 00000000 00000000 00000000 00000000 ................   
   0002B0 00000000 00000000 00000000 00000000 ................   
   0002C0 00000000 00000000 00000000 00000000 ................   
   0002D0 00000000 00000000 00000000 00000000 ................   
   0002E0 00000000 00000000 00000000 00000000 ................   
   0002F0 00000000 00000000 00000000 00000000 ................   
   000300 00000000 00000000 00000000 00000000 ................   
   000310 00000000 00000000 00000000 00000000 ................   
   000320 00000000 00000000 00000000 00000000 ................   
   000330 00000000 00000000 00000000 00000000 ................   
   000340 00000000 00000000 00000000 00000000 ................   
   000350 00000000 00000000 00000000 00000000 ................   
   000360 00000000 00000000 00000000 00000000 ................   
   000370 00000000 00000000 00000000 00000000 ................   
   000380 00000000 00000000 00000000 00000000 ................   
   000390 00000000 00000000 00000000 00000000 ................   
   0003A0 00000000 00000000 00000000 00000000 ................   
   0003B0 00000000 00000000 00000000 00000000 ................   
   0003C0 00000000 00000000 00000000 00000000 ................   
   0003D0 00000000 00000000 00000000 00000000 ................   
   0003E0 00000000 00000000 00000000 00000000 ................   
   0003F0 00000000 00000000 00000000 00000000 ................   
   000400 EBFEC3C3 C3C3C3C3 C3C3C3C3 C3C3C3C3 ................   
   000410 C3C3C3C3 C3C3C3C3 C3C3C3C3 C3C3C3C3 ................   
   000420 C3C3C3C3 C3C3C3C3 C3C3C3C3 C3C3C3C3 ................   
   000430 C3C3C3C3 C3C3C3C3 C3C3C3C3 C3C39090 ................   
   000440 FFFFFFFF FFFFFFFF 00000000 00000000 ................   
   000450 FFFFFFFF FFFFFFFF 00000000 00000000 ................   
   000460 00000000 00000000 00000000 00000000 ................   
   000470 00000000 00000000 00000000 00000000 ................   
   000480 00000000 00000000 00000000 00000000 ................   
   000490 00000000 00000000 00000000 00000000 ................   
   0004A0 00000000 00000000 00000000 00000000 ................   
   0004B0 00000000 00000000 00000000 00000000 ................   
   0004C0 00000000 00000000 00000000 00000000 ................   
   0004D0 00000000 00000000 00000000 00000000 ................   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|