Skip to content

Commit

Permalink
Add ability to run external progrum on init phase
Browse files Browse the repository at this point in the history
  • Loading branch information
Yury Batenko committed Jun 17, 2024
1 parent 09ccf94 commit ef294f4
Show file tree
Hide file tree
Showing 16 changed files with 320 additions and 97 deletions.
4 changes: 2 additions & 2 deletions CMakeCache.txt
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
CMAKE_PROJECT_NAME:STATIC=zspec

//Value Computed by CMake
CMAKE_PROJECT_VERSION:STATIC=1.0.6
CMAKE_PROJECT_VERSION:STATIC=1.0.8

//Value Computed by CMake
CMAKE_PROJECT_VERSION_MAJOR:STATIC=1
Expand All @@ -140,7 +140,7 @@ CMAKE_PROJECT_VERSION_MAJOR:STATIC=1
CMAKE_PROJECT_VERSION_MINOR:STATIC=0

//Value Computed by CMake
CMAKE_PROJECT_VERSION_PATCH:STATIC=6
CMAKE_PROJECT_VERSION_PATCH:STATIC=8

//Value Computed by CMake
CMAKE_PROJECT_VERSION_TWEAK:STATIC=
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.15)

set(REV 1.0.6)
set(REV 1.0.8)

add_definitions(-DBUILD_REVISION="${REV}")

Expand Down
16 changes: 8 additions & 8 deletions CPackConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -34,30 +34,30 @@ set(CPACK_INNOSETUP_ARCHITECTURE "x64")
set(CPACK_INSTALL_CMAKE_PROJECTS "/Users/yurybatenko/projects/microcomp/Tools/zspec;zspec;ALL;/")
set(CPACK_INSTALL_PREFIX "/usr/local")
set(CPACK_MODULE_PATH "")
set(CPACK_NSIS_DISPLAY_NAME "zspec 1.0.6")
set(CPACK_NSIS_DISPLAY_NAME "zspec 1.0.8")
set(CPACK_NSIS_INSTALLER_ICON_CODE "")
set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
set(CPACK_NSIS_PACKAGE_NAME "zspec 1.0.6")
set(CPACK_NSIS_PACKAGE_NAME "zspec 1.0.8")
set(CPACK_NSIS_UNINSTALL_NAME "Uninstall")
set(CPACK_OBJDUMP_EXECUTABLE "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump")
set(CPACK_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk")
set(CPACK_OUTPUT_CONFIG_FILE "/Users/yurybatenko/projects/microcomp/Tools/zspec/CPackConfig.cmake")
set(CPACK_PACKAGE_DEFAULT_LOCATION "/")
set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericDescription.txt")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "zspec built using CMake")
set(CPACK_PACKAGE_FILE_NAME "zspec-1.0.6-Darwin")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "zspec 1.0.6")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "zspec 1.0.6")
set(CPACK_PACKAGE_FILE_NAME "zspec-1.0.8-Darwin")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "zspec 1.0.8")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "zspec 1.0.8")
set(CPACK_PACKAGE_NAME "zspec")
set(CPACK_PACKAGE_RELOCATABLE "true")
set(CPACK_PACKAGE_VENDOR "Humanity")
set(CPACK_PACKAGE_VERSION "1.0.6")
set(CPACK_PACKAGE_VERSION "1.0.8")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "6")
set(CPACK_PACKAGE_VERSION_PATCH "8")
set(CPACK_PROJECT_NAME "zspec")
set(CPACK_PROJECT_VERSION "1.0.6")
set(CPACK_PROJECT_VERSION "1.0.8")
set(CPACK_RESOURCE_FILE_LICENSE "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericLicense.txt")
set(CPACK_RESOURCE_FILE_README "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericDescription.txt")
set(CPACK_RESOURCE_FILE_WELCOME "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericWelcome.txt")
Expand Down
18 changes: 9 additions & 9 deletions CPackSourceConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,30 +36,30 @@ set(CPACK_INSTALLED_DIRECTORIES "/Users/yurybatenko/projects/microcomp/Tools/zsp
set(CPACK_INSTALL_CMAKE_PROJECTS "")
set(CPACK_INSTALL_PREFIX "/usr/local")
set(CPACK_MODULE_PATH "")
set(CPACK_NSIS_DISPLAY_NAME "zspec 1.0.6")
set(CPACK_NSIS_DISPLAY_NAME "zspec 1.0.8")
set(CPACK_NSIS_INSTALLER_ICON_CODE "")
set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
set(CPACK_NSIS_PACKAGE_NAME "zspec 1.0.6")
set(CPACK_NSIS_PACKAGE_NAME "zspec 1.0.8")
set(CPACK_NSIS_UNINSTALL_NAME "Uninstall")
set(CPACK_OBJDUMP_EXECUTABLE "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump")
set(CPACK_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk")
set(CPACK_OUTPUT_CONFIG_FILE "/Users/yurybatenko/projects/microcomp/Tools/zspec/CPackConfig.cmake")
set(CPACK_PACKAGE_DEFAULT_LOCATION "/")
set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericDescription.txt")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "zspec built using CMake")
set(CPACK_PACKAGE_FILE_NAME "zspec-1.0.6-Source")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "zspec 1.0.6")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "zspec 1.0.6")
set(CPACK_PACKAGE_FILE_NAME "zspec-1.0.8-Source")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "zspec 1.0.8")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "zspec 1.0.8")
set(CPACK_PACKAGE_NAME "zspec")
set(CPACK_PACKAGE_RELOCATABLE "true")
set(CPACK_PACKAGE_VENDOR "Humanity")
set(CPACK_PACKAGE_VERSION "1.0.6")
set(CPACK_PACKAGE_VERSION "1.0.8")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "6")
set(CPACK_PACKAGE_VERSION_PATCH "8")
set(CPACK_PROJECT_NAME "zspec")
set(CPACK_PROJECT_VERSION "1.0.6")
set(CPACK_PROJECT_VERSION "1.0.8")
set(CPACK_RESOURCE_FILE_LICENSE "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericLicense.txt")
set(CPACK_RESOURCE_FILE_README "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericDescription.txt")
set(CPACK_RESOURCE_FILE_WELCOME "/usr/local/Cellar/cmake/3.28.3/share/cmake/Templates/CPack.GenericWelcome.txt")
Expand All @@ -69,7 +69,7 @@ set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ")
set(CPACK_SOURCE_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#")
set(CPACK_SOURCE_INSTALLED_DIRECTORIES "/Users/yurybatenko/projects/microcomp/Tools/zspec;/")
set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/Users/yurybatenko/projects/microcomp/Tools/zspec/CPackSourceConfig.cmake")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "zspec-1.0.6-Source")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "zspec-1.0.8-Source")
set(CPACK_SOURCE_RPM "OFF")
set(CPACK_SOURCE_TBZ2 "ON")
set(CPACK_SOURCE_TGZ "ON")
Expand Down
2 changes: 2 additions & 0 deletions examples/main.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
const.fun_1 = 0x1014
const.fun_2 = 65525

# this will run assembly program once on start
build = ["sjasmplus", "--sld=examples/zx_screen_proc.sld", "--fullpath", "examples/zx_screen_proc.asm"]
bin_file = "examples/main.bin"
load_addr = 0xC000
labels_file = "examples/main.sld"
Expand Down
16 changes: 8 additions & 8 deletions examples/zx_screen_proc.asm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
SLDOPT COMMENT WPMEM, LOGPOINT, ASSERTION

ORG 0xC000
; in:

; in:
; hl - screen address
; out:
; hl - screen address, one pixel lower
Expand All @@ -26,7 +26,7 @@ down_hl:
add a,$20
ld l,a
ret nc

ld a,h
add a,$08
ld h,a
Expand All @@ -38,11 +38,11 @@ down_hl:
ret

; brief: Converts pixel coord (x,y) to screen address
; in:
; in:
; H: y(0..192), L: x(0..255)
; out:
; DE at corresponding byte in the screen
xy2screen:
xy2screen:
ld a,h
rra
rra
Expand All @@ -69,11 +69,11 @@ xy2screen:
ret

; brief: Converts screen char coord (x,y) to screen address
; in:
; in:
; D: y(0..23), E: x(0..31)
; out:
; DE at corresponding byte in the screen
xy2char:
xy2char:
ld a,d
rrca
rrca
Expand All @@ -87,4 +87,4 @@ xy2char:
ld d,a
ret

SAVEBIN 'zs_screen_proc.bin', down_hl
SAVEBIN 'examples/zs_screen_proc.bin', down_hl
122 changes: 61 additions & 61 deletions examples/zx_screen_proc.sld
Original file line number Diff line number Diff line change
@@ -1,63 +1,63 @@
|SLD.data.version|1
||K|KEYWORDS|WPMEM,LOGPOINT,ASSERTION
zx_screen_proc.asm|5||0|-1|-1|Z|pages.size:16384,pages.count:8,slots.count:4,slots.adr:0,16384,32768,49152
zx_screen_proc.asm|15||0|0|49152|F|down_hl
zx_screen_proc.asm|15||0|0|49152|L|,down_hl,,+used
zx_screen_proc.asm|16||0|0|49152|T|
zx_screen_proc.asm|17||0|0|49153|T|
zx_screen_proc.asm|18||0|0|49154|T|
zx_screen_proc.asm|19||0|0|49156|T|
zx_screen_proc.asm|21||0|0|49157|T|
zx_screen_proc.asm|22||0|0|49158|T|
zx_screen_proc.asm|23||0|0|49160|T|
zx_screen_proc.asm|25||0|0|49161|T|
zx_screen_proc.asm|26||0|0|49162|T|
zx_screen_proc.asm|27||0|0|49164|T|
zx_screen_proc.asm|28||0|0|49165|T|
zx_screen_proc.asm|30||0|0|49166|T|
zx_screen_proc.asm|31||0|0|49167|T|
zx_screen_proc.asm|32||0|0|49169|T|
zx_screen_proc.asm|34||0|0|49170|T|
zx_screen_proc.asm|35||0|0|49172|T|
zx_screen_proc.asm|37||0|0|49174|T|
zx_screen_proc.asm|38||0|0|49175|T|
zx_screen_proc.asm|45||0|0|49176|F|xy2screen
zx_screen_proc.asm|45||0|0|49176|L|,xy2screen,
zx_screen_proc.asm|46||0|0|49176|T|
zx_screen_proc.asm|47||0|0|49177|T|
zx_screen_proc.asm|48||0|0|49178|T|
zx_screen_proc.asm|49||0|0|49179|T|
zx_screen_proc.asm|50||0|0|49180|T|
zx_screen_proc.asm|51||0|0|49182|T|
zx_screen_proc.asm|52||0|0|49184|T|
zx_screen_proc.asm|53||0|0|49185|T|
zx_screen_proc.asm|54||0|0|49186|T|
zx_screen_proc.asm|55||0|0|49188|T|
zx_screen_proc.asm|56||0|0|49189|T|
zx_screen_proc.asm|57||0|0|49190|T|
zx_screen_proc.asm|58||0|0|49191|T|
zx_screen_proc.asm|59||0|0|49192|T|
zx_screen_proc.asm|60||0|0|49193|T|
zx_screen_proc.asm|61||0|0|49195|T|
zx_screen_proc.asm|62||0|0|49196|T|
zx_screen_proc.asm|63||0|0|49197|T|
zx_screen_proc.asm|64||0|0|49198|T|
zx_screen_proc.asm|65||0|0|49199|T|
zx_screen_proc.asm|66||0|0|49200|T|
zx_screen_proc.asm|67||0|0|49202|T|
zx_screen_proc.asm|68||0|0|49203|T|
zx_screen_proc.asm|69||0|0|49204|T|
zx_screen_proc.asm|76||0|0|49205|F|xy2char
zx_screen_proc.asm|76||0|0|49205|L|,xy2char,
zx_screen_proc.asm|77||0|0|49205|T|
zx_screen_proc.asm|78||0|0|49206|T|
zx_screen_proc.asm|79||0|0|49207|T|
zx_screen_proc.asm|80||0|0|49208|T|
zx_screen_proc.asm|81||0|0|49209|T|
zx_screen_proc.asm|82||0|0|49211|T|
zx_screen_proc.asm|83||0|0|49212|T|
zx_screen_proc.asm|84||0|0|49213|T|
zx_screen_proc.asm|85||0|0|49214|T|
zx_screen_proc.asm|86||0|0|49216|T|
zx_screen_proc.asm|87||0|0|49218|T|
zx_screen_proc.asm|88||0|0|49219|T|
examples/zx_screen_proc.asm|5||0|-1|-1|Z|pages.size:16384,pages.count:8,slots.count:4,slots.adr:0,16384,32768,49152
examples/zx_screen_proc.asm|15||0|0|49152|F|down_hl
examples/zx_screen_proc.asm|15||0|0|49152|L|,down_hl,,+used
examples/zx_screen_proc.asm|16||0|0|49152|T|
examples/zx_screen_proc.asm|17||0|0|49153|T|
examples/zx_screen_proc.asm|18||0|0|49154|T|
examples/zx_screen_proc.asm|19||0|0|49156|T|
examples/zx_screen_proc.asm|21||0|0|49157|T|
examples/zx_screen_proc.asm|22||0|0|49158|T|
examples/zx_screen_proc.asm|23||0|0|49160|T|
examples/zx_screen_proc.asm|25||0|0|49161|T|
examples/zx_screen_proc.asm|26||0|0|49162|T|
examples/zx_screen_proc.asm|27||0|0|49164|T|
examples/zx_screen_proc.asm|28||0|0|49165|T|
examples/zx_screen_proc.asm|30||0|0|49166|T|
examples/zx_screen_proc.asm|31||0|0|49167|T|
examples/zx_screen_proc.asm|32||0|0|49169|T|
examples/zx_screen_proc.asm|34||0|0|49170|T|
examples/zx_screen_proc.asm|35||0|0|49172|T|
examples/zx_screen_proc.asm|37||0|0|49174|T|
examples/zx_screen_proc.asm|38||0|0|49175|T|
examples/zx_screen_proc.asm|45||0|0|49176|F|xy2screen
examples/zx_screen_proc.asm|45||0|0|49176|L|,xy2screen,
examples/zx_screen_proc.asm|46||0|0|49176|T|
examples/zx_screen_proc.asm|47||0|0|49177|T|
examples/zx_screen_proc.asm|48||0|0|49178|T|
examples/zx_screen_proc.asm|49||0|0|49179|T|
examples/zx_screen_proc.asm|50||0|0|49180|T|
examples/zx_screen_proc.asm|51||0|0|49182|T|
examples/zx_screen_proc.asm|52||0|0|49184|T|
examples/zx_screen_proc.asm|53||0|0|49185|T|
examples/zx_screen_proc.asm|54||0|0|49186|T|
examples/zx_screen_proc.asm|55||0|0|49188|T|
examples/zx_screen_proc.asm|56||0|0|49189|T|
examples/zx_screen_proc.asm|57||0|0|49190|T|
examples/zx_screen_proc.asm|58||0|0|49191|T|
examples/zx_screen_proc.asm|59||0|0|49192|T|
examples/zx_screen_proc.asm|60||0|0|49193|T|
examples/zx_screen_proc.asm|61||0|0|49195|T|
examples/zx_screen_proc.asm|62||0|0|49196|T|
examples/zx_screen_proc.asm|63||0|0|49197|T|
examples/zx_screen_proc.asm|64||0|0|49198|T|
examples/zx_screen_proc.asm|65||0|0|49199|T|
examples/zx_screen_proc.asm|66||0|0|49200|T|
examples/zx_screen_proc.asm|67||0|0|49202|T|
examples/zx_screen_proc.asm|68||0|0|49203|T|
examples/zx_screen_proc.asm|69||0|0|49204|T|
examples/zx_screen_proc.asm|76||0|0|49205|F|xy2char
examples/zx_screen_proc.asm|76||0|0|49205|L|,xy2char,
examples/zx_screen_proc.asm|77||0|0|49205|T|
examples/zx_screen_proc.asm|78||0|0|49206|T|
examples/zx_screen_proc.asm|79||0|0|49207|T|
examples/zx_screen_proc.asm|80||0|0|49208|T|
examples/zx_screen_proc.asm|81||0|0|49209|T|
examples/zx_screen_proc.asm|82||0|0|49211|T|
examples/zx_screen_proc.asm|83||0|0|49212|T|
examples/zx_screen_proc.asm|84||0|0|49213|T|
examples/zx_screen_proc.asm|85||0|0|49214|T|
examples/zx_screen_proc.asm|86||0|0|49216|T|
examples/zx_screen_proc.asm|87||0|0|49218|T|
examples/zx_screen_proc.asm|88||0|0|49219|T|
Loading

0 comments on commit ef294f4

Please sign in to comment.