mirror of
https://github.com/MikhaelKaa/zx_cartridge.git
synced 2026-03-16 14:37:57 +03:00
Batty its work!
This commit is contained in:
parent
7aaf4a7b21
commit
6865968f76
BIN
Content/Batty/b48v.bin
Normal file
BIN
Content/Batty/b48v.bin
Normal file
Binary file not shown.
@ -6,19 +6,19 @@ TAP_FILE="batty.tap"
|
|||||||
|
|
||||||
echo "Извлекаем блоки из $TAP_FILE..."
|
echo "Извлекаем блоки из $TAP_FILE..."
|
||||||
|
|
||||||
# Извлекаем каждый блок в отдельный файл
|
|
||||||
tzxlist -d 0 "$TAP_FILE"
|
|
||||||
tzxlist -d 1 "$TAP_FILE"
|
|
||||||
tzxlist -d 2 "$TAP_FILE"
|
tzxlist -d 2 "$TAP_FILE"
|
||||||
tzxlist -d 3 "$TAP_FILE"
|
tzxlist -d 3 "$TAP_FILE"
|
||||||
|
|
||||||
# Переименовываем в понятные имена
|
# Переименовываем в понятные имена
|
||||||
mv 00000000.dat loader0.bin # загрузчик
|
|
||||||
mv 00000001.dat loader1.bin # загрузчик
|
|
||||||
mv 00000002.dat screen.scr # картинка
|
mv 00000002.dat screen.scr # картинка
|
||||||
mv 00000003.dat main.bin # код игры
|
mv 00000003.dat main.bin # код игры
|
||||||
rm *.dsc
|
rm *.dsc
|
||||||
rm *.hdr
|
rm *.hdr
|
||||||
|
|
||||||
# Показываем результат
|
rm *.zx0
|
||||||
|
./../tools/zx0/build/zx0 screen.scr
|
||||||
|
./../tools/zx0/build/zx0 main.bin
|
||||||
|
|
||||||
|
# main.bin -> 0x6800 (26624) точка входа в main
|
||||||
|
|
||||||
ls -la
|
ls -la
|
||||||
@ -4,6 +4,7 @@ build: clean
|
|||||||
mkdir -p build
|
mkdir -p build
|
||||||
@${SJASMPLUS} ./ram_part.asm --syntax=F
|
@${SJASMPLUS} ./ram_part.asm --syntax=F
|
||||||
@${SJASMPLUS} ./main.asm --syntax=F
|
@${SJASMPLUS} ./main.asm --syntax=F
|
||||||
|
# @${SJASMPLUS} ./test.asm --syntax=F
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
# @rm -f -r ./assets/*.zx0
|
# @rm -f -r ./assets/*.zx0
|
||||||
|
|||||||
@ -6,15 +6,26 @@
|
|||||||
|
|
||||||
start:
|
start:
|
||||||
di
|
di
|
||||||
ld sp, 0xffff
|
ld sp, 0xffff
|
||||||
jp main
|
jp main
|
||||||
|
|
||||||
ORG 100
|
ORG 100
|
||||||
main:
|
main:
|
||||||
ld bc, 0xdf7f
|
ld bc, 0x7ffd
|
||||||
|
ld a, 0b00010000
|
||||||
|
ld (0x5B5C), a
|
||||||
|
out (c), a
|
||||||
|
|
||||||
|
ld bc, 0xdf7f
|
||||||
ld a, 0b00000001
|
ld a, 0b00000001
|
||||||
out (c), a
|
out (c), a
|
||||||
|
|
||||||
|
ld hl, 16384
|
||||||
|
ld de, 16385
|
||||||
|
ld bc, 49151
|
||||||
|
ld (hl), 0
|
||||||
|
ldir
|
||||||
|
|
||||||
ld hl, batty_scr
|
ld hl, batty_scr
|
||||||
ld de, 0x4000
|
ld de, 0x4000
|
||||||
call dzx0_standard
|
call dzx0_standard
|
||||||
@ -23,19 +34,24 @@ main:
|
|||||||
ld de, 0x6800
|
ld de, 0x6800
|
||||||
call dzx0_standard
|
call dzx0_standard
|
||||||
|
|
||||||
|
ld hl, bvars
|
||||||
|
ld de, 0x5c00
|
||||||
|
ld bc, bvars_end - bvars
|
||||||
|
ldir
|
||||||
|
|
||||||
ld hl, ram_part
|
ld hl, ram_part
|
||||||
ld de, 0x6700
|
ld de, 0x6700
|
||||||
ld bc, ram_part_end - ram_part
|
ld bc, ram_part_end - ram_part
|
||||||
ldir
|
ldir
|
||||||
|
|
||||||
ld bc, 65535
|
; ld bc, 65535
|
||||||
call delay
|
; call delay
|
||||||
ld bc, 65535
|
; ld bc, 65535
|
||||||
call delay
|
; call delay
|
||||||
ld bc, 65535
|
; ld bc, 65535
|
||||||
call delay
|
; call delay
|
||||||
ld bc, 65535
|
; ld bc, 65535
|
||||||
call delay
|
; call delay
|
||||||
|
|
||||||
jp 0x6700
|
jp 0x6700
|
||||||
|
|
||||||
@ -43,22 +59,29 @@ main:
|
|||||||
|
|
||||||
; Процедура задержки
|
; Процедура задержки
|
||||||
; bc - время
|
; bc - время
|
||||||
delay:
|
; delay:
|
||||||
dec bc
|
; dec bc
|
||||||
ld a, b
|
; ld a, b
|
||||||
or c
|
; or c
|
||||||
jr nz, delay
|
; jr nz, delay
|
||||||
ret
|
; ret
|
||||||
|
|
||||||
INCLUDE "./tools/zx0/z80/dzx0_standard.asm"
|
INCLUDE "./tools/zx0/z80/dzx0_standard.asm"
|
||||||
|
|
||||||
batty_scr:
|
batty_scr:
|
||||||
INCBIN "./Batty/screen.scr.zx0"
|
INCBIN "./Batty/screen.scr.zx0"
|
||||||
|
|
||||||
batty_bin:
|
batty_bin:
|
||||||
INCBIN "./Batty/main.bin.zx0"
|
INCBIN "./Batty/main.bin.zx0"
|
||||||
|
|
||||||
ram_part:
|
ram_part:
|
||||||
INCBIN "./build/ram_part_6700.bin"
|
INCBIN "./build/ram_part_6700.bin"
|
||||||
ram_part_end
|
ram_part_end
|
||||||
|
|
||||||
|
bvars:
|
||||||
|
INCBIN "./Batty/b48v.bin"
|
||||||
|
bvars_end
|
||||||
|
|
||||||
end:
|
end:
|
||||||
; Выводим размер бинарника.
|
; Выводим размер бинарника.
|
||||||
display "Cartridge BIOS code size: ", /d, end - start
|
display "Cartridge BIOS code size: ", /d, end - start
|
||||||
|
|||||||
@ -9,6 +9,17 @@ start:
|
|||||||
ld a, 0b10000000
|
ld a, 0b10000000
|
||||||
out (c), a
|
out (c), a
|
||||||
|
|
||||||
|
ld sp, 0x6000
|
||||||
|
|
||||||
|
ld iy, 23610
|
||||||
|
|
||||||
|
wait_any_key:
|
||||||
|
ld bc, 0x00fe
|
||||||
|
in a, (c)
|
||||||
|
and 0x1f
|
||||||
|
cp 0x1f
|
||||||
|
jr z, wait_any_key
|
||||||
|
|
||||||
jp 0x6800
|
jp 0x6800
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
|||||||
48
Content/test.asm
Normal file
48
Content/test.asm
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
; Простейший тест переключения банков для карика
|
||||||
|
; Банк 0 всегда в 0000-1FFF, переключаемый в 2000-3FFF
|
||||||
|
; Цикл: переключить банк, прочитать байт из 2000h, повторить
|
||||||
|
|
||||||
|
DEVICE ZXSPECTRUM48
|
||||||
|
|
||||||
|
ORG 0
|
||||||
|
start:
|
||||||
|
di
|
||||||
|
jp main
|
||||||
|
|
||||||
|
; векторы RST (просто возврат)
|
||||||
|
ORG 0x08
|
||||||
|
ret
|
||||||
|
ORG 0x10
|
||||||
|
ret
|
||||||
|
ORG 0x18
|
||||||
|
ret
|
||||||
|
ORG 0x20
|
||||||
|
ret
|
||||||
|
ORG 0x28
|
||||||
|
ret
|
||||||
|
ORG 0x30
|
||||||
|
ret
|
||||||
|
ORG 0x38
|
||||||
|
ret
|
||||||
|
|
||||||
|
ORG 0x100
|
||||||
|
main:
|
||||||
|
ld bc, 0xdf7f ; порт выбора банка
|
||||||
|
ld d, 0 ; начальный банк
|
||||||
|
loop:
|
||||||
|
ld a, d
|
||||||
|
out (c), a ; переключить банк
|
||||||
|
nop ; небольшая пауза
|
||||||
|
nop
|
||||||
|
ld hl, 0x2000
|
||||||
|
ld a, (hl) ; прочитать первый байт банка
|
||||||
|
inc d ; следующий банк
|
||||||
|
jr loop
|
||||||
|
|
||||||
|
end:
|
||||||
|
; Выводим размер бинарника.
|
||||||
|
display "test code size: ", /d, end - start
|
||||||
|
display "test code start: ", /d, start
|
||||||
|
display "test code end: ", /d, end
|
||||||
|
|
||||||
|
SAVEBIN "build/test_0000.bin", start, 16384
|
||||||
Loading…
Reference in New Issue
Block a user