Sync push

This commit is contained in:
OmniaX-dev 2024-04-30 16:50:55 +02:00
parent b2bbf7c560
commit 626b1b28e7
9 changed files with 29 additions and 5 deletions

0
extra/font_big.bmp → extra/dragon info/font_big.bmp Executable file → Normal file
View file

Before

Width:  |  Height:  |  Size: 429 KiB

After

Width:  |  Height:  |  Size: 429 KiB

Binary file not shown.

View file

@ -0,0 +1,15 @@
.load 0x0000
@define S_REG_3 0x09
.data
.code
mov R10, 0xE0
int 0x30
mov R10, 0x0C
mov R9, $string
int 0x30
.dynamic_data
$string "Hello BOOTSECTOR!!"

View file

@ -21,7 +21,15 @@
call $_load_boot_sector
or FL, 0b0000000000000001 ## Enable interrupts
mov FL, ACC
mov reg(S_REG_3), MemoryAddresses.RAM
inc reg(S_REG_3)
mov R1, *reg(S_REG_3)
addip R1, reg(S_REG_3)
mov *reg(S_REG_3), R1
dec reg(S_REG_3)
jmp MemoryAddresses.RAM
_infinite_loop:
jmp $_infinite_loop
hlt
@ -53,6 +61,7 @@ _load_boot_sector:
mov [{MemoryAddresses.DISK_INTERFACE + 0x9}], MemoryAddresses.RAM ## MemoryAddress
movb [MemoryAddresses.DISK_INTERFACE], 0x00 ## Signal = Start
_load_boot_sector_block_wait_loop:
debug_break
mov ACC, [{MemoryAddresses.DISK_INTERFACE + 0xB}] ## Moving <Status> register into ACC
jne $_load_boot_sector_block_wait_loop, 0x00 ## If <Status> register not Free, loop around and wait
ret

View file

@ -14,6 +14,7 @@ printf "${green}\n==============================================================
if [ $? -eq 0 ]; then
cd scripts
/bin/bash ./bios_flash
cp dss/bios_api.dss ../extra/dss/bios_api.dss
/bin/bash ./load_mbr
cd ..
printf "${green}Compiling Test Program...\n"
@ -24,5 +25,4 @@ if [ $? -eq 0 ]; then
./ddb config/testMachine.dvm --verbose-load
cp dragon/disk1.dr ../extra/dragon/disk1.dr
cp dragon/cmos.dr ../extra/dragon/cmos.dr
cp dss/bios_api.dss ../extra/dss/bios_api.dss
fi

View file

@ -14,6 +14,7 @@ printf "${green}\n==============================================================
if [ $? -eq 0 ]; then
cd scripts
/bin/bash ./bios_flash
cp dss/bios_api.dss ../extra/dss/bios_api.dss
/bin/bash ./load_mbr
cd ..
printf "${green}Compiling Test Program...\n"
@ -24,5 +25,4 @@ if [ $? -eq 0 ]; then
# ./dvm config/testMachine.dvm --force-load activeTest.bin 0x00
cp dragon/disk1.dr ../extra/dragon/disk1.dr
cp dragon/cmos.dr ../extra/dragon/cmos.dr
cp dss/bios_api.dss ../extra/dss/bios_api.dss
fi

View file

@ -6,8 +6,8 @@ clear='\033[0m'
printf "\n${green}Reloading MBR Block...\n${clear}"
cd ..
cp ../extra/dss/drake/* ./dss/drake/
./dasm dss/drake/entry.dss -o dragon/drake.bin --extalu --save-disassembly disassembly/drake.dds --verbose
./dtools load-binary dragon/disk1.dr dragon/drake.bin 0x00000000
./dasm dss/drake/loader.dss -o dragon/drake_loader.bin --extalu --save-disassembly disassembly/drake_loader.dds --verbose
./dtools load-binary dragon/disk1.dr dragon/drake_loader.bin 0x00000000
printf "\n"
cp dragon/disk1.dr ../extra/dragon/disk1.dr
rm dragon/drake.bin
rm dragon/drake_loader.bin