-
-
Save kadler/80371a3514ed9e15d59e9155ea1bcb5e to your computer and use it in GitHub Desktop.
Build instructions for Bad Apple IBM i
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Instructions for building Bad Apple on IBM i from https://gitlab.com/luigi.elettrico/ba_os400 | |
CRTLIB LIB(LUIGIEL1) | |
CRTSRCPF FILE(LUIGIEL1/QCSRC) | |
CPYFRMSTMF FROMSTMF('/path/to/ba_os400/ba_display.dspf') TOMBR('/qsys.lib/luigiel1.lib/qcsrc.file/ba_display.mbr') MBROPT(*REPLACE) | |
# DFRWRT(*NO) is required here, otherwise the frames are buffered and do not get displayed until the display is read from | |
CRTDSPF FILE(LUIGIEL1/BA_DISPLAY) SRCFILE(LUIGIEL1/QCSRC) DFRWRT(*NO) | |
# 87 matches the size of a_bD in BA_readdecodeframe | |
CRTPF FILE(LUIGIEL1/BA_RAWMV) RCDLEN(87) CCSID(65535) | |
# ba_rawmv is a binary file which contains frames as 87-byte bitmaps (696 bits, enough to store 30x23 1bpp frames) | |
# it needs to be copied directly in to the file without any character conversion or line mapping | |
CPYFRMSTMF FROMSTMF('/path/to/ba_os400/ba_rawmv') TOMBR('/qsys.lib/luigiel1.lib/ba_rawmv.file/ba_rawmv.mbr') MBROPT(*REPLACE) CVTDTA(*NONE) ENDLINFMT(*FIXED) TABEXPN(*NO) | |
# While you can compile directly from an IFS file, you'll get compile errors including the "ba_display" from | |
# the DSPF when doing so. Copying to a source member negates this problem. | |
CPYFRMSTMF FROMSTMF('/path/to/ba_os400/ba_os400dm.c') TOMBR('/qsys.lib/luigiel1.lib/qcsrc.file/ba_os400dm.mbr') MBROPT(*REPLACE) | |
CRTBNDC PGM(LUIGIEL1/BA_OS400DM) SRCFILE(LUIGIEL1/QCSRC) | |
# Alternatively, with some adjustments, the raw frames can be read from IFS | |
# You have two options: | |
# 1) copy/move/link ba_rawmv to a directory named luigiel1 | |
# then run CHDIR to the directory containing the luigiel1 directory prior to running | |
# 2) Edit ba_os400dm.c and change "luigiel1/ba_rawmv" to the IFS path to ba_rawmv | |
# | |
# In either case, you must then build with *IFSIO or *IFS64IO | |
CRTBNDC PGM(LUIGIEL1/BA_OS400DM) SRCFILE(LUIGIEL1/QCSRC) SYSIFCOPT(*IFS64IO) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment