Sync push
This commit is contained in:
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
0
extra/font_big.bmp → extra/dragon info/font_big.bmp
Executable file → Normal file
|
Before Width: | Height: | Size: 429 KiB After Width: | Height: | Size: 429 KiB |
Binary file not shown.
15
extra/dss/drake/bootsector.dss
Normal file
15
extra/dss/drake/bootsector.dss
Normal 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!!"
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue