remove print_string macro
This commit is contained in:
@@ -106,7 +106,9 @@ ALIGN 4, db 0x90
|
|||||||
SearchFATDIR:
|
SearchFATDIR:
|
||||||
__CDECL16_PROC_ENTRY
|
__CDECL16_PROC_ENTRY
|
||||||
.file_lookup:
|
.file_lookup:
|
||||||
print_string SearchFATDIR_info
|
__CDECL16_CALL_ARGS SearchFATDIR_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
mov bx, fat32_state
|
mov bx, fat32_state
|
||||||
.load_first_dir:
|
.load_first_dir:
|
||||||
mov eax, dword [bx + FAT32_State_t.curr_dir_cluster_32]
|
mov eax, dword [bx + FAT32_State_t.curr_dir_cluster_32]
|
||||||
@@ -176,7 +178,9 @@ SearchFATDIR:
|
|||||||
|
|
||||||
; TODO: move this to a seperate string search function
|
; TODO: move this to a seperate string search function
|
||||||
.parse_dir:
|
.parse_dir:
|
||||||
print_string MaybeFound_Boot_info
|
__CDECL16_CALL_ARGS MaybeFound_Boot_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
.lfn_check:
|
.lfn_check:
|
||||||
; check for ATTR_READ_ONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID (0x0F) in offset 11
|
; check for ATTR_READ_ONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID (0x0F) in offset 11
|
||||||
; TODO: going to skip LFN for now, since all valid volumes will have SFN's
|
; TODO: going to skip LFN for now, since all valid volumes will have SFN's
|
||||||
@@ -212,7 +216,8 @@ ALIGN 4, db 0x90
|
|||||||
NextCluster:
|
NextCluster:
|
||||||
__CDECL16_PROC_ENTRY
|
__CDECL16_PROC_ENTRY
|
||||||
.func:
|
.func:
|
||||||
print_string NextFATCluster_info
|
__CDECL16_CALL_ARGS NextFATCluster_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
mov ax, FAT32_NextClusterData_t_size
|
mov ax, FAT32_NextClusterData_t_size
|
||||||
push ax ; length
|
push ax ; length
|
||||||
@@ -285,7 +290,8 @@ ALIGN 4, db 0x90
|
|||||||
ReadFATCluster:
|
ReadFATCluster:
|
||||||
__CDECL16_PROC_ENTRY
|
__CDECL16_PROC_ENTRY
|
||||||
.func:
|
.func:
|
||||||
print_string ReadFATCluster_info
|
__CDECL16_CALL_ARGS ReadFATCluster_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
mov bx, fat32_bpb
|
mov bx, fat32_bpb
|
||||||
mov si, fat32_ebpb
|
mov si, fat32_ebpb
|
||||||
|
|||||||
@@ -34,13 +34,6 @@
|
|||||||
%include "early_mem.inc"
|
%include "early_mem.inc"
|
||||||
%include "error_codes.inc"
|
%include "error_codes.inc"
|
||||||
|
|
||||||
%macro print_string 1
|
|
||||||
mov ax, %1
|
|
||||||
push ax
|
|
||||||
call PrintString
|
|
||||||
add sp, 0x2
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
section .text
|
section .text
|
||||||
begin_text:
|
begin_text:
|
||||||
; dl = byte boot_drive
|
; dl = byte boot_drive
|
||||||
@@ -145,38 +138,44 @@ main:
|
|||||||
|
|
||||||
call SetTextMode
|
call SetTextMode
|
||||||
call disable_cursor_bios
|
call disable_cursor_bios
|
||||||
print_string HelloPrompt_info
|
|
||||||
|
__CDECL16_CALL_ARGS HelloPrompt_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
; setup the early heap
|
; setup the early heap
|
||||||
__CDECL16_CALL_ARGS early_heap_state
|
__CDECL16_CALL_ARGS early_heap_state
|
||||||
__CDECL16_CALL arena_init, 1
|
|
||||||
|
|
||||||
; enable A20 gate
|
; enable A20 gate
|
||||||
call EnableA20
|
call EnableA20
|
||||||
print_string A20_Enabled_OK_info
|
__CDECL16_CALL_ARGS A20_Enabled_OK_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
; get system memory map
|
; get system memory map
|
||||||
call GetMemoryMap
|
call GetMemoryMap
|
||||||
print_string MemoryMap_OK_info
|
__CDECL16_CALL_ARGS MemoryMap_OK_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
; enter unreal mode (enter PM w/ 16 bit code, 32 bit flat memory model & return to real)
|
; enter unreal mode (enter PM w/ 16 bit code, 32 bit flat memory model & return to real)
|
||||||
; ds, es will be set to the 64KiB STAGE2_SEGMENT, fs/gs will be flat/huge memory (4GiB)
|
; ds, es will be set to the 64KiB STAGE2_SEGMENT, fs/gs will be flat/huge memory (4GiB)
|
||||||
; use __REFLAT macros to re-flat ds/es for easy transfers to >1MiB
|
; use __REFLAT macros to re-flat ds/es for easy transfers to >1MiB
|
||||||
; NOTE: if you modify a segment register you will need to re-unreal it
|
; NOTE: if you modify a segment register you will need to re-unreal it
|
||||||
call EnterUnrealMode
|
call EnterUnrealMode
|
||||||
print_string UnrealMode_OK_info
|
__CDECL16_CALL_ARGS UnrealMode_OK_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
; FAT Driver setup
|
; FAT Driver setup
|
||||||
call InitFATDriver
|
call InitFATDriver
|
||||||
print_string InitFATSYS_OK_info
|
__CDECL16_CALL_ARGS InitFATSYS_OK_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
;
|
;
|
||||||
; Find first cluster of bootable file
|
; Find first cluster of bootable file
|
||||||
call SearchFATDIR
|
call SearchFATDIR
|
||||||
push dword eax ; save first cluster of bootable file
|
push dword eax ; save first cluster of bootable file
|
||||||
|
|
||||||
print_string FileFound_OK_info
|
__CDECL16_CALL_ARGS FileFound_OK_info
|
||||||
|
__CDECL16_CALL PrintString, 1
|
||||||
|
|
||||||
pop dword eax
|
pop dword eax
|
||||||
push dword eax ; print Cluster of boot file
|
push dword eax ; print Cluster of boot file
|
||||||
call PrintDWORD ; void PrintDWORD(uint32_t dword)
|
call PrintDWORD ; void PrintDWORD(uint32_t dword)
|
||||||
|
|||||||
Reference in New Issue
Block a user