Added basic build system
This commit is contained in:
parent
11eef7bd83
commit
b3f6e6d954
8 changed files with 596 additions and 31 deletions
28
src/dist-run/0module.mk
Normal file
28
src/dist-run/0module.mk
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
DIST_RUN_NAME := dist-run
|
||||
DIST_RUN_BIN := $(PATH_BIN)/$(DIST_RUN_NAME)
|
||||
DIST_RUN_SRC := $(PATH_SRC)/$(DIST_RUN_NAME)
|
||||
DIST_RUN_INC := autoexec.bat COMMAND.COM MSXDOS.SYS
|
||||
DIST_RUN_INC_BIN := $(patsubst %,$(DIST_RUN_BIN)/%,$(DIST_RUN_INC))
|
||||
DIST_RUN_INC_SRC := $(patsubst %,$(DIST_RUN_SRC)/%,$(DIST_RUN_INC))
|
||||
DIST_RUN_DEP_TAR := $(PATH_BIN)/dist.tar.gz
|
||||
DIST_RUN_DEP := $(DIST_RUN_BIN)/tara.com
|
||||
|
||||
|
||||
$(DIST_RUN_BIN):
|
||||
$(call mod_mkdir,$(DIST_RUN_BIN))
|
||||
|
||||
$(DIST_RUN_BIN)/autoexec.bat: $(DIST_RUN_SRC)/autoexec.bat | $(DIST_RUN_BIN)
|
||||
unix2dos -n $< $@;
|
||||
|
||||
$(DIST_RUN_BIN)/COMMAND.COM: $(DIST_RUN_SRC)/COMMAND.COM | $(DIST_RUN_BIN)
|
||||
cp $< $@;
|
||||
|
||||
$(DIST_RUN_BIN)/MSXDOS.SYS: $(DIST_RUN_SRC)/MSXDOS.SYS | $(DIST_RUN_BIN)
|
||||
cp $< $@;
|
||||
|
||||
$(DIST_RUN_DEP): $(DIST_RUN_DEP_TAR) | $(DIST_RUN_BIN)
|
||||
cp $(PATH_BIN)/dist/* $(DIST_RUN_BIN);
|
||||
|
||||
$(DIST_RUN_NAME): $(DIST_RUN_INC_BIN) $(DIST_RUN_DEP)
|
||||
openmsx -machine Philips_NMS_8250 -ext video9000 -ext ram4mb -ext ide -diska $(DIST_RUN_BIN);
|
||||
33
src/dist/0module.mk
vendored
Normal file
33
src/dist/0module.mk
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
DIST_NAME := dist
|
||||
DIST_SRC := $(PATH_SRC)/$(DIST_NAME)
|
||||
DIST_BIN := $(PATH_BIN)/$(DIST_NAME)
|
||||
DIST_OUT := $(PATH_BIN)/$(DIST_NAME).tar.gz
|
||||
DIST_INC := ALL.SR8 ASCII.SR8 readme.txt VELD.SR8 VELDBACK.4BP
|
||||
DIST_INC_BIN := $(patsubst %,$(DIST_BIN)/%,$(DIST_INC))
|
||||
DIST_INC_SRC := $(patsubst %,$(DIST_SRC)/%,$(DIST_INC))
|
||||
DIST_TARA_BIN := $(DIST_BIN)/tara.com
|
||||
DIST_TARA_SRC := $(PATH_BIN)/tara/tara.com
|
||||
|
||||
$(DIST_BIN):
|
||||
$(call mod_mkdir,$(DIST_BIN))
|
||||
|
||||
$(DIST_BIN)/ALL.SR8: $(DIST_SRC)/ALL.SR8 | $(DIST_BIN)
|
||||
cp $< $@;
|
||||
$(DIST_BIN)/ASCII.SR8: $(DIST_SRC)/ASCII.SR8 | $(DIST_BIN)
|
||||
cp $< $@;
|
||||
$(DIST_BIN)/VELD.SR8: $(DIST_SRC)/VELD.SR8 | $(DIST_BIN)
|
||||
cp $< $@;
|
||||
$(DIST_BIN)/VELDBACK.4BP: $(DIST_SRC)/VELDBACK.4BP | $(DIST_BIN)
|
||||
cp $< $@;
|
||||
$(DIST_BIN)/readme.txt: $(DIST_SRC)/readme.txt | $(DIST_BIN)
|
||||
cp $< $@;
|
||||
|
||||
#$(DIST_INC_BIN): $(DIST_INC_SRC) | $(DIST_BIN)
|
||||
# cp $< $@;
|
||||
|
||||
$(DIST_TARA_BIN): $(DIST_TARA_SRC) | $(DIST_BIN)
|
||||
cp $< $@;
|
||||
|
||||
$(DIST_OUT): $(DIST_INC_BIN) $(DIST_TARA_BIN)
|
||||
cd $(DIST_BIN) && tar -czvf ../../$(DIST_OUT) *;
|
||||
20
src/makelib/0module.mk
Normal file
20
src/makelib/0module.mk
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
MAKELIB_NAME := makelib
|
||||
MAKELIB_SRC := $(PATH_SRC)/$(MAKELIB_NAME)
|
||||
MAKELIB_BIN := $(PATH_BIN)/$(MAKELIB_NAME)
|
||||
MAKELIB_HEX := $(MAKELIB_BIN)/$(MAKELIB_NAME).hex
|
||||
MAKELIB_COM := $(MAKELIB_BIN)/$(MAKELIB_NAME).com
|
||||
MAKELIB_RELS := $(MAKELIB_BIN)/$(MAKELIB_NAME).rel
|
||||
MAKELIB_CODE := $(MAKELIB_SRC)/$(MAKELIB_NAME).asm
|
||||
|
||||
$(MAKELIB_BIN):
|
||||
$(call mod_mkdir,$(MAKELIB_BIN))
|
||||
|
||||
$(MAKELIB_BIN)/%.rel: $(MAKELIB_SRC)/%.asm | $(MAKELIB_BIN)
|
||||
$(call mod_compile_asm,$@,$<)
|
||||
|
||||
$(MAKELIB_HEX): $(MAKELIB_RELS)
|
||||
$(call mod_link_asm_dos,$(MAKELIB_HEX),$(MAKELIB_RELS))
|
||||
|
||||
$(MAKELIB_COM): $(MAKELIB_HEX)
|
||||
$(call mod_hex2com,$(MAKELIB_HEX),$(MAKELIB_COM))
|
||||
399
src/makelib/makelib.asm
Normal file
399
src/makelib/makelib.asm
Normal file
|
|
@ -0,0 +1,399 @@
|
|||
|
||||
; Maak een LIBrary aan van files
|
||||
|
||||
; org #0100
|
||||
|
||||
bdos .equ #05
|
||||
setdta .equ 26 ; zet lees/schrijf-adres
|
||||
open_file .equ 15 ; open file
|
||||
close_file .equ 16 ; sluit file
|
||||
create_file .equ 22 ; maak file aan
|
||||
read_block .equ 39 ; laad van disk
|
||||
write_block .equ 38 ; schrijf naar disk
|
||||
|
||||
entry_length .equ 11 + 2 + 3
|
||||
|
||||
.area _CODE
|
||||
|
||||
call count_files ; tel aantal files
|
||||
ld (files),bc
|
||||
|
||||
call calc_length ; bereken lengte
|
||||
; directory
|
||||
ld (dir_length),hl
|
||||
|
||||
call make_dir ; maak directory
|
||||
|
||||
call save_dir ; bewaar directory
|
||||
|
||||
call store_files ; bewaar files
|
||||
|
||||
ld de,#fcb2
|
||||
ld c,#close_file
|
||||
call bdos ; klaar!
|
||||
ret
|
||||
|
||||
; Tel aantal files
|
||||
; In: -
|
||||
; Uit: BC: aantal files
|
||||
; Verandert: AF,BC,DE,HL
|
||||
count_files: ld hl,#file_names
|
||||
ld bc,#0
|
||||
ld de,#11
|
||||
|
||||
count_files1: ld a,(hl)
|
||||
or a
|
||||
ret z
|
||||
inc bc
|
||||
add hl,de
|
||||
jr count_files1
|
||||
|
||||
; Bereken lengte directory
|
||||
; In: BC: aantal files
|
||||
; Uit: HL: lengte directory
|
||||
; Verandert: AF, BC, DE, HL
|
||||
calc_length: ld hl,#3
|
||||
ld de,#entry_length
|
||||
|
||||
calc_length1: ld a,b
|
||||
or c
|
||||
ret z
|
||||
add hl,de
|
||||
dec bc
|
||||
jr calc_length1
|
||||
|
||||
; Maak directory
|
||||
; In: HL: lengte directory
|
||||
; Uit: -
|
||||
; Verandert: alles
|
||||
make_dir: ld (getal1),hl
|
||||
ld hl,#0
|
||||
ld (getal1+2),hl
|
||||
|
||||
ld hl,#file_names
|
||||
ld de,#directory
|
||||
ld bc,(files)
|
||||
|
||||
make_dir1: push bc
|
||||
|
||||
push hl
|
||||
push de
|
||||
|
||||
ld bc,#11
|
||||
ld de,#fname1
|
||||
ldir ; filenaam naar FCB
|
||||
|
||||
pop de
|
||||
pop hl
|
||||
ld bc,#11
|
||||
ldir ; filenaam naar directory
|
||||
|
||||
push hl
|
||||
|
||||
push de
|
||||
ld de,#fcb1
|
||||
ld c,#open_file
|
||||
call bdos
|
||||
ld de,#fcb1
|
||||
ld c,#close_file
|
||||
call bdos
|
||||
pop de
|
||||
ld hl,(length1)
|
||||
|
||||
ld a,l
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,h
|
||||
ld (de),a
|
||||
inc de
|
||||
|
||||
ld ix,#getal1 ; bewaar positie in file
|
||||
ld a,(IX)
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,(IX)
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,(IX)
|
||||
ld (de),a
|
||||
inc de
|
||||
|
||||
push de
|
||||
|
||||
ld iy,#getal2
|
||||
ld (IY),l
|
||||
ld (IY),h
|
||||
ld ix,#getal1
|
||||
call add_32bit
|
||||
|
||||
pop de
|
||||
pop hl
|
||||
pop bc
|
||||
dec bc
|
||||
ld a,b
|
||||
or c
|
||||
jp nz,make_dir1
|
||||
xor a
|
||||
ld (de),a
|
||||
ret
|
||||
|
||||
; Bewaar directory
|
||||
; In: -
|
||||
; Uit: -
|
||||
; Verandert: alles
|
||||
save_dir: ld hl,#lib_name
|
||||
ld de,#fname2
|
||||
ld bc,#11
|
||||
ldir
|
||||
|
||||
ld de,#fcb2
|
||||
ld c,#create_file
|
||||
call bdos ; cre er file
|
||||
|
||||
call intfcb2
|
||||
|
||||
ld de,#files
|
||||
ld c,#setdta
|
||||
call bdos
|
||||
|
||||
ld de,#fcb2
|
||||
ld c,#write_block
|
||||
ld hl,(dir_length)
|
||||
call bdos ; schrijf directory weg
|
||||
ret
|
||||
|
||||
; Bewaar files in .LIB-file
|
||||
; In: -
|
||||
; Uit: -
|
||||
; Verandert: AF, BC, DE, HL
|
||||
store_files: ld bc,(files)
|
||||
ld hl,#file_names
|
||||
|
||||
store_files1: push bc
|
||||
|
||||
ld bc,#11
|
||||
ld de,#fname1
|
||||
ldir
|
||||
|
||||
PUSH HL
|
||||
|
||||
LD HL,#fname1
|
||||
LD B,#11
|
||||
CALL PUT_TXT
|
||||
LD HL,#RETTXT
|
||||
LD B,#2
|
||||
CALL PUT_TXT
|
||||
|
||||
POP HL
|
||||
PUSH HL
|
||||
|
||||
call clrfcb1
|
||||
|
||||
ld c,#open_file
|
||||
ld de,#fcb1
|
||||
call bdos
|
||||
|
||||
call intfcb1
|
||||
|
||||
ld hl,(length1)
|
||||
call copy_file ; kopieer file
|
||||
|
||||
ld de,#fcb1
|
||||
ld c,#close_file
|
||||
call bdos
|
||||
|
||||
pop hl
|
||||
pop bc
|
||||
dec bc
|
||||
ld a,b
|
||||
or c
|
||||
jp nz,store_files1
|
||||
ret
|
||||
|
||||
; Copieer file naar .LIB-file
|
||||
; In: HL: lengte file
|
||||
; Uit: -
|
||||
; Verandert: AF, BC, DE, HL
|
||||
copy_file: push hl
|
||||
ld c,#setdta
|
||||
ld de,#directory
|
||||
call bdos
|
||||
pop hl
|
||||
|
||||
copy_file1: ld de,#32768
|
||||
xor a
|
||||
sbc hl,de ; file >32768 bytes?
|
||||
jp c,copy_file2 ; Nee, copieer rest
|
||||
|
||||
push hl
|
||||
ld hl,#32768
|
||||
ld de,#fcb1
|
||||
ld c,#read_block
|
||||
call bdos
|
||||
|
||||
ld hl,#32768
|
||||
ld de,#fcb2
|
||||
ld c,#write_block
|
||||
call bdos
|
||||
pop hl
|
||||
jp copy_file1
|
||||
|
||||
copy_file2: add hl,de
|
||||
push hl
|
||||
ld de,#fcb1
|
||||
ld c,#read_block
|
||||
call bdos
|
||||
pop hl
|
||||
ld de,#fcb2
|
||||
ld c,#write_block
|
||||
call bdos
|
||||
ret
|
||||
|
||||
; Tel twee 32-bits getallen op
|
||||
; In: IX: adres getal 1
|
||||
; IY: adres getal 2
|
||||
; Uit: getal 1 gevuld met resultaat
|
||||
; Verandert: BC,DE,HL
|
||||
add_32bit: ld l,(IX)
|
||||
ld h,(IX)
|
||||
|
||||
ld e,(IY)
|
||||
ld d,(IY)
|
||||
|
||||
ld c,(IX)
|
||||
ld b,(IX)
|
||||
add hl,de
|
||||
jr nc,add_32bit1
|
||||
inc bc
|
||||
add_32bit1: ld (IX),l
|
||||
ld (IX),h
|
||||
|
||||
ld l,(IY)
|
||||
ld h,(IY)
|
||||
add hl,bc
|
||||
ld (IX),l
|
||||
ld (IX),h
|
||||
ret
|
||||
|
||||
; Maak FCB 1 schoon
|
||||
; In: -
|
||||
; Uit: -
|
||||
; Verandert: AF, BC, DE, HL
|
||||
clrfcb1: ld hl,#fcbdat1
|
||||
ld bc,#25
|
||||
xor a
|
||||
ld (hl),a
|
||||
ld de,#fcbdat1 + 1
|
||||
ldir
|
||||
ret
|
||||
|
||||
; Initialiseer FCB 1
|
||||
; In: -
|
||||
; Uit: -
|
||||
; Verandert: AF, HL
|
||||
intfcb1: ld hl,#0
|
||||
ld (fcb1 + 12),hl
|
||||
ld (fcb1 + 33),hl
|
||||
ld (fcb1 + 35),hl
|
||||
xor a
|
||||
ld (fcb1 + 32),a
|
||||
inc hl
|
||||
ld (fcb1 + 14),hl
|
||||
ret
|
||||
|
||||
; Initialiseer FCB 2
|
||||
; In: -
|
||||
; Uit: -
|
||||
; Verandert: AF, HL
|
||||
intfcb2: ld hl,#0
|
||||
ld (fcb2 + 12),hl
|
||||
ld (fcb2 + 33),hl
|
||||
ld (fcb2 + 35),hl
|
||||
xor a
|
||||
ld (fcb2 + 32),a
|
||||
inc hl
|
||||
ld (fcb2 + 14),hl
|
||||
ret
|
||||
; HL=TXT
|
||||
; B=LENGHTE
|
||||
|
||||
PUT_TXT:
|
||||
LD A,(HL)
|
||||
LD E,A
|
||||
LD C,#2
|
||||
PUSH HL
|
||||
PUSH BC
|
||||
CALL bdos
|
||||
POP BC
|
||||
POP HL
|
||||
INC HL
|
||||
DJNZ PUT_TXT
|
||||
RET
|
||||
|
||||
RETTXT: .db 0x0A,0x0D
|
||||
|
||||
|
||||
getal1: .dw 0,0 ; opslagplaats voor de twee
|
||||
getal2: .dw 0,0 ; 32-bits getallen
|
||||
|
||||
dir_length: .dw 0 ; lengte van directory
|
||||
|
||||
; Het eerste FCB
|
||||
fcb1: .db 0 ; drive (0=default, 1 = A:)
|
||||
fname1: .str " "
|
||||
fcbdat1: .db 0,0,0,0
|
||||
length1: .db 0,0,0,0,0,0,0,0,0,0,0
|
||||
.db 0,0,0,0,0,0,0,0,0,0,0
|
||||
|
||||
; Het tweede FCB
|
||||
fcb2: .db 0 ; drive (0=default, 2 = B:)
|
||||
fname2: .str " "
|
||||
.db 0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.db 0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
|
||||
; Naam van de te maken .LIB-file
|
||||
lib_name: .str "DOME 000"
|
||||
|
||||
; Lijst met files die in de .LIB-file moeten
|
||||
file_names:
|
||||
.str "BIOS DAT"
|
||||
.str "LOADER DAT"
|
||||
.str "WAVEDRV COM"
|
||||
|
||||
.str "PARAGON ZOP"
|
||||
.str "PRESENTSZOP"
|
||||
.str "DOME ZOP"
|
||||
|
||||
.str "MMENU DAT"
|
||||
.str "ST_MENU1ZOP" ; GFX START MENU
|
||||
.str "ST_MENU2ZOP" ; GFX START MENU_ROOD
|
||||
|
||||
|
||||
.str "UNITTOT ZOP" ; GFX UNITS
|
||||
.str "PAGE5 ZOP" ; GFX BUILDINGS
|
||||
.str "BLAKEN4 ZOP" ; GFX ACHTERGROND
|
||||
.str "DOME DAT" ; DOME ENGINE
|
||||
|
||||
.str "MENU DAT" ; DOME_MENU_CALL CODE
|
||||
.str "MENU ZOP" ; DOME_MENU_CALL GFX
|
||||
;DB "CHOOSE DAT" ; LEVEL CHOOSER CODE
|
||||
;DB "CHOOSE1 ZOP" ; LEVEL CHOOSEE GFX1
|
||||
;DB "CHOOSE2 ZOP" ; LEVEL CHOOSER GFX2
|
||||
|
||||
.str "BRIEF ZOP"
|
||||
|
||||
.str "VELD 001"
|
||||
.str "TANKTAB 001"
|
||||
.str "CODE 001" ; MAXIMAAL 999 VELDEN
|
||||
|
||||
.str "VELD 002"
|
||||
.str "TANKTAB 002"
|
||||
.str "CODE 002"
|
||||
.db 0
|
||||
|
||||
; 0 = laatste gehad
|
||||
|
||||
files: .dw 0 ; bewaarplaats aantal files
|
||||
directory: nop
|
||||
|
||||
.area _DATA
|
||||
Loading…
Add table
Add a link
Reference in a new issue