anyways, i created a simple bootloader with about 12 lines of text, to be displayed on separate lines.
Code: Select all
;xOS Version 0.001 by LdaXy (Alexander Frankland) & Matthew Cartier 2011
;Do not use outside of an emulator!
;Do not redistribute without permission!
[BITS 16]
[ORG 0x7C00]
MOV SI, TITLE1
CALL PrintString
MOV SI, TITLE2
CALL PrintString
MOV SI, TITLE3
CALL PrintString
MOV SI, TITLE4
CALL PrintString
CALL PrintVersionInfo
HLT
PrintCharacter:
MOV AH, 0x0E
MOV BH, 0x00
MOV BL, 0x07
INT 0x10
RET
PrintString:
MOV AL, [SI]
INC SI
OR AL, AL
JZ ExitFunc
CALL PrintCharacter
JMP PrintString
ExitFunc:
RET
PrintVersionInfo:
MOV SI, ProductLine1
CALL PrintString
MOV SI, ProductLine2
CALL PrintString
MOV SI, ProductLine3
CALL PrintString
MOV SI, ProductLine4
CALL PrintString
MOV SI, ProductLine5
CALL PrintString
MOV SI, ProductLine6
CALL PrintString
MOV SI, ProductLine7
CALL PrintString
MOV SI, ProductLine8
CALL PrintString
MOV SI, ProductLine9
CALL PrintString
MOV SI, ProductLine10
CALL PrintString
RET
;Data
TITLE1 db 'xOS Kernel Version 0.013B Codename: Dexter',0Dh, 0Ah
TITLE2 db 'Developed by LdaXy (Alexander Frankland) and Matthew Cartier 2011', 0Dh, 0Ah
TITLE3 db 'Do not redistribute without permission! Do not use outside of an emulator!', 0Dh, 0Ah
TITLE4 db '====================================================================================', 0Dh, 0Ah
ProductLine1 db 'Changelog for V.0.013', 0Dh, 0Ah
ProductLine2 db '====================================================================================', 0Dh, 0Ah
ProductLine3 db '(Removed for now)Implemented CPUID Checking (May Not Work!)', 0Dh, 0Ah
ProductLine4 db 'To be added', 0Dh, 0Ah
ProductLine5 db '====================================================================================', 0Dh, 0Ah
ProductLine6 db 'Keyboard Drivers in development', 0Dh, 0Ah
ProductLine7 db '(Almost Complete) Simple Text Editor(NO SAVING)', 0Dh, 0Ah
ProductLine8 db '(Somewhat implimented) Memory testing. will halt on memsize < 128MB.', 0Dh, 0Ah
ProductLine9 db '(Future) GUI MODE. (Have not started yet. not untill kernel cmdline is done)', 0Dh, 0Ah
ProductLine10 db 'Network Drivers for P2p Connectivity. (NOT TORRENTING, FILE SHARING AND PC CONNECTIVITY)', 0Dh, 0Ah
DW 0xAA55
could somebody please explian where my error is? thanks.