Final version
This commit is contained in:
parent
17342b6665
commit
6faff6dedb
@ -1,255 +0,0 @@
|
|||||||
#include <debugio.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <memory-add.h>
|
|
||||||
#include "../hal/mouse/mouse.h"
|
|
||||||
#include "../drivers/floppy/floppy.h"
|
|
||||||
|
|
||||||
string ConsoleCommands[] =
|
|
||||||
{
|
|
||||||
"osver",
|
|
||||||
"time",
|
|
||||||
"cls",
|
|
||||||
"help",
|
|
||||||
"dump",
|
|
||||||
"mem",
|
|
||||||
"crash",
|
|
||||||
"mouse",
|
|
||||||
"read",
|
|
||||||
"reboot",
|
|
||||||
"restart",
|
|
||||||
};
|
|
||||||
|
|
||||||
int32 ConsoleCommandsCount = 11;
|
|
||||||
|
|
||||||
/*****************************************
|
|
||||||
* osver - get os info *
|
|
||||||
*****************************************/
|
|
||||||
void CommandOsver()
|
|
||||||
{
|
|
||||||
ConsoleWrite ("%#%s%# 32bit operating system\n", Color(0,ColorYellow), OS_STRING, Color(0,ColorLightGray));
|
|
||||||
|
|
||||||
int32 i = 0;
|
|
||||||
for (i = 0; i < 30; i++)
|
|
||||||
ConsoleWrite ("%#%c", ColorDarkGray, 205);
|
|
||||||
|
|
||||||
ConsoleWrite ("\n%#OS version: %#%s\n", ColorDarkGray, ColorLightGray, OS_VERSION);
|
|
||||||
ConsoleWrite ("%#Build: %#%s ", ColorDarkGray, ColorLightGray, OS_BUILD);
|
|
||||||
ConsoleWrite ("%#built on %#%s %#at %#%s\n", ColorDarkGray, ColorLightGray, OS_BUILD_DATE, ColorDarkGray, ColorLightGray, OS_BUILD_TIME);
|
|
||||||
ConsoleWrite ("%#(c) Copyright %#CTA Systems Inc.\n", ColorDarkGray ,ColorLightGray);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************
|
|
||||||
* time - get date and time *
|
|
||||||
*****************************************/
|
|
||||||
void CommandTime()
|
|
||||||
{
|
|
||||||
const char* Months[] = {
|
|
||||||
"", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
|
|
||||||
};
|
|
||||||
|
|
||||||
const char* Weekdays[] = {
|
|
||||||
"", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
Time time = TimeConvertToTime(TimeGetInternalTime());
|
|
||||||
|
|
||||||
ConsoleWrite ("Current time: ");
|
|
||||||
ConsoleWrite ("%#%d:%d%d:%d%d.%d%d%d\n", Color(0,ColorLightGreen) ,(int)time.Hour,
|
|
||||||
time.Minute/10, time.Minute%10, time.Second/10, time.Second%10, time.Milisecond/100, (time.Milisecond/10)%10, time.Milisecond%10);
|
|
||||||
|
|
||||||
ConsoleWrite ("Date: %#%s, %s %d, %d\n", Color(0,ColorLightGreen), Weekdays[time.WeekDay],
|
|
||||||
Months[time.Month], time.Day, time.Year);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************
|
|
||||||
* help - help provider *
|
|
||||||
*****************************************/
|
|
||||||
void CommandHelp(string params[], int32 count)
|
|
||||||
{
|
|
||||||
if (count <= 1)
|
|
||||||
{
|
|
||||||
ConsoleWrite ("Available commands:\n");
|
|
||||||
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < ConsoleCommandsCount; i++)
|
|
||||||
ConsoleWrite(" > %#%s\n", Color(0,ColorWhite), ConsoleCommands[i]);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ConsoleWrite("%#! Help for %s command is not implemented yet.\n", Color(0,ColorLightRed), params[1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************
|
|
||||||
* dump - dumps memory content *
|
|
||||||
*****************************************/
|
|
||||||
inline char hex (int32 digit)
|
|
||||||
{
|
|
||||||
return (digit < 10) ? (digit + '0') : (digit - 10 + 'A');
|
|
||||||
}
|
|
||||||
|
|
||||||
void CommandDump (string argv[], int32 argc)
|
|
||||||
{
|
|
||||||
unsigned pause = 1, i = 0;
|
|
||||||
|
|
||||||
// Verify correct number of arguments
|
|
||||||
if (argc < 3) {
|
|
||||||
ConsoleWrite("%#! Correct syntax: %#dump %#[start_address] [end_address]\n",
|
|
||||||
ColorLightRed, ColorWhite, ColorLightGray);
|
|
||||||
ConsoleWrite("%#Start %#and %#end %#addresses are in hex.\n",
|
|
||||||
ColorLightGray, ColorDarkGray, ColorLightGray, ColorDarkGray);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable pause
|
|
||||||
if (argc==4 && strcmp(argv[3], "!p") == 0)
|
|
||||||
pause = 0;
|
|
||||||
|
|
||||||
// Dump memory
|
|
||||||
unsigned char *start, *end;
|
|
||||||
start = (unsigned char *) ConvertStringToIntHex(argv[1]);
|
|
||||||
end = (unsigned char *) ConvertStringToIntHex(argv[2]);
|
|
||||||
unsigned char* count;
|
|
||||||
|
|
||||||
while (start <= end) {
|
|
||||||
// Write address
|
|
||||||
ConsoleWrite("%#%x%#: ", Color(0,ColorLightMagenta), (unsigned int)start, Color(0,ColorLightGray));
|
|
||||||
|
|
||||||
// Write hex data
|
|
||||||
for (count = start; count < start+16; count++) {
|
|
||||||
if (*count == 0) ConsoleWrite ("%#00 ", Color(0,ColorDarkGray));
|
|
||||||
else ConsoleWrite ("%#%c%c ", Color(0,ColorWhite), hex(*count/16), hex(*count%16));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Write ASCII data
|
|
||||||
ConsoleWrite(" ");
|
|
||||||
for (count = start; count < start+16; count++) {
|
|
||||||
if (*count < 32) ConsoleWrite(".");
|
|
||||||
else ConsoleWrite("%#%c", Color(0,ColorLightGreen), *count);
|
|
||||||
}
|
|
||||||
|
|
||||||
// New line
|
|
||||||
ConsoleWrite("\n\r");
|
|
||||||
start+=16; i++;
|
|
||||||
|
|
||||||
// Pause
|
|
||||||
if ((i%22 == 0) && (pause==1)) {
|
|
||||||
ConsoleWrite("\n\r%#Press %#any key %#to continue scrolling, %#Esc %#to exit.",
|
|
||||||
0x8, 0x7, 0x8, 0x7, 0x8);
|
|
||||||
Key k = ReadKey();
|
|
||||||
if (k.Scancode == KeyboardKeyEscape) return;
|
|
||||||
ConsoleWrite("\n\n\r");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#define _CommandMemTotalRows 10
|
|
||||||
void _CommandMemPrintMemmap()
|
|
||||||
{
|
|
||||||
uint8 color = Color(ColorGreen, ColorRed);
|
|
||||||
uint32 total = MemoryGetFramesTotal();
|
|
||||||
|
|
||||||
char c = ' ';
|
|
||||||
|
|
||||||
// Print memory map
|
|
||||||
int32 i, old = 0, n = 0, blocks, used;
|
|
||||||
for (i = 0; i < 80; i++)
|
|
||||||
ConsoleWrite("%#%c", ColorLightGray, 220);
|
|
||||||
|
|
||||||
for (i = 1; i <= 80*_CommandMemTotalRows; i++, old++)
|
|
||||||
{
|
|
||||||
n = (total * i) / (80 * _CommandMemTotalRows);
|
|
||||||
|
|
||||||
blocks = n - old;
|
|
||||||
used = 0;
|
|
||||||
for (; old < n; old++)
|
|
||||||
used += (MemPhGetFrame(old) != 0);
|
|
||||||
|
|
||||||
if (used <= blocks / 5) c = ' ';
|
|
||||||
else if (used > 4 * blocks / 5) c = 219;
|
|
||||||
else if (used <= 2 * blocks / 5) c = 176;
|
|
||||||
else if (used <= 3 * blocks / 5) c = 177;
|
|
||||||
else c = 178;
|
|
||||||
|
|
||||||
ConsoleWrite("%#%c", color, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < 80; i++)
|
|
||||||
ConsoleWrite("%#%c", ColorDarkGray, 223);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CommandMem (string argv[], int32 argc)
|
|
||||||
{
|
|
||||||
if (argc < 2)
|
|
||||||
{
|
|
||||||
ConsoleWrite ("Memory map:\n");
|
|
||||||
|
|
||||||
_CommandMemPrintMemmap();
|
|
||||||
|
|
||||||
ConsoleWrite ("Free space: %#%ukb (%u frames)\n", ColorLightMagenta, MemoryGetFree(), MemoryGetFramesFree());
|
|
||||||
ConsoleWrite ("Used space: %#%ukb (%u frames)\n\n", ColorLightMagenta, MemoryGetUsed(), MemoryGetFramesUsed());
|
|
||||||
ConsoleWrite ("Total space: %#%ukb (%u frames)\n", ColorLightMagenta, MemoryGetTotal(), MemoryGetFramesTotal());
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strcmp(argv[1], "alloc") == 0)
|
|
||||||
{
|
|
||||||
uint32 addr = 0;
|
|
||||||
if (argc < 3) addr = (uint32)kmalloc(0x4);
|
|
||||||
else addr = (uint32)kmalloc(ConvertStringToUInt(argv[2]));
|
|
||||||
|
|
||||||
ConsoleWrite("Returned address: %#0x%x\n", ColorWhite, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (strcmp(argv[1], "free") == 0)
|
|
||||||
{
|
|
||||||
if (argc < 3) {
|
|
||||||
ConsoleWrite ("%#! Missing parameter: address to free.", ColorRed);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
kfree((void*)ConvertStringToIntHex(argv[2]));
|
|
||||||
ConsoleWrite("Done.\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
else ConsoleWrite("%#! Invalid command. Available commands are: alloc, free.", ColorLightRed);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CommandCrash()
|
|
||||||
{
|
|
||||||
int a = 10, b = 0;
|
|
||||||
ConsoleWrite ("%d", a/b);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CommandMouse()
|
|
||||||
{
|
|
||||||
MouseState s = MouseGetState();
|
|
||||||
ConsoleWrite("X=%d Y=%d Buttons=", s.Position.X, s.Position.Y);
|
|
||||||
|
|
||||||
if (!s.Buttons) ConsoleWrite("<none>");
|
|
||||||
if (s.Buttons & 1) ConsoleWrite("<left>");
|
|
||||||
if (s.Buttons & 2) ConsoleWrite("<right>");
|
|
||||||
if (s.Buttons & 4) ConsoleWrite("<mid>");
|
|
||||||
|
|
||||||
ConsoleWrite("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void CommandRead(string argv[], int32 argc)
|
|
||||||
{
|
|
||||||
if (argc < 2)
|
|
||||||
{
|
|
||||||
ConsoleWrite("%#! Missing parameter - sector!\n", ColorLightRed);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32 sector = ConvertStringToUInt(argv[1]);
|
|
||||||
ConsoleWrite("Returned value: 0x%x\n", FloppyRead(0, sector));
|
|
||||||
}
|
|
@ -1,97 +0,0 @@
|
|||||||
/*
|
|
||||||
* crash.c
|
|
||||||
*
|
|
||||||
* Created on: Aug 19, 2011
|
|
||||||
* Author: Tiberiu
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <debugio.h>
|
|
||||||
|
|
||||||
string errorCodes[] =
|
|
||||||
{
|
|
||||||
"Division by zero", //0
|
|
||||||
"Debugger", //1
|
|
||||||
"Non maskable interrupt", //2
|
|
||||||
"Breakpoint", //3
|
|
||||||
"Overflow", //4
|
|
||||||
"Bounds", //5
|
|
||||||
"Invalid opcode", //6
|
|
||||||
"Coprocessor not available", //7
|
|
||||||
"Double fault", //8
|
|
||||||
"Coprocessor segment overrun",//9
|
|
||||||
"Invalid task state segment", //A
|
|
||||||
"Segment not present", //B
|
|
||||||
"Stack fault", //C
|
|
||||||
"General protection fault", //D
|
|
||||||
"Page fault", //E
|
|
||||||
"", //F
|
|
||||||
"Math fault", //10
|
|
||||||
"Alignment check", //11
|
|
||||||
"Machine check", //12
|
|
||||||
"SIMD floating-point exception" //13
|
|
||||||
};
|
|
||||||
|
|
||||||
void CrashMessage(_RegsStack32 *r)
|
|
||||||
{
|
|
||||||
ConsoleSetDefaultColor(ColorLightRed);
|
|
||||||
|
|
||||||
ConsoleWrite("\n"); uint32 i;
|
|
||||||
for (i = 0; i < 80; i++) ConsoleWrite("%c", 205);
|
|
||||||
|
|
||||||
ConsoleWrite("%#\t\t\t\tSomething went terribly wrong :(\n\n", ColorWhite);
|
|
||||||
ConsoleWrite("There was an unhandled exception: ");
|
|
||||||
|
|
||||||
if (r->int_no < 20)
|
|
||||||
ConsoleWrite("%#%s (INT%u)", ColorWhite, errorCodes[r->int_no], r->int_no);
|
|
||||||
else ConsoleWrite("%#INT%u", ColorWhite, r->int_no);
|
|
||||||
|
|
||||||
ConsoleWrite("\nTo protect your computer, it had to be halted.\n\n");
|
|
||||||
ConsoleWrite("Here, this might help find the problem:\n");
|
|
||||||
|
|
||||||
Point a = {4, -1}, b = {22, -1}, c = {40, -1}, d = {58, -1};
|
|
||||||
|
|
||||||
ConsoleSetDefaultColor(ColorWhite);
|
|
||||||
ConsoleCursorGoto(a); ConsoleWrite("eax=0x%x", r->eax);
|
|
||||||
ConsoleCursorGoto(b); ConsoleWrite("ebx=0x%x", r->ebx);
|
|
||||||
ConsoleCursorGoto(c); ConsoleWrite("ecx=0x%x", r->ecx);
|
|
||||||
ConsoleCursorGoto(d); ConsoleWrite("edx=0x%x\n", r->edx);
|
|
||||||
|
|
||||||
ConsoleCursorGoto(a); ConsoleWrite("edi=0x%x", r->edi);
|
|
||||||
ConsoleCursorGoto(b); ConsoleWrite("esi=0x%x", r->esi);
|
|
||||||
ConsoleCursorGoto(c); ConsoleWrite("ebp=0x%x", r->ebp);
|
|
||||||
ConsoleCursorGoto(d); ConsoleWrite("esp=0x%x\n", r->esp);
|
|
||||||
|
|
||||||
ConsoleCursorGoto(a); ConsoleWrite("gs=0x%x", r->gs);
|
|
||||||
ConsoleCursorGoto(b); ConsoleWrite("fs=0x%x", r->fs);
|
|
||||||
ConsoleCursorGoto(c); ConsoleWrite("es=0x%x", r->es);
|
|
||||||
ConsoleCursorGoto(d); ConsoleWrite("ds=0x%x\n", r->ds);
|
|
||||||
|
|
||||||
ConsoleCursorGoto(a); ConsoleWrite("eip=0x%x", r->eip);
|
|
||||||
ConsoleCursorGoto(b); ConsoleWrite("cs=0x%x", r->cs);
|
|
||||||
ConsoleCursorGoto(c); ConsoleWrite("eflags=0x%x", r->eflags);
|
|
||||||
ConsoleCursorGoto(d); ConsoleWrite("useresp=0x%x\n", r->useresp);
|
|
||||||
|
|
||||||
ConsoleCursorGoto(a); ConsoleWrite("gs=0x%x", r->ss);
|
|
||||||
ConsoleCursorGoto(b); ConsoleWrite("fs=0x%x", r->int_no);
|
|
||||||
ConsoleCursorGoto(c); ConsoleWrite("err_code=0x%x", r->err_code);
|
|
||||||
|
|
||||||
// Useful info about page fault
|
|
||||||
if (r->int_no == 0xE)
|
|
||||||
{
|
|
||||||
uint32 faulting_address;
|
|
||||||
asm volatile("mov %%cr2, %0" : "=r" (faulting_address));
|
|
||||||
|
|
||||||
ConsoleCursorGoto(d); ConsoleWrite("address=0x%x\n", faulting_address);
|
|
||||||
ConsoleCursorGoto(a); ConsoleWrite("reason: ");
|
|
||||||
|
|
||||||
if (!(r->err_code & 1)) ConsoleWrite("%#PAGE_NOT_PRESENT; ", ColorLightGray);
|
|
||||||
if (r->err_code & 2) ConsoleWrite("%#WRITE_OPERATION; ", ColorLightGray);
|
|
||||||
if (r->err_code & 4) ConsoleWrite("%#CPU_IN_USER_MODE; ", ColorLightGray);
|
|
||||||
if (r->err_code & 8) ConsoleWrite("%#CPU_RESERVED_PAGE_ENTRY_OVERWRITTEN; ", ColorLightGray);
|
|
||||||
if (r->err_code & 0x10) ConsoleWrite("%#INSTRUCTION_FETCH; ", ColorLightGray);
|
|
||||||
}
|
|
||||||
|
|
||||||
ConsoleSetDefaultColor(ColorLightRed);
|
|
||||||
ConsoleWrite("\n");
|
|
||||||
for (i = 0; i < 80; i++) ConsoleWrite("%c", 205);
|
|
||||||
}
|
|
@ -1,99 +0,0 @@
|
|||||||
bits 32
|
|
||||||
|
|
||||||
global start
|
|
||||||
|
|
||||||
; multiboot header
|
|
||||||
MODULEALIGN equ 1<<0
|
|
||||||
MEMINFO equ 1<<1
|
|
||||||
VIDEOINFO equ 1<<2
|
|
||||||
FLAGS equ MODULEALIGN | MEMINFO | VIDEOINFO
|
|
||||||
MAGIC equ 0x1BADB002
|
|
||||||
CHECKSUM equ -(MAGIC + FLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
section .__mbHeader
|
|
||||||
align 4
|
|
||||||
MultiBootHeader:
|
|
||||||
dd MAGIC
|
|
||||||
dd FLAGS
|
|
||||||
dd CHECKSUM
|
|
||||||
|
|
||||||
section .text
|
|
||||||
|
|
||||||
STACKSIZE equ 0x4000 ; that's 16k.
|
|
||||||
|
|
||||||
start:
|
|
||||||
XCHG BX, BX ; magic breakpoint
|
|
||||||
|
|
||||||
mov ecx, eax
|
|
||||||
|
|
||||||
; lgdt [trickgdt]
|
|
||||||
; mov ax, 0x10;
|
|
||||||
; mov ds, ax
|
|
||||||
; mov es, ax
|
|
||||||
; mov fs, ax
|
|
||||||
; mov gs, ax
|
|
||||||
; mov ss, ax
|
|
||||||
|
|
||||||
; jmp 0x08:HigherHalf ; NOTE: Must be absolute jump!
|
|
||||||
|
|
||||||
HigherHalf:
|
|
||||||
|
|
||||||
; Verify booted with multiboot compliant bootloader
|
|
||||||
mov esp, stack+STACKSIZE
|
|
||||||
|
|
||||||
cmp ecx, 0x2BADB002
|
|
||||||
jne .bad
|
|
||||||
|
|
||||||
push ebx
|
|
||||||
|
|
||||||
extern k_main
|
|
||||||
call k_main
|
|
||||||
|
|
||||||
; Show error message, and halt system
|
|
||||||
.bad:
|
|
||||||
|
|
||||||
extern ConsoleClear
|
|
||||||
extern ConsoleWrite
|
|
||||||
extern CommandOsver
|
|
||||||
|
|
||||||
call ConsoleClear
|
|
||||||
call CommandOsver
|
|
||||||
|
|
||||||
mov eax, [ErrorColor]
|
|
||||||
push eax
|
|
||||||
push ErrorString
|
|
||||||
call ConsoleWrite
|
|
||||||
|
|
||||||
cli
|
|
||||||
hlt
|
|
||||||
|
|
||||||
|
|
||||||
; some variables
|
|
||||||
ErrorString db 0xA, "%#! Fatal error: Not booted with multiboot compliant bootloader (e.g. GRUB).", 0x0
|
|
||||||
ErrorColor db 0x0C
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; tells the assembler to include this data in the '.setup' section
|
|
||||||
section .setup
|
|
||||||
|
|
||||||
trickgdt:
|
|
||||||
dw gdt_end - gdt - 1 ; size of the GDT
|
|
||||||
dd gdt ; linear address of GDT
|
|
||||||
|
|
||||||
gdt:
|
|
||||||
dd 0, 0 ; null gate
|
|
||||||
db 0xFF, 0xFF, 0, 0, 0, 10011010b, 11001111b, 0x40 ; code selector 0x08: base 0x40000000, limit 0xFFFFFFFF, type 0x9A, granularity 0xCF
|
|
||||||
db 0xFF, 0xFF, 0, 0, 0, 10010010b, 11001111b, 0x40 ; data selector 0x10: base 0x40000000, limit 0xFFFFFFFF, type 0x92, granularity 0xCF
|
|
||||||
|
|
||||||
gdt_end:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; stack
|
|
||||||
section .bss
|
|
||||||
align 32
|
|
||||||
stack:
|
|
||||||
resb STACKSIZE ; This reserves 64KBytes of memory here
|
|
@ -1,27 +0,0 @@
|
|||||||
#include "hal/hal.h"
|
|
||||||
#include "drivers/drivers.h"
|
|
||||||
#include <debugio.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <memory.h>
|
|
||||||
#include <multiboot.h>
|
|
||||||
|
|
||||||
extern uint32 _end;
|
|
||||||
|
|
||||||
void k_main(MultibootInfo* info)
|
|
||||||
{
|
|
||||||
uint32 KernelEnd = (uint32)&_end;
|
|
||||||
MemoryTempInitialize(KernelEnd);
|
|
||||||
|
|
||||||
ConsoleClear();
|
|
||||||
HalInitialize();
|
|
||||||
DriversInstall();
|
|
||||||
|
|
||||||
// Set up memory manager
|
|
||||||
MemoryInitialize(&info_new);
|
|
||||||
|
|
||||||
Log("All ready. Starting console...\n\n");
|
|
||||||
|
|
||||||
ConsoleMain();
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
megs: 32
|
|
||||||
romimage: file="/usr/share/bochs/BIOS-bochs-latest"
|
|
||||||
vgaromimage: file="C:\Program Files\Bochs-2.4.6\VGABIOS-lgpl-latest"
|
|
||||||
|
|
||||||
floppya: 1_44=../luxos.img, status=inserted
|
|
||||||
boot: a
|
|
||||||
log: bochs_run.log
|
|
||||||
mouse: enabled=0
|
|
||||||
magic_break: enabled=1
|
|
||||||
display_library: x, options="gui_debug"
|
|
BIN
build/crash.o
BIN
build/crash.o
Binary file not shown.
BIN
build/keyboard.o
BIN
build/keyboard.o
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
C:
|
E:
|
||||||
chdir C:\Dev\lux
|
chdir E:\Software\OsDev
|
||||||
set CYGWIN=nodosfilewarning
|
set CYGWIN=nodosfilewarning
|
||||||
|
|
||||||
C:\cygwin\bin\bash /cygdrive/c/Dev/lux/build.sh
|
bash /cygdrive/e/Software/OsDev/lux/build.sh
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
C:
|
E:
|
||||||
chdir C:\Dev\lux
|
chdir E:\Software\OsDev\lux
|
||||||
|
|
||||||
C:\cygwin\bin\bash /cygdrive/c/Dev/lux/scripts/pack.sh
|
bash /cygdrive/e/Software/OsDev/lux/scripts/pack.sh
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
cd /cygdrive/c/Dev
|
cd /cygdrive/e/Software/OsDev
|
||||||
|
|
||||||
# Get version number
|
# Get version number
|
||||||
read version < ./lux/Kernel/include/version.h
|
read version < ./lux/Kernel/include/version.h
|
||||||
|
Loading…
Reference in New Issue
Block a user