Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

various improvements and bugfixes of sdk and build process #111

Open
wants to merge 63 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
7354799
sdk/src/zx7b.inc.mk: initial commit
ivan-tat Sep 11, 2021
f9580b4
sdk/src/lodepng/lodepng.c: updated LodePNG to version 20210627
ivan-tat Sep 11, 2021
a38c233
Updated Makefiles to build tools using LodePNG library
ivan-tat Sep 11, 2021
7301d8e
firmware/scroll/Makefile: added `test` target
ivan-tat Sep 11, 2021
b5ef2f4
firmware/keymaps/: initial commit of binary keymaps files
ivan-tat Sep 11, 2021
4e3ed78
sdk: updated SJAsmPlus by Aprisobal to version 1.18.3
ivan-tat Sep 12, 2021
5084fd4
sdk/include/regs.mac: simplified some macros
ivan-tat Sep 12, 2021
a0cb56b
software/dmaplayw/dmaplayw.asm: optimized using `regs.mac` macros
ivan-tat Sep 12, 2021
0b57724
software/ugophy/vtpl.asm: removed compiler warnings and converted lin…
ivan-tat Sep 12, 2021
05b6a96
sdk/extract.sh: fixed bug in `new_tmp_dir` function
ivan-tat Sep 12, 2021
caede1b
firmware/keymaps/: added legal stuff
ivan-tat Sep 13, 2021
fa89273
firmware/images/: initial commit of logos
ivan-tat Sep 13, 2021
409948f
moved `firmware/bezel.png` into `firmware/images/bezel.png`
ivan-tat Sep 13, 2021
9ed51d2
firmware/Makefile: added `images` target
ivan-tat Sep 13, 2021
b58fc4f
sdk/README.md: updated `sdk` structure description
ivan-tat Sep 16, 2021
6efb2cc
sdk: initial commit of `fontconv` tool
ivan-tat Sep 16, 2021
4079676
firmware/fonts/: initial commit of fonts
ivan-tat Sep 16, 2021
bd6d969
firmware/Makefile: added `fonts` target
ivan-tat Sep 16, 2021
33a8a14
sdk/src/tools/fontconv.c: removed superfluous filename assignments
ivan-tat Sep 16, 2021
6cfc56c
sdk/src/tools/fontconv.c: updated home page link
ivan-tat Sep 17, 2021
32bf602
sdk: added `USE_Z88DK_VERSION` variable, moved `z88dk` from `$(ZXSDK)…
ivan-tat Sep 20, 2021
2d93905
sdk: added `USE_SDCC_VERSION` variable
ivan-tat Sep 20, 2021
87c1a64
sdk/include/regs.mac: fixed license identifier
ivan-tat Sep 20, 2021
95a156e
sdk/include/memcpy.mac: initial commit
ivan-tat Sep 20, 2021
6bfb6ef
sdk/include/rcs.mac: initial commit
ivan-tat Sep 20, 2021
2824eda
sdk/setenv.bat: command echoing mode preserved, internal `cmd.exe` co…
ivan-tat Sep 21, 2021
925c8f7
sdk/extract.sh: (fix) made parameter `--sha256` optional
ivan-tat Sep 23, 2021
57e0073
sdk: added `current` version of SJAsmPlus by Aprisobal as an option
ivan-tat Sep 23, 2021
47bbd5f
sdk/include/prn6x8f.mac: initial commit
ivan-tat Sep 24, 2021
4603f08
sdk/include/rever.mac: initial commit
ivan-tat Sep 24, 2021
1f2c3f2
sdk/src/sjasmplus-z00m128.inc.mk: added `current` version of SJAsmPlu…
ivan-tat Sep 24, 2021
4bd990b
firmware/scroll/Makefile: moved all generated files into `build` dire…
ivan-tat Sep 24, 2021
ba21f46
firmware/scroll/build.bat: initial commit
ivan-tat Sep 24, 2021
558a29e
firmware/scroll/scroll.asm: code optimizations using `prn6x8f.mac` ma…
ivan-tat Sep 24, 2021
f370c01
sdk/include/rever.mac: modified `rever` macro to mirror attributes
ivan-tat Sep 24, 2021
2b8dd41
firmware/Makefile: fixed SJAsmPlus branch selection, added file notice
ivan-tat Sep 25, 2021
996829c
Merge branch 'zxdos:master' into master
ivan-tat Sep 27, 2021
1182f49
Merge branch 'zxdos:master' into master
ivan-tat Oct 2, 2021
e5a5dfb
Merge branch 'zxdos:master' into master
ivan-tat Oct 5, 2021
cf3c30d
Merge branch 'zxdos:master' into master
ivan-tat Oct 10, 2021
6d9094d
Merge branch 'zxdos:master' into master
ivan-tat Dec 27, 2021
80af300
firmware/scroll/.gitignore: added `conf.mk` and `conf.bat` files
ivan-tat Dec 27, 2021
7af516e
firmware/images: initial commit of `logo256x192bn.png` and `logo256x1…
ivan-tat Dec 27, 2021
58587f9
firmware/images: initial commit of `logo256x192ut.png` and `logo256x1…
ivan-tat Dec 27, 2021
1d82af2
sdk: added The Right Tools version 0.2
ivan-tat Jan 17, 2022
f55208b
firmware/Makefile: replaced `Png2Rcs` tool with `scrconv` from The Ri…
ivan-tat Jan 17, 2022
8c5106f
Merge branch 'zxdos:master' into master
ivan-tat Feb 16, 2022
8f31864
firmware/keymaps/: updated binary files changed by https://github.com…
ivan-tat Feb 16, 2022
c93bd37
firmware/Makefile: added initial scripts to compile different firmwar…
ivan-tat Feb 16, 2022
647390b
firmware/Makefile: added creation of `firmware/strings-new.asm` file
ivan-tat Mar 30, 2022
d9a4301
Merge branch 'zxdos:master' into master
ivan-tat Mar 30, 2022
b5f5bca
sdk: updated `sjasmplus` tool by Aprisobal to version 1.19.0
ivan-tat Mar 30, 2022
eadd115
sdk: updated LodePNG to version 20220109
ivan-tat Mar 31, 2022
ae7a377
Merge branch 'zxdos:master' into master
ivan-tat May 12, 2022
97bbe4f
Merge branch 'master' of github.com:zxdos/zxuno into master
ivan-tat May 29, 2022
2a15b07
Merge branch 'zxdos:master' into master
ivan-tat Jun 3, 2022
a31911f
Merge branch 'zxdos:master' into master
ivan-tat Jun 5, 2022
3bbc5ee
sdk: updated `sjasmplus` tool by Aprisobal to version 1.20.0
ivan-tat Jun 15, 2022
aa19cfa
firmware/.gitignore: added `firmware-new.asm` and `strings-new.asm`
ivan-tat Jan 21, 2023
0fd8a46
Sync with upstream
ivan-tat Jan 29, 2023
d3c3ed3
Moved raster fonts from `firmware/fonts/` into `fonts/` directory
ivan-tat Jan 29, 2023
c2adb5a
cores/Spectrum/keymaps: added `dumpkeybmap` and `genkeybmap` tools
ivan-tat Feb 3, 2023
22acc35
sdk: updated `sjasmplus` tool by Aprisobal to version 1.20.2
ivan-tat Feb 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SPDX-FileType: TEXT
# SPDX-FileCopyrightText: 2018 Antonio Villena
# SPDX-License-Identifier: CC0-1.0

.downloads
81 changes: 76 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# Updates content of SD directory.
#
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <[email protected]>
#!/bin/make -f
#
# SPDX-License-Identifier: GPL-3.0-or-later
# Updates content of SD directory.
#
# Supported environments:
# * GNU on Linux, FreeBSD etc.
Expand All @@ -22,20 +20,93 @@
#
# where:
# <TARGET> is one of the values for `TARGETS' variable.
#
# SPDX-FileType: SOURCE
# SPDX-FileCopyrightText: 2021, 2023 Ivan Tatarinov
# SPDX-License-Identifier: GPL-3.0-or-later

include sdk/common.mk

# Use uppercase for FAT filesystem
prefix ?= SD

TARGETS=\
fonts\
keymaps\
firmwares\
utils\
software

.PHONY: all
all: install
all: build-fonts install
@echo 'Done.'

# fonts

.PHONY: build-fonts
build-fonts: | fonts
$(MAKE) -w -C $|

.PHONY: install-fonts
install-fonts: | fonts
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install

.PHONY: uninstall-fonts
uninstall-fonts: | fonts
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall

.PHONY: clean-fonts
clean-fonts: | fonts
$(MAKE) -w -C $| clean

.PHONY: distclean-fonts
distclean-fonts: | fonts
$(MAKE) -w -C $| distclean

# keymaps

.PHONY: build-keymaps
build-keymaps: | cores/Spectrum/keymaps
$(MAKE) -w -C $|

.PHONY: install-keymaps
install-keymaps: | cores/Spectrum/keymaps
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install

.PHONY: uninstall-keymaps
uninstall-keymaps: | cores/Spectrum/keymaps
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall

.PHONY: clean-keymaps
clean-keymaps: | cores/Spectrum/keymaps
$(MAKE) -w -C $| clean

.PHONY: distclean-keymaps
distclean-keymaps: | cores/Spectrum/keymaps
$(MAKE) -w -C $| distclean

# firmwares

.PHONY: build-firmwares
build-firmwares: | firmware
$(MAKE) -w -C $|

.PHONY: install-firmwares
install-firmwares: | firmware
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install

.PHONY: uninstall-firmwares
uninstall-firmwares: | firmware
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall

.PHONY: clean-firmwares
clean-firmwares: | firmware
$(MAKE) -w -C $| clean

.PHONY: distclean-firmwares
distclean-firmwares: | firmware
$(MAKE) -w -C $| distclean

# utils

.PHONY: build-utils
Expand Down
5 changes: 5 additions & 0 deletions cores/Spectrum/keymaps/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SPDX-FileType: TEXT
# SPDX-FileCopyrightText: 2023 Ivan Tatarinov
# SPDX-License-Identifier: CC0-1.0

build
109 changes: 109 additions & 0 deletions cores/Spectrum/keymaps/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#!/bin/make -f
#
# Supported environments:
# * GNU on Linux, FreeBSD etc.
# * GNU on Windows NT (using MinGW/MSYS/Cygwin/WSL)
#
# SPDX-FileType: SOURCE
# SPDX-FileCopyrightText: 2023 Ivan Tatarinov
# SPDX-License-Identifier: GPL-3.0-or-later

include ../../../sdk/common.mk

srcdir = .
# Use uppercase for FAT filesystem
prefix ?= .
keymapsdir ?= $(prefix)/SYS/KEYMAPS

INSTALL ?= install
INSTALL_DATA ?= $(INSTALL) -m 644
MKDIR ?= mkdir
RM ?= rm -f

BINS=\
build/dumpkeybmap$(EXESUFFIX)\
build/genkeybmap$(EXESUFFIX)

KEYMAPS=\
build/av-fw.bin\
build/av-sd.bin\
build/es-fw.bin\
build/es-sd.bin\
build/us-fw.bin\
build/us-sd.bin

.PHONY: all
all: $(BINS) $(KEYMAPS)

build\
$(DESTDIR)$(keymapsdir):
$(MKDIR) -p $@

build/dumpkeybmap$(EXESUFFIX): $(srcdir)/dumpkeybmap.c\
$(srcdir)/errors.h\
$(srcdir)/errors.c\
Makefile | build
$(CC) $(CFLAGS) -std=c99 -Wall -o $@ $<

build/genkeybmap$(EXESUFFIX): $(srcdir)/genkeybmap.c\
$(srcdir)/errors.h\
$(srcdir)/errors.c\
$(srcdir)/keys_pc.h\
$(srcdir)/keys_sp.h\
$(srcdir)/keymap_av_fw.c\
$(srcdir)/keymap_av_sd.c\
$(srcdir)/keymap_es_fw.c\
$(srcdir)/keymap_es_sd.c\
$(srcdir)/keymap_us_fw.c\
$(srcdir)/keymap_us_sd.c\
Makefile | build
$(CC) $(CFLAGS) -std=c99 -Wall -o $@ $<

build/av-fw.bin: build/genkeybmap$(EXESUFFIX) Makefile | build
./$< av-fw $@

build/av-sd.bin: build/genkeybmap$(EXESUFFIX) Makefile | build
./$< av-sd $@

build/es-fw.bin: build/genkeybmap$(EXESUFFIX) Makefile | build
./$< es-fw $@

build/es-sd.bin: build/genkeybmap$(EXESUFFIX) Makefile | build
./$< es-sd $@

build/us-fw.bin: build/genkeybmap$(EXESUFFIX) Makefile | build
./$< us-fw $@

build/us-sd.bin: build/genkeybmap$(EXESUFFIX) Makefile | build
./$< us-sd $@

$(DESTDIR)$(keymapsdir)/AV: build/av-sd.bin | $(DESTDIR)$(keymapsdir)
$(INSTALL_DATA) $< $@

$(DESTDIR)$(keymapsdir)/ES: build/es-sd.bin | $(DESTDIR)$(keymapsdir)
$(INSTALL_DATA) $< $@

$(DESTDIR)$(keymapsdir)/US: build/us-sd.bin | $(DESTDIR)$(keymapsdir)
$(INSTALL_DATA) $< $@

.PHONY: install
install:\
$(DESTDIR)$(keymapsdir)/AV\
$(DESTDIR)$(keymapsdir)/ES\
$(DESTDIR)$(keymapsdir)/US\
| $(DESTDIR)$(keymapsdir)

.PHONY: uninstall
uninstall:
$(RM)\
$(DESTDIR)$(keymapsdir)/AV\
$(DESTDIR)$(keymapsdir)/ES\
$(DESTDIR)$(keymapsdir)/US

.PHONY: clean
clean:
$(RM) $(BINS) $(KEYMAPS)

.PHONY: distclean
distclean:
$(RM) -r build
Loading