mirror of
https://github.com/forth-ev/VolksForth.git
synced 2025-02-02 03:33:35 +00:00
First Makefile and build script for automated build of development environment from source
This commit is contained in:
parent
04904788e6
commit
b955276434
5
6502/C64/Makefile
Normal file
5
6502/C64/Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
# Generic T64 tape image rules
|
||||
|
||||
emulator/%.T64: cbmfiles/%
|
||||
bin2t64 $< $@
|
17
6502/C64/emulator/build-devenv.sh
Executable file
17
6502/C64/emulator/build-devenv.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
emulatordir="$(dirname "${BASH_SOURCE[0]}")"
|
||||
basedir="$(realpath --relative-to="$PWD" "${emulatordir}/..")"
|
||||
|
||||
cd "${basedir}"
|
||||
|
||||
make emulator/c64-volksforth83.T64
|
||||
|
||||
rm -f cbmfiles/devenv
|
||||
|
||||
keybuf="2 drive 19 load\n1 drive 26 load\nsavesystem devenv\n"
|
||||
|
||||
"${emulatordir}/build-in-vice.sh" "c64-volksforth83" "${keybuf}"
|
||||
|
||||
make emulator/devenv.T64
|
52
6502/C64/emulator/build-in-vice.sh
Executable file
52
6502/C64/emulator/build-in-vice.sh
Executable file
@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
emulatordir="$(realpath --relative-to="$PWD" "$(dirname "${BASH_SOURCE[0]}")")"
|
||||
basedir="$(realpath --relative-to="$PWD" "${emulatordir}/..")"
|
||||
|
||||
autostart=""
|
||||
if [ -n "$1" ]
|
||||
then
|
||||
autostart="-autostart ${emulatordir}/${1}.T64"
|
||||
fi
|
||||
|
||||
keybuf=""
|
||||
warp=""
|
||||
if [ -n "$2" ]
|
||||
then
|
||||
keybuf="${2}" # dos s0:notdone\n"
|
||||
# The following could also just be a cp.
|
||||
ascii2petscii "${emulatordir}/notdone" "${basedir}/cbmfiles/notdone"
|
||||
warp="-warp"
|
||||
fi
|
||||
|
||||
x64 \
|
||||
-virtualdev \
|
||||
+truedrive \
|
||||
-drive8type 1541 \
|
||||
-drive9type 1541 \
|
||||
-drive10type 1541 \
|
||||
-drive11type 1541 \
|
||||
-fs8 "${basedir}/cbmfiles" \
|
||||
-9 "${basedir}/disks/vforth4_1.d64" \
|
||||
-10 "${basedir}/disks/vforth4_3.d64" \
|
||||
-11 "${basedir}/disks/vforth4_4.d64" \
|
||||
-symkeymap "${emulatordir}/x11_sym_vf_de.vkm" \
|
||||
-keymap 2 \
|
||||
$autostart \
|
||||
-keybuf "$keybuf" \
|
||||
$warp \
|
||||
&
|
||||
|
||||
|
||||
if [ -n "$keybuf" ]
|
||||
then
|
||||
while [ -f "${basedir}/cbmfiles/notdone" ]
|
||||
do sleep 1
|
||||
done
|
||||
sleep 0.5
|
||||
|
||||
kill %1
|
||||
fi
|
||||
|
||||
wait %1 || echo "x64 returned $?"
|
BIN
6502/C64/emulator/c64-volksforth83.T64
Normal file
BIN
6502/C64/emulator/c64-volksforth83.T64
Normal file
Binary file not shown.
5
6502/C64/emulator/notdone
Normal file
5
6502/C64/emulator/notdone
Normal file
@ -0,0 +1,5 @@
|
||||
Flag file:
|
||||
Build or test processes running in VICE signal that they are done
|
||||
by scratching this file's copy from the cbmfiles/ dir.
|
||||
Corresponding build bash scripts watch for the existence of this
|
||||
file in cbmfiles/ and terminate VICE after the file disappeared.
|
369
6502/C64/emulator/x11_sym_vf_de.vkm
Normal file
369
6502/C64/emulator/x11_sym_vf_de.vkm
Normal file
@ -0,0 +1,369 @@
|
||||
# VICE keyboard mapping file
|
||||
#
|
||||
# A Keyboard map is read in as patch to the current map.
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal line has 'keysym/scancode row column shiftflag'
|
||||
#
|
||||
# Keywords and their lines are:
|
||||
# '!CLEAR' clear whole table
|
||||
# '!INCLUDE filename' read file as mapping file
|
||||
# '!LSHIFT row col' left shift keyboard row/column
|
||||
# '!RSHIFT row col' right shift keyboard row/column
|
||||
# '!VSHIFT shiftkey' virtual shift key (RSHIFT or LSHIFT)
|
||||
# '!SHIFTL shiftkey' shift lock key (RSHIFT or LSHIFT)
|
||||
# '!UNDEF keysym' remove keysym from table
|
||||
#
|
||||
# Shiftflag can have the values:
|
||||
# 0 key is not shifted for this keysym/scancode
|
||||
# 1 key is shifted for this keysym/scancode
|
||||
# 2 left shift
|
||||
# 4 right shift
|
||||
# 8 key can be shifted or not with this keysym/scancode
|
||||
# 16 deshift key for this keysym/scancode
|
||||
# 32 another definition for this keysym/scancode follows
|
||||
# 64 shift lock
|
||||
# 256 key is used for an alternative keyboard mapping
|
||||
#
|
||||
# Negative row values:
|
||||
# 'keysym -1 n' joystick keymap A, direction n
|
||||
# 'keysym -2 n' joystick keymap B, direction n
|
||||
# 'keysym -3 0' first RESTORE key
|
||||
# 'keysym -3 1' second RESTORE key
|
||||
# 'keysym -4 0' 40/80 column key
|
||||
# 'keysym -4 1' CAPS (ASCII/DIN) key
|
||||
# 'keysym -5 n' joyport keypad, key n
|
||||
#
|
||||
# Joystick direction values:
|
||||
# 0 Fire
|
||||
# 1 South/West
|
||||
# 2 South
|
||||
# 3 South/East
|
||||
# 4 West
|
||||
# 5 East
|
||||
# 6 North/West
|
||||
# 7 North
|
||||
# 8 North/East
|
||||
#
|
||||
# Joyport keypad key layout:
|
||||
# --------------------------
|
||||
# | 0 | 1 | 2 | 3 | 4 |
|
||||
# --------------------------
|
||||
# | 5 | 6 | 7 | 8 | 9 |
|
||||
# --------------------------
|
||||
# | 10 | 11 | 12 | 13 | 14 |
|
||||
# --------------------------
|
||||
# | 15 | 16 | 17 | 18 | 19 |
|
||||
# --------------------------
|
||||
#
|
||||
# When a bigger spaced key is used,
|
||||
# it uses the upper left most key value.
|
||||
|
||||
# Symbolic Mapping, German Layout, C64, X11
|
||||
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 7
|
||||
!RSHIFT 6 4
|
||||
!VSHIFT RSHIFT
|
||||
!SHIFTL LSHIFT
|
||||
|
||||
# keys that can't be mapped symbolically are:
|
||||
# (row0) arrow left (-> end), pound (-> ), clr/home (-> home)
|
||||
# (row1) restore (-> F12)
|
||||
# (row2) run/stop (-> escape)
|
||||
# (row3) commodore (-> control)
|
||||
|
||||
# extra keys are:
|
||||
# clr/home (-> altgr+\)
|
||||
# ins/del (-> delete)
|
||||
# ins/del+shift (-> insert)
|
||||
# arrow left (-> underscore, ssharp, altgr+~)
|
||||
# arrow up+shift (-> altgr+m)
|
||||
# f1 (-> page up)
|
||||
# f7 (-> page down)
|
||||
# : (-> oe)
|
||||
# :+shift (-> OE, altgr+[)
|
||||
# ; (-> ae)
|
||||
# ;+shift (-> AE, altgr+])
|
||||
# @ (-> ue, altgr+Q)
|
||||
# @+shift (-> UE)
|
||||
|
||||
#####################
|
||||
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
|
||||
|
||||
# inst/del
|
||||
BackSpace 0 0 8
|
||||
# extra: delete -> ins/del
|
||||
Delete 0 0 8
|
||||
# extra: insert -> shift+ins/del
|
||||
Insert 0 0 1
|
||||
# return
|
||||
Return 0 1 8
|
||||
# cursor r/l
|
||||
Right 0 2 8
|
||||
Left 0 2 1
|
||||
# f7
|
||||
F7 0 3 8
|
||||
F8 0 3 1
|
||||
# extra: pagedown -> f7
|
||||
Page_Down 0 3 8
|
||||
# f1
|
||||
F1 0 4 8
|
||||
F2 0 4 1
|
||||
# extra: pagedown -> f1
|
||||
Page_Up 0 4 8
|
||||
# f3
|
||||
F3 0 5 8
|
||||
F4 0 5 1
|
||||
# f4
|
||||
F5 0 6 8
|
||||
F6 0 6 1
|
||||
# cursor u/d
|
||||
Up 0 7 1
|
||||
Down 0 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
|
||||
|
||||
# shift+3
|
||||
section 1 0 8
|
||||
numbersign 1 0 1
|
||||
# shift+4
|
||||
dollar 1 3 8
|
||||
# left shift
|
||||
Shift_L 1 7 2
|
||||
# shift lock
|
||||
Caps_Lock 1 7 64
|
||||
|
||||
#####################
|
||||
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
|
||||
|
||||
# shift+5
|
||||
percent 2 0 8
|
||||
# shift+6
|
||||
ampersand 2 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
|
||||
|
||||
# shift+7
|
||||
apostrophe 3 0 1
|
||||
# shift+8
|
||||
parenleft 3 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
|
||||
|
||||
# shift+9
|
||||
parenright 4 0 8
|
||||
|
||||
#####################
|
||||
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
|
||||
|
||||
# plus
|
||||
plus 5 0 0
|
||||
# minus
|
||||
minus 5 3 0
|
||||
grave 5 3 8
|
||||
# dot
|
||||
period 5 4 8
|
||||
greater 5 4 1
|
||||
# colon
|
||||
colon 5 5 0
|
||||
# extra: oe -> colon
|
||||
odiaeresis 5 5 0
|
||||
# extra: OE -> :+shift
|
||||
Odiaeresis 5 5 1
|
||||
# extra: altgr+[ -> :+shift
|
||||
bracketleft 5 5 1
|
||||
# @-key
|
||||
at 5 6 0
|
||||
# extra: ue -> @
|
||||
udiaeresis 5 6 8
|
||||
# extra: UE -> @+shift
|
||||
Udiaeresis 5 6 1
|
||||
# comma
|
||||
comma 5 7 8
|
||||
less 5 7 1
|
||||
|
||||
#####################
|
||||
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
|
||||
|
||||
# pound
|
||||
bar 6 0 8
|
||||
brokenbar 6 0 8
|
||||
acute 6 0 8
|
||||
grave 6 0 8
|
||||
# *
|
||||
asterisk 6 1 16
|
||||
# semicolon
|
||||
semicolon 6 2 0
|
||||
# extra: ae -> ;
|
||||
adiaeresis 6 2 8
|
||||
# extra: AE -> ;+shift
|
||||
Adiaeresis 6 2 1
|
||||
# extra: altgr+] -> ;+shift
|
||||
bracketright 6 2 1
|
||||
# clr/home
|
||||
Home 6 3 8
|
||||
# extra: altgr+\ -> clr/home
|
||||
backslash 6 0 8
|
||||
# right shift
|
||||
Shift_R 6 4 4
|
||||
# =
|
||||
equal 6 5 16
|
||||
# arrow up / pi
|
||||
asciicircum 6 6 8
|
||||
degree 6 6 8
|
||||
# extra: altgr+m -> arrow up+shift (pi)
|
||||
mu 6 6 1
|
||||
# / ?
|
||||
slash 6 7 16
|
||||
question 6 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
|
||||
|
||||
# shift+1
|
||||
exclam 7 0 8
|
||||
# left arrow
|
||||
End 7 1 8
|
||||
# extra: underscore -> arrow left
|
||||
underscore 7 1 8
|
||||
# extra: altgr+~ -> arrow left
|
||||
asciitilde 7 1 8
|
||||
# extra: ssharp -> arrow left
|
||||
ssharp 7 1 8
|
||||
# ctrl
|
||||
Tab 7 2 8
|
||||
ISO_Left_Tab 7 2 8
|
||||
Control_L 7 2 8
|
||||
Control_R 7 2 8
|
||||
# shift+2
|
||||
quotedbl 7 3 8
|
||||
# space
|
||||
space 7 4 8
|
||||
# cbm
|
||||
# Control_L 7 5 8
|
||||
Alt_L 7 5 8
|
||||
# run/stop
|
||||
Escape 7 7 8
|
||||
|
||||
#####################
|
||||
# letters and numbers
|
||||
|
||||
0 4 3 8
|
||||
1 7 0 8
|
||||
2 7 3 8
|
||||
3 1 0 8
|
||||
4 1 3 8
|
||||
5 2 0 8
|
||||
6 2 3 8
|
||||
7 3 0 0
|
||||
8 3 3 8
|
||||
9 4 0 8
|
||||
|
||||
A 1 2 8
|
||||
B 3 4 8
|
||||
C 2 4 8
|
||||
D 2 2 8
|
||||
E 1 6 8
|
||||
F 2 5 8
|
||||
G 3 2 8
|
||||
H 3 5 8
|
||||
I 4 1 8
|
||||
J 4 2 8
|
||||
K 4 5 8
|
||||
L 5 2 8
|
||||
M 4 4 8
|
||||
N 4 7 8
|
||||
O 4 6 8
|
||||
P 5 1 8
|
||||
Q 7 6 8
|
||||
R 2 1 8
|
||||
S 1 5 8
|
||||
T 2 6 8
|
||||
U 3 6 8
|
||||
V 3 7 8
|
||||
W 1 1 8
|
||||
X 2 7 8
|
||||
Y 3 1 8
|
||||
Z 1 4 8
|
||||
a 1 2 8
|
||||
b 3 4 8
|
||||
c 2 4 8
|
||||
d 2 2 8
|
||||
e 1 6 8
|
||||
f 2 5 8
|
||||
g 3 2 8
|
||||
h 3 5 8
|
||||
i 4 1 8
|
||||
j 4 2 8
|
||||
k 4 5 8
|
||||
l 5 2 8
|
||||
m 4 4 8
|
||||
n 4 7 8
|
||||
o 4 6 8
|
||||
p 5 1 8
|
||||
q 7 6 8
|
||||
r 2 1 8
|
||||
s 1 5 8
|
||||
t 2 6 8
|
||||
u 3 6 8
|
||||
v 3 7 8
|
||||
w 1 1 8
|
||||
x 2 7 8
|
||||
y 3 1 8
|
||||
z 1 4 8
|
||||
|
||||
#
|
||||
# Restore key mappings
|
||||
#
|
||||
F12 -3 0
|
||||
F12 -3 1
|
||||
|
||||
#
|
||||
# joyport attached keypad
|
||||
#
|
||||
Num_Lock -5 0
|
||||
KP_7 -5 1
|
||||
KP_8 -5 2
|
||||
KP_9 -5 3
|
||||
KP_Divide -5 4
|
||||
Scroll_Lock -5 5
|
||||
KP_4 -5 6
|
||||
KP_5 -5 7
|
||||
KP_6 -5 8
|
||||
KP_Multiply -5 9
|
||||
Sys_Req -5 10
|
||||
KP_1 -5 11
|
||||
KP_2 -5 12
|
||||
KP_3 -5 13
|
||||
KP_Subtract -5 14
|
||||
Print -5 15
|
||||
KP_0 -5 16
|
||||
KP_Delete -5 17
|
||||
KP_Enter -5 18
|
||||
KP_Add -5 19
|
Loading…
x
Reference in New Issue
Block a user