Permalink
Browse files

Built-in apps are no longer duplicated in memory

Graphics functions are now screen mapping agnostic
Fixed issue with blinking cursor when backspacing
Increased version to 0.6.2
  • Loading branch information...
1 parent d7c6ea3 commit e96c127c8073a37490542e324f906fbb578d5463 @chessmaster42 chessmaster42 committed May 6, 2012
View
@@ -4,7 +4,7 @@ SET PC, data_end
; OS Variables
:os_version_main dat 0x0000
:os_version_sub dat 0x0006
-:os_version_fix dat 0x0001
+:os_version_fix dat 0x0002
:preemptive_enabled dat 0x0000
@@ -17,7 +17,7 @@ SET PC, data_end
:video_width dat 0x0020
:video_height dat 0x000C
-:text_start dat "AtlasOS v0.6.1 starting... ", 0x00
+:text_start dat "AtlasOS v0.6.2 starting... ", 0x00
:text_start_ok dat "OK", 0xA0, 0x00
:text_logo
dat " ___ __ __", 0xA0
File renamed without changes.
View
@@ -1,4 +1,4 @@
-#include "AtlasOS 0.6.1"
+#include "AtlasOS 0.6.2"
#include "../include/kernel.inc"
View
@@ -7,7 +7,7 @@
SET PUSH, C
SET C, A
SET A, char_set
- SET B, 0x8180
+ SET B, [video_font]
:manage_charset_loop
IFE A, char_set_end
SET PC, manage_charset_end
View
@@ -462,6 +462,19 @@ SET PC, POP
SET PC, read_line_loop
:read_line_backspace
+ ; Remove the blinking cursor
+ SET PUSH, A
+ SET PUSH, B
+ SET PUSH, C
+ SET A, [video_cur]
+ SUB A, [video_mem]
+ SET B, 0
+ SET C, [video_clear]
+ JSR char_put
+ SET C, POP
+ SET B, POP
+ SET A, POP
+
; Ensure we don't backspace past the beginning
IFE A, PEEK
SET PC, read_line_skip
View
@@ -282,6 +282,12 @@
; Finally load the Process - A is the source mem addr, B is length.
SET C, B
SET PUSH, A
+
+ ; If we're loading from a built-in app, no need to allocate extra memory
+ IFN Z, 0x4714
+ SET B, A
+ IFN Z, 0x4714
+ SET PC, proc_load_skip_alloc
; Pretend the routine has been called by this not-yet-loaded process, so we can allocate memory.
SET PUSH, [proc_current]
@@ -305,6 +311,7 @@
IFE Z, 0x4714
SET C, J ; If we are an ABI exe set the size to just the code length
JSR mem_copy
+:proc_load_skip_alloc
SET A, POP
; Get the flags back.
View
@@ -6,7 +6,7 @@
; Each entry must be 20 words long
; directory ID, flags, name, null terminator, padding, start, end
; For directory entries, the 'start' contains the ID and the 'end' is unused
-; dat DirID , Flags , "File name goes here ", Start , End dat ModifiedTime dat CreatedTime dat SymLink
+; dat DirID , Flags , "File name goes here ", Start , End
:files_table
dat 0x000C ; Number of files in table
dat 0xFFFF, 0x0011, "/", 0, " ", 0x0000, 0x0000

0 comments on commit e96c127

Please sign in to comment.