Skip to content

Commit

Permalink
prepare to BIOS
Browse files Browse the repository at this point in the history
  • Loading branch information
frstudent committed Feb 10, 2024
1 parent bfa2409 commit 498ed6a
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 17 deletions.
21 changes: 16 additions & 5 deletions demo.asm
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
function init_vga
load r14, 0x8000 ; set stack
;debug
debug
call _vertical_scroll_demo

lea r7, $dosfont2x
call _select_font

lea r0, $menu ; R0 - текст меню
load r1, 0x80004000 ; R1 - адрес видеопамяти
load r2, 0x00000000 ; R2 - цвет текста
load r3, 0xffffffff ; R3 - цыет фона

call _menu

call _test_vga
send
entry:
end

function _test_vga
Expand All @@ -16,8 +27,6 @@ enter:
unlock

; Выбор шрифта по умолчанию
lea r7, $dosfont1
call _select_font

help:
lea r1, $line1 ; Адрес строки приветсвия в R1
Expand Down Expand Up @@ -217,12 +226,14 @@ include lib/asm/vga/draw_string.asm
include lib/asm/vga/get_event.asm
include lib/asm/vga/scroll.asm
include lib/asm/vga/sprite.asm
include lib/asm/vga/menu.asm

include lib/asm/tty/tty.asm
include lib/asm/emulate/div.asm
include demos/visual.asm

$dosfont1 import lib/asm/vga/fonts/CYRTHIN-Nesterenko-8x16.utf8.fnt
$dosfont2 import lib/asm/vga/fonts/DK-Feoktistov-8x16.utf8.fnt
;$dosfont2 import lib/asm/vga/fonts/DK-Feoktistov-8x16.utf8.fnt
$dosfont3 import lib/asm/vga/fonts/beta-Chi-Sovt-8x16.utf8.fnt
$dosfont4 import lib/asm/vga/fonts/EDFN-Anry-VGA3-8x16.utf8.FNT
;$dosfont5 import lib/asm/vga/fonts/MYFONT-8x16.utf8.FNT
Expand Down
27 changes: 20 additions & 7 deletions demos/visual.asm
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
function visual_test
load r14, 0x8000 ; установка вершины стека
call _vertical_scroll_demo
send
end

assign r11 dot_step
assign r12 text_ptr
assign r10 buffer_ptr
Expand All @@ -6,12 +12,11 @@ assign r10 buffer_ptr
;$buffer_ptr equ 0
$text_ptr equ 1

function visual_test
load r14, 0x8000 ; установка вершины стека

load r0, 32
function _vertical_scroll_demo
push r15
load r13, 32
clc
subc r14, r0
subc r14, r13
; mov this, r14

load r0, 320 ; Размер буфкера с индексами символов
Expand Down Expand Up @@ -78,7 +83,15 @@ inside:
load dot_step, 4
jmp loop
exit:
send
;debug
load r13, 32
clc
addc r14, r13
load r13, 320 ; Размер буфкера с индексами символов
clc
addc r14, r13
pop r15
return
end


Expand All @@ -87,7 +100,7 @@ $hello db 'Slagheap SoC emulator Demo', 0
$message db ' \n'
db 'Здравствуй, дорогой друг!\n \n'
db 'Я - демонстрационная программа для системы на кристалле "Террикон".\n'
db 'Я представляю собой виртуальный 32-х битный компьютер с 32 килобайтами\n'
db 'Я представляю собой виртуальный 32-х битный компьютер с 48 килобайтами\n'
db 'оперативной памяти, которая разделяется между программами, данными'
db ' и стеком.\n \n'
db 'На борту у меня так же присутствует алфавитно-цифровой терминал. Доступ\n'
Expand Down
8 changes: 5 additions & 3 deletions lib/asm/vga/clear_screen.asm
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ function lib_entry_test
entry:
end

assign R3 video_ptr
assign R4 counter
assign R8 eax

function _clear_vga_screen
assign R3 video_ptr
assign R4 counter
assign R8 eax
load video_ptr, 0x80000000
load counter, 307200 ; 640x480
load eax, 0x555a555a
Expand All @@ -28,6 +28,8 @@ end


function _refresh_screen
assign R3 video_ptr
assign R8 eax
load video_ptr, 0xfffeffe0 ; Порт обновления экрана
mov (video_ptr), eax
end
4 changes: 2 additions & 2 deletions lib/asm/vga/menu.asm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ function menu_test
load r14, 0x8000 ; установка вершины стека

; Выбор шрифта по умолчанию
lea r7, $dosfont2
lea r7, $dosfont2x
call _select_font

lea r0, $menu ; R0 - текст меню
Expand All @@ -28,7 +28,7 @@ $menu db 'Test\r\nAgain\r\nThird test\nABC\n'
;$menu db 'Ёлки\r\nWhat?\r\nЧто стряслось'0
done

$dosfont2 import fonts/DK-Feoktistov-8x16.utf8.fnt
$dosfont2x import fonts/DK-Feoktistov-8x16.utf8.fnt

include draw_char.asm
include get_event.asm
Expand Down

0 comments on commit 498ed6a

Please sign in to comment.