You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1712 lines
36 KiB

{
"auto_complete":
{
"selected_items":
[
[
"lod",
"lodsb \tLoad String"
],
[
"th",
"there_\tlabel"
],
[
"end",
"%endif"
],
[
"bit",
"BITS 32"
],
[
"lg",
"lgdt \tLoad Global/Interrupt Descriptor Table Register"
],
[
"A20St",
"A20StatusBit\tlabel"
],
[
"A20",
"A20Enabled\tlabel"
],
[
"PrintAx",
"PrintAxDec\tlabel"
],
[
"Prin",
"PrintAx"
],
[
"print",
"PrintString\tlabel"
],
[
"St",
"Stage1\tlabel"
],
[
"Sta",
"Stage2\tlabel"
],
[
"S",
"Stage2\tlabel"
],
[
"Pr",
"PrintString\tlabel"
],
[
"se",
"SecondStageString\tlabel"
],
[
"Se",
"SecondStageString\tlabel"
],
[
"Load",
"LoadOneSector\tlabel"
],
[
"pri",
"PrintAxDec"
],
[
"P",
"PrintMemoryRegion\tlabel"
],
[
"st",
"stc \tSet Carry Flag"
],
[
"pr",
"PrintAX\tlabel"
],
[
"push",
"pusha \tPush All General"
],
[
"lods",
"lodsb \tLoad String"
],
[
"bits",
"BITS 16"
],
[
"os",
"os_clear_screen\tlabel"
],
[
"form",
"format_string"
],
[
"ex",
"example_format_string\tlabel"
],
[
"dump",
"dumpax10\tlabel"
],
[
"pus",
"pusha \tPush All General"
],
[
"dump_",
"dump_segment_registers\tlabel"
],
[
"la",
"lahf \tLoad Status Flags into AH Register"
],
[
"dum",
"dump_dx_as_two_chars\tlabel"
],
[
"Cir",
"CircCenterX"
],
[
"BITS",
"BITS 16"
],
[
"j",
"jnbe \tJump if Condition Is Met"
],
[
"write",
"write_buffer"
],
[
"wri",
"write_buffer"
],
[
"fil",
"file_buffer_"
],
[
"MM",
"MM_MAP_UNINITIALIZED"
],
[
"SYSM",
"SYS_MMAP_PROT_READ"
],
[
"SYS",
"SYS_MMAP"
],
[
"Con",
"Control_R"
],
[
"Contro",
"Control_L"
]
]
},
"buffers":
[
{
"contents": ";;\n;; enableA20.s (adapted from Visopsys OS-loader)\n;;\n;; Copyright (c) 2000, J. Andrew McLaughlin\n;; You're free to use this code in any manner you like, as long as this\n;; notice is included (and you give credit where it is due), and as long\n;; as you understand and accept that it comes with NO WARRANTY OF ANY KIND.\n;; Contact me at jamesamc@yahoo.com about any bugs or problems.\n;;\n\nenableA20:\n\t;; This subroutine will enable the A20 address line in the keyboard\n\t;; controller. Takes no arguments. Returns 0 in EAX on success, \n\t;; -1 on failure. Written for use in 16-bit code, see lines marked\n\t;; with 32-BIT for use in 32-bit code.\n\n\tpusha\n\n\t;; Make sure interrupts are disabled\n\tcli\n\n\t;; Keep a counter so that we can make up to 5 attempts to turn\n\t;; on A20 if necessary\n\tmov CX, 5\n\n\t.startAttempt1:\t\t\n\t;; Wait for the controller to be ready for a command\n\t.commandWait1:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 1\n\tjc .commandWait1\n\n\t;; Tell the controller we want to read the current status.\n\t;; Send the command D0h: read output port.\n\tmov AL, 0D0h\n\tout 64h, AL\n\n\t;; Wait for the controller to be ready with a byte of data\n\t.dataWait1:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 0\n\tjnc .dataWait1\n\n\t;; Read the current port status from port 60h\n\txor AX, AX\n\tin AL, 60h\n\n\t;; Save the current value of (E)AX\n\tpush AX\t\t\t; 16-BIT\n\t;; push EAX\t\t; 32-BIT\n\n\t;; Wait for the controller to be ready for a command\n\t.commandWait2:\n\tin AL, 64h\n\tbt AX, 1\n\tjc .commandWait2\n\n\t;; Tell the controller we want to write the status byte again\n\tmov AL, 0D1h\n\tout 64h, AL\t\n\n\t;; Wait for the controller to be ready for the data\n\t.commandWait3:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 1\n\tjc .commandWait3\n\n\t;; Write the new value to port 60h. Remember we saved the old\n\t;; value on the stack\n\tpop AX\t\t\t; 16-BIT\n\t;; pop EAX\t\t; 32-BIT\n\n\t;; Turn on the A20 enable bit\n\tor AL, 00000010b\n\tout 60h, AL\n\n\t;; Finally, we will attempt to read back the A20 status\n\t;; to ensure it was enabled.\n\n\t;; Wait for the controller to be ready for a command\n\t.commandWait4:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 1\n\tjc .commandWait4\n\n\t;; Send the command D0h: read output port.\n\tmov AL, 0D0h\n\tout 64h, AL\t\n\n\t;; Wait for the controller to be ready with a byte of data\n\t.dataWait2:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 0\n\tjnc .dataWait2\n\n\t;; Read the current port status from port 60h\n\txor AX, AX\n\tin AL, 60h\n\n\t;; Is A20 enabled?\n\tbt AX, 1\n\n\t;; Check the result. If carry is on, A20 is on.\n\tjc .success\n\n\t;; Should we retry the operation? If the counter value in ECX\n\t;; has not reached zero, we will retry\n\tloop .startAttempt1\n\n\n\t;; Well, our initial attempt to set A20 has failed. Now we will\n\t;; try a backup method (which is supposedly not supported on many\n\t;; chipsets, but which seems to be the only method that works on\n\t;; other chipsets).\n\n\n\t;; Keep a counter so that we can make up to 5 attempts to turn\n\t;; on A20 if necessary\n\tmov CX, 5\n\n\t.startAttempt2:\n\t;; Wait for the keyboard to be ready for another command\n\t.commandWait6:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 1\n\tjc .commandWait6\n\n\t;; Tell the controller we want to turn on A20\n\tmov AL, 0DFh\n\tout 64h, AL\n\n\t;; Again, we will attempt to read back the A20 status\n\t;; to ensure it was enabled.\n\n\t;; Wait for the controller to be ready for a command\n\t.commandWait7:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 1\n\tjc .commandWait7\n\n\t;; Send the command D0h: read output port.\n\tmov AL, 0D0h\n\tout 64h, AL\t\n\n\t;; Wait for the controller to be ready with a byte of data\n\t.dataWait3:\n\txor AX, AX\n\tin AL, 64h\n\tbt AX, 0\n\tjnc .dataWait3\n\n\t;; Read the current port status from port 60h\n\txor AX, AX\n\tin AL, 60h\n\n\t;; Is A20 enabled?\n\tbt AX, 1\n\n\t;; Check the result. If carry is on, A20 is on, but we might warn\n\t;; that we had to use this alternate method\n\tjc .warn\n\n\t;; Should we retry the operation? If the counter value in ECX\n\t;; has not reached zero, we will retry\n\tloop .startAttempt2\n\n\n\t;; OK, we weren't able to set the A20 address line. Do you want\n\t;; to put an error message here?\n\tjmp .fail\n\n\n\t.warn:\n\t;; Here you may or may not want to print a warning message about\n\t;; the fact that we had to use the nonstandard alternate enabling\n\t;; method\n\n\t.success:\n\tsti\n\tpopa\n\txor EAX, EAX\n\tret\n\n\t.fail:\n\tsti\n\tpopa\n\tmov EAX, -1\n\tret",
"settings":
{
"buffer_size": 4212,
"line_ending": "Unix",
"name": ";;"
}
},
{
"file": "write_self.nasm",
"settings":
{
"buffer_size": 552,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "Folm.bin",
"settings":
{
"buffer_size": 5120,
"encoding": "Hexadecimal",
"line_ending": "Unix"
}
},
{
"file": "bootloader.nasm",
"settings":
{
"buffer_size": 7311,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"contents": "A20EnableViaKeyboardController:\n\tcli\n \n\tcall\t.KeyboardControllerWait\n\tmov\tal,0xAD\n\tout\t0x64,al\n \n\tcall\t.KeyboardControllerWait\n\tmov\tal,0xD0\n\tout\t0x64,al\n \n\tcall\t.KeyboardControllerWait2\n\tin\tal,0x60\n\tpush\teax\n \n\tcall\t.KeyboardControllerWait\n\tmov\tal,0xD1\n\tout\t0x64,al\n \n\tcall\t.KeyboardControllerWait\n\tpop\teax\n\tor\tal,2\n\tout\t0x60,al\n \n\tcall\t.KeyboardControllerWait\n\tmov\tal,0xAE\n\tout\t0x64,al\n \n\tcall\t.KeyboardControllerWait\n\tsti\n\tret\n \n.KeyboardControllerWait:\n\tin\tal,0x64\n\ttest\tal,2\n\tjnz\t.KeyboardControllerWait\n\tret\n \n \n.KeyboardControllerWait2:\n\tin\tal,0x64\n\ttest\tal,1\n\tjz\t.KeyboardControllerWait2\n\tret",
"settings":
{
"buffer_size": 599,
"line_ending": "Unix"
}
},
{
"file": ".bochsrc",
"settings":
{
"buffer_size": 106,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "bootloader_macros.inc",
"settings":
{
"buffer_size": 2124,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "Artiskok.bin",
"settings":
{
"buffer_size": 1280,
"encoding": "Hexadecimal",
"line_ending": "Unix"
}
},
{
"file": "build",
"settings":
{
"buffer_size": 508,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "Artiskok.dissasm",
"settings":
{
"buffer_size": 10250,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "bootloader_bios_functions.inc",
"settings":
{
"buffer_size": 4166,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "bootloader_A20.nasm",
"settings":
{
"buffer_size": 4176,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "VGA/grdemo.c",
"settings":
{
"buffer_size": 22663,
"encoding": "UTF-8",
"line_ending": "Windows"
}
},
{
"file": "Floppy.img",
"settings":
{
"buffer_size": 3686400,
"encoding": "Hexadecimal",
"line_ending": "Unix"
}
},
{
"file": "Folmer.dissasm",
"settings":
{
"buffer_size": 17759,
"line_ending": "Unix"
}
},
{
"file": "shit/WTF_MAYBE2.bin",
"settings":
{
"buffer_size": 1280,
"encoding": "Hexadecimal",
"line_ending": "Unix"
}
}
],
"build_system": "Packages/User/Build_Script.sublime-build",
"build_system_choices":
[
[
[
[
"Packages/User/Build_Script.sublime-build",
""
],
[
"Packages/User/Build_Script.sublime-build",
"Run"
]
],
[
"Packages/User/Build_Script.sublime-build",
""
]
],
[
[
[
"Packages/User/Build_Script.sublime-build",
""
],
[
"Packages/User/Build_Script.sublime-build",
"Run"
],
[
"Packages/User/Build_Script.sublime-build",
"Debug"
]
],
[
"Packages/User/Build_Script.sublime-build",
""
]
]
],
"build_varint": "",
"command_palette":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
[
"re",
"File: Reveal"
],
[
"rev",
"File: Reveal"
],
[
"upp",
"Convert Case: Upper Case"
],
[
"reve",
"File: Reveal"
],
[
"pasc",
"Convert Case: PascalCase"
],
[
"nas",
"Set Syntax: Assembly x86 (NASM)"
],
[
"per",
"Permute Lines: Reverse"
],
[
" bash",
"Set Syntax: Bourne Again Shell (bash)"
],
[
"pas",
"Convert Case: PascalCase"
],
[
"nasm",
"Set Syntax: Assembly x86 (NASM)"
],
[
"rei",
"Indentation: Reindent Lines"
],
[
"con",
"Convert Case: snake_case"
],
[
"bash",
"Set Syntax: Bourne Again Shell (bash)"
],
[
"pascalca",
"Convert Case: PascalCase"
],
[
"conve",
"Convert Case: PascalCase"
],
[
"convertpas",
"Convert Case: PascalCase"
],
[
"case",
"Convert Case: Title Case"
],
[
"pacin",
"Package Control: Install Package"
],
[
"packu",
"Package Control: Upgrade Package"
],
[
"pacl",
"Package Control: List Packages"
],
[
"lo",
"Convert Case: Lower Case"
],
[
"lower",
"Convert Case: Lower Case"
],
[
"rein",
"Indentation: Reindent Lines"
],
[
"newfil",
"ANF: New File"
],
[
"pakin",
"Package Control: Install Package"
],
[
"ui",
"UI: Select Color Scheme"
],
[
"permure",
"Permute Lines: Reverse"
],
[
"reverse",
"Permute Lines: Reverse"
],
[
"eval",
"Pyxec: Evaluate, replace selection"
],
[
"packin",
"Package Control: Install Package"
],
[
"pacad",
"Package Control: Add Repository"
],
[
"pac",
"Package Control: Install Package"
],
[
"gas",
"Set Syntax: GAS/AT&T x86/x64"
],
[
"u",
"UI: Select Color Scheme"
],
[
"packdi",
"Package Control: Disable Package"
],
[
"bou",
"Set Syntax: Bourne Again Shell (bash)"
],
[
"sygas",
"Set Syntax: GAS/AT&T x86/x64"
],
[
"",
"Build With: Build_Script"
],
[
":w",
":w - Save"
],
[
"packen",
"Package Control: Enable Package"
],
[
"bas",
"Set Syntax: Bourne Again Shell (bash)"
],
[
"uppc",
"Convert Case: Upper Case"
],
[
"color",
"Color Highlight: Reset"
],
[
"in",
"Package Control: Install Package"
],
[
"syntaxb",
"Set Syntax: Batch File"
],
[
"uis",
"UI: Select Theme"
],
[
"COLO",
"Colorsublime: Install Theme"
],
[
"install",
"Package Control: Install Package"
]
],
"width": 0.0
},
"console":
{
"height": 165.0,
"history":
[
"2**15",
"2**16",
"hex(4<<20)",
"4<<20",
"hex(4*1024*1024)",
"4*1024*1024",
"1<<64",
"32768 * 8 / 1024",
"32768 * 8",
"1 << 15",
"hex((1 << 15))",
"(1<<15) *4",
"1<<15 *4",
"(1 << 15 << 2)"
]
},
"distraction_free":
{
"menu_visible": false,
"show_minimap": false,
"show_open_files": false,
"show_tabs": false,
"side_bar_visible": false,
"status_bar_visible": false
},
"expanded_folders":
[
"/home/jakob/Personal/Development/OS/lets32bit",
"/home/jakob/Personal/Development/OS/lets32bit/VGA"
],
"file_history":
[
"/home/jakob/Personal/Development/OS/lets32bit/Floppy.img",
"/home/jakob/Personal/Development/OS/lets32bit/boot.bin",
"/home/jakob/Personal/Development/OS/lets32bit/Folm.bin",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_bios_functions.inc",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_Folmer.bin",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_MAYBE2.bin",
"/home/jakob/Downloads/mikeos-4.5/source/bootload/bootload.asm",
"/home/jakob/Personal/Development/OS/lets32bit/Folmer.dissasm",
"/home/jakob/Personal/Development/OS/lets32bit/build",
"/home/jakob/.i3/config",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_4Sectors.bin",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_MAYBE.bin",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_69.bin",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_Overwrite_Sector1.bin",
"/tmp/xa-6TQKPZ/bootload.asm",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_defines.inc",
"/home/jakob/Downloads/Floppy.img",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_MAYBE_OLD_ACER.bin",
"/home/jakob/Personal/Development/OS/lets32bit/bochsrc.bxrc",
"/home/jakob/Downloads/mos/mikeos-4.5/source/bootload/bootload.asm",
"/tmp/xa-2L91PZ/SMBMBR.ASM",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_MAYBE4.bin",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_MAYBE3.bin",
"/home/jakob/Personal/Development/OS/lets32bit/WTF_MAYBE5.bin",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_stage2.nasm",
"/tmp/xa-2L91PZ/SMBMBR.LNK",
"/home/jakob/Personal/Development/OS/SingOS/build.sh",
"/home/jakob/Personal/Development/OS/lets32bit/boot.img",
"/tmp/xa-GE5RPZ/bootload.asm",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_stage1.nasm",
"/tmp/xa-6TQKPZ/kernel.asm",
"/tmp/xa-6TQKPZ/build-linux.sh",
"/tmp/xa-6TQKPZ/test-linux.sh",
"/home/jakob/Personal/Development/OS/SingOS/lib/debug_tools.nasm",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader.nasm",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_stage_2.nasm",
"/home/jakob/Downloads/P4/Makefile",
"/home/jakob/Downloads/P4/boot/config.mk",
"/home/jakob/Personal/Development/OS/SingOS/bootloader.nasm",
"/home/jakob/Downloads/DexOS/DexOS_2012/kernel32.asm",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_data.inc",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_get_hardware_info.inc",
"/home/jakob/Downloads/DexOS/DexOS_2012/BootPro/boot12.asm",
"/home/jakob/Downloads/DexOS/DexOS_2012/BootPro/HddBoot/boot16.asm",
"/home/jakob/Personal/Development/OS/lets32bit/bootloader_vga_functions.inc",
"/home/jakob/.config/sublime-text-3/Packages/User/Default (Linux).sublime-keymap",
"/home/jakob/.config/sublime-text-3/Packages/AdvancedNewFile/Default (Linux).sublime-keymap",
"/home/jakob/Personal/Development/OS/SingOS/.gitignore",
"/home/jakob/Personal/Development/OS/SingOS/lib/svim.nasm",
"/home/jakob/Personal/Development/OS/SingOS/lib/std_power.nasm",
"/home/jakob/Personal/Development/OS/SingOS/lib/os_lib.nasm",
"/home/jakob/Personal/Development/OS/SingOS/legacy/source/build.sh",
"/home/jakob/Personal/Development/OS/SingOS/build",
"/home/jakob/Personal/Development/OS/SingOS/kernel.nasm",
"/home/jakob/Personal/Development/OS/SingOS/CLI/CLI.nasm",
"/home/jakob/Personal/Development/OS/SingOS/vsfs/vsfs.nasm",
"/home/jakob/Personal/Development/OS/SingOS/lib/string.nasm",
"/home/jakob/Personal/Development/OS/SingOS/mem_lib/mem_lib.nasm",
"/home/jakob/Personal/Development/OS/SingOS/kernel.bin",
"/home/jakob/Personal/Development/OS/SingOS/lib/printkey.nasm",
"/home/jakob/Personal/Development/Games/RaylibTest/build",
"/home/jakob/Personal/Development/OS/SingOS/lib/dumpmem.nasm",
"/home/jakob/.config/sublime-text-3/Packages/User/Build_Script.sublime-build",
"/home/jakob/Personal/Development/Games/RaylibTest/main.c",
"/home/jakob/Personal/Development/C-Music/build",
"/home/jakob/Personal/Datalogistudie/DM548 - Computer Architecture/project1/blehg/asm/numbers.txt",
"/home/jakob/Personal/Datalogistudie/DM548 - Computer Architecture/project1/blehg/asm/sorted.txt",
"/home/jakob/Personal/Datalogistudie/DM861 - Concurrency Theory/Proofs/p1_plain.txt",
"/home/jakob/Personal/Datalogistudie/DM548 - Computer Architecture/project1/blehg/asm/build",
"/home/jakob/Personal/Datalogistudie/DM548 - Computer Architecture/project1/blehg/asm/generate.sh",
"/home/jakob/Personal/Development/C-Music/files.h",
"/home/jakob/.config/conky/conky.conf",
"/home/jakob/.config/conky/conky1.10_shortcuts_w2k",
"/usr/bin/start_conky_green",
"/home/jakob/Personal/Development/C-Music/music.c",
"/home/jakob/.Xresources",
"/usr/bin/start_conky_gre",
"/home/jakob/.dmenurc",
"/home/jakob/.xprofile",
"/home/jakob/.Xmodmap",
"/home/jakob/.profile",
"/usr/bin/terminal"
],
"find":
{
"height": 40.0
},
"find_in_files":
{
"height": 120.0,
"where_history":
[
""
]
},
"find_state":
{
"case_sensitive": true,
"find_history":
[
"llll",
"lodsb",
"mov",
"inp",
"eb26 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 31c0 8ec0 bb00 7cb8\n0103 b904 0030 f6cd 13b9 1000 93b8 180e\nd1e3 d0d0 cd10 e2f5 faf4 ebfc 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 0000\n0000 0000 0000 0000 0000 0000 0000 55aa",
"0000",
"000",
"00",
"0000",
" 00",
"0000",
"000",
"00",
"0000",
"000",
"00",
"0000",
"SectorsPerTrack",
"dw",
"pmb",
"\\s+",
"\\\n",
" ",
" ",
"\\\n",
"\n",
"SEG_",
"(x)",
"0x",
"0x0",
"ACC_",
".",
"|",
"1<<",
"GDT_BASE",
"macro",
"|",
" \\",
"0x",
"//",
"(x)",
"//",
"(x) ",
"#",
"GDT_BASE",
"di",
"ptr",
"es:",
"#",
" ",
"es",
"xor",
"es",
"A20_Is_Enabled",
"ds",
"A20EnabledStr",
"A20_OUT_Wait",
"A20_IN_Wait",
"Check_A20_Return",
"A20_Is_Enabled",
"A20_OUT_Wait",
"Print_Str",
"A20_OUT_Wait",
"A20_ERROR",
"0x64",
"EnableA20Bios",
"A20EnableViaKeyboardController",
"enable_A20",
"a20wait",
" +",
"enable_A20",
"EnableA20",
" +",
"a20_failed",
"(\\d[\\da-fA-F]*)h",
"(\\d[\\da-fA-F]{3})h",
"15h",
"\\d+h",
"15h",
" ",
"(?<!;) +\\b",
" +\\b",
"cmp al",
"jz a20_activated",
" ",
" ",
"IntNotSupported",
"a20_ns",
"cmp ah,0",
"a20_ns",
"check_a20__exit",
"db",
"\\bctrl",
"\\bcp",
"cp",
"b",
"\\s",
"65",
"0x65",
"e9",
"'",
"\n",
" ",
"\n",
" ",
"\n",
" ",
"90",
"phuck",
"90",
"e9cb 01ff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff ffff\nffff ffff ffff ffff ffff ffff ffff 31c0\n8ec0 bb00 7cb8 0102 b902 0030 f660 cd13\n61b8 0103 b904 0030 f6cd 13b9 1000 93b8\n180e d1e3 d0d0 cd10 e2f5 faf4 ebfc 55aa",
"Stage1",
"90",
"GLOBAL",
"0xe00|",
"ax",
"PrintAx",
"Dec",
"printCRLF",
"dumpax10",
"GLOBAL",
"bootdev",
".DiskReadError",
"NoChange",
"no_change",
"STAGE2_BASE",
"RestartOnDiskReadError",
"ErrorState"
],
"highlight": true,
"in_selection": true,
"preserve_case": false,
"regex": true,
"replace_history":
[
"",
"A20EnableViaBIOS",
"0x$1",
"hwi_boot_drive_number",
"hwi_booted_drive_number",
"print_string",
"error_str_conv_mem",
"$1"
],
"reverse": false,
"show_context": true,
"use_buffer2": true,
"whole_word": false,
"wrap": true
},
"groups":
[
{
"selected": 3,
"sheets":
[
{
"buffer": 0,
"semi_transient": false,
"settings":
{
"buffer_size": 4212,
"regions":
{
},
"selection":
[
[
387,
387
]
],
"settings":
{
"auto_name": ";;",
"default_dir": "/home/jakob/Downloads/DexOS/DexOS_2012/BootPro/HddBoot",
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 5,
"type": "text"
},
{
"buffer": 1,
"file": "write_self.nasm",
"semi_transient": false,
"settings":
{
"buffer_size": 552,
"regions":
{
},
"selection":
[
[
163,
163
]
],
"settings":
{
"history_list_is_closing": true,
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 4,
"type": "text"
},
{
"buffer": 2,
"file": "Folm.bin",
"semi_transient": false,
"settings":
{
"buffer_size": 5120,
"regions":
{
},
"selection":
[
[
304,
304
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 3,
"type": "text"
},
{
"buffer": 3,
"file": "bootloader.nasm",
"semi_transient": false,
"settings":
{
"buffer_size": 7311,
"regions":
{
},
"selection":
[
[
422,
422
]
],
"settings":
{
"history_list_is_closing": true,
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"tab_size": 8,
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 0,
"type": "text"
},
{
"buffer": 4,
"semi_transient": false,
"settings":
{
"buffer_size": 599,
"regions":
{
},
"selection":
[
[
599,
599
]
],
"settings":
{
"default_dir": "/home/jakob/Personal/Development/OS/lets32bit",
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"tab_size": 8,
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 13,
"type": "text"
},
{
"buffer": 5,
"file": ".bochsrc",
"semi_transient": false,
"settings":
{
"buffer_size": 106,
"regions":
{
},
"selection":
[
[
106,
106
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 7,
"type": "text"
},
{
"buffer": 6,
"file": "bootloader_macros.inc",
"semi_transient": false,
"settings":
{
"buffer_size": 2124,
"regions":
{
},
"selection":
[
[
72,
72
]
],
"settings":
{
"_anf_new": "",
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 6,
"type": "text"
},
{
"buffer": 7,
"file": "Artiskok.bin",
"semi_transient": false,
"settings":
{
"buffer_size": 1280,
"regions":
{
},
"selection":
[
[
597,
597
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 18,
"type": "text"
},
{
"buffer": 8,
"file": "build",
"semi_transient": false,
"settings":
{
"buffer_size": 508,
"regions":
{
},
"selection":
[
[
388,
388
]
],
"settings":
{
"_anf_new": "",
"history_list_is_closing": true,
"syntax": "Packages/ShellScript/Bash.sublime-syntax"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 17,
"type": "text"
},
{
"buffer": 9,
"file": "Artiskok.dissasm",
"semi_transient": false,
"settings":
{
"buffer_size": 10250,
"regions":
{
},
"selection":
[
[
1273,
1273
]
],
"settings":
{
"history_list_is_closing": true,
"syntax": "Packages/Text/Plain text.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 54.0,
"zoom_level": 1.0
},
"stack_index": 11,
"type": "text"
},
{
"buffer": 10,
"file": "bootloader_bios_functions.inc",
"semi_transient": false,
"settings":
{
"buffer_size": 4166,
"regions":
{
},
"selection":
[
[
2888,
2888
]
],
"settings":
{
"_anf_new": "",
"history_list_is_closing": true,
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"tab_size": 8
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 14,
"type": "text"
},
{
"buffer": 11,
"file": "bootloader_A20.nasm",
"semi_transient": false,
"settings":
{
"buffer_size": 4176,
"regions":
{
},
"selection":
[
[
2545,
2545
]
],
"settings":
{
"_anf_new": "",
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 713.0,
"zoom_level": 1.0
},
"stack_index": 15,
"type": "text"
},
{
"buffer": 6,
"file": "bootloader_macros.inc",
"semi_transient": false,
"settings":
{
"buffer_size": 2124,
"regions":
{
},
"selection":
[
[
1026,
1026
]
],
"settings":
{
"_anf_new": "",
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 594.0,
"zoom_level": 1.0
},
"stack_index": 16,
"type": "text"
},
{
"buffer": 6,
"file": "bootloader_macros.inc",
"semi_transient": false,
"settings":
{
"buffer_size": 2124,
"regions":
{
},
"selection":
[
[
2124,
2124
]
],
"settings":
{
"_anf_new": "",
"syntax": "Packages/NASM x86 Assembly/Assembly x86.tmLanguage",
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 756.0,
"zoom_level": 1.0
},
"stack_index": 12,
"type": "text"
},
{
"buffer": 8,
"file": "build",
"semi_transient": false,
"settings":
{
"buffer_size": 508,
"regions":
{
},
"selection":
[
[
311,
311
]
],
"settings":
{
"_anf_new": "",
"history_list_is_closing": true,
"syntax": "Packages/ShellScript/Bash.sublime-syntax"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"type": "text"
},
{
"buffer": 12,
"file": "VGA/grdemo.c",
"semi_transient": false,
"settings":
{
"buffer_size": 22663,
"regions":
{
},
"selection":
[
[
20726,
20726
]
],
"settings":
{
"syntax": "Packages/C++/C.sublime-syntax",
"translate_tabs_to_spaces": false
},
"translation.x": 0.0,
"translation.y": 222.0,
"zoom_level": 1.0
},
"stack_index": 2,
"type": "text"
},
{
"buffer": 13,
"file": "Floppy.img",
"semi_transient": false,
"settings":
{
"buffer_size": 3686400,
"regions":
{
},
"selection":
[
[
479,
479
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 8,
"type": "text"
},
{
"buffer": 14,
"file": "Folmer.dissasm",
"semi_transient": false,
"settings":
{
"buffer_size": 17759,
"regions":
{
},
"selection":
[
[
348,
348
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 9,
"type": "text"
},
{
"buffer": 15,
"file": "shit/WTF_MAYBE2.bin",
"semi_transient": false,
"settings":
{
"buffer_size": 1280,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 10,
"type": "text"
}
]
}
],
"incremental_find":
{
"height": 27.0
},
"input":
{
"height": 46.0
},
"layout":
{
"cells":
[
[
0,
0,
1,
1
]
],
"cols":
[
0.0,
1.0
],
"rows":
[
0.0,
1.0
]
},
"menu_visible": true,
"output.exec":
{
"height": 157.0
},
"output.find_results":
{
"height": 0.0
},
"pinned_build_system": "Packages/User/Build_Script.sublime-build",
"project": "proj.sublime-project",
"replace":
{
"height": 71.0
},
"save_all_on_build": true,
"select_file":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
[
"gr",
"VGA/grdemo.c"
],
[
"bui",
"build"
],
[
"",
"Floppy.img"
],
[
"fl",
"Floppy.img"
],
[
"bu",
"build"
],
[
"flo",
"Floppy.img"
],
[
"fo",
"Folm.bin"
],
[
"boot",
"boot.bin"
],
[
"wr",
"write_self.nasm"
],
[
"fol",
"Folm.bin"
],
[
"Fl",
"Floppy.img"
],
[
"WTF",
"shit/WTF_MAYBE2.bin"
],
[
"diss",
"Folmer.dissasm"
],
[
"buil",
"build"
],
[
"mac",
"bootloader_macros.inc"
],
[
"bio",
"bootloader_bios_functions.inc"
],
[
"boo",
"bootloader_bios_functions.inc"
],
[
"boch",
".bochsrc"
],
[
"b",
"bootloader_bios_functions.inc"
],
[
"bootload",
"bootloader.nasm"
],
[
"wt",
"WTF_MAYBE2.bin"
],
[
"n",
"bootloader.nasm"
],
[
"folm",
"WTF_Folmer.bin"
],
[
"writ",
"write_self.nasm"
],
[
"flop",
"Floppy.img"
],
[
"old",
"WTF_MAYBE_OLD_ACER.bin"
],
[
"boot.b",
"boot.bin"
],
[
"boot.",
"boot.bin"
],
[
"Flo",
"Floppy.img"
],
[
"bios",
"bootloader_bios_functions.inc"
],
[
"w",
"write_self.nasm"
],
[
"min",
"min.nasm"
],
[
"nasm",
"bootloader.nasm"
],
[
"bootln",
"bootloader.nasm"
],
[
"boot.im",
"boot.img"
],
[
"boodef",
"bootloader_defines.inc"
],
[
"bootl",
"bootloader_stage2.nasm"
],
[
"bootlb",
"bootloader_bios_functions.inc"
],
[
"get",
"bootloader_get_hardware_info.inc"
],
[
"data",
"bootloader_data.inc"
],
[
"da",
"bootloader_data.inc"
],
[
"ker",
"kernel.bin"
],
[
"os",
"lib/os_lib.nasm"
],
[
"deb",
"lib/debug_tools.nasm"
],
[
"gi",
".gitignore"
],
[
"sor",
"sorter.asm"
],
[
"ton",
"tone.csv"
],
[
"fi",
"files.h"
],
[
"mu",
"music.c"
],
[
"fil",
"files.h"
]
],
"width": 0.0
},
"select_project":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
],
"width": 0.0
},
"select_symbol":
{
"height": 0.0,
"last_filter": "",
"selected_items":
[
],
"width": 0.0
},
"selected_group": 0,
"settings":
{
},
"show_minimap": false,
"show_open_files": false,
"show_tabs": true,
"side_bar_visible": true,
"side_bar_width": 209.0,
"status_bar_visible": true,
"template_settings":
{
}
}