No more need to manually install Tools on the IIgs!

This commit is contained in:
Scott Duensing 2020-08-06 17:24:52 -05:00
parent b82c0b10ff
commit f96acfe020
4 changed files with 45 additions and 16 deletions

View file

@ -106,8 +106,8 @@ function doIIgsBuild() {
"${CADIUS}" createvolume "${IMPORT}" ${VOL} 32MB > /dev/null "${CADIUS}" createvolume "${IMPORT}" ${VOL} 32MB > /dev/null
"${CADIUS}" createfolder "${IMPORT}" ${VOL}/data > /dev/null "${CADIUS}" createfolder "${IMPORT}" ${VOL}/data > /dev/null
"${CADIUS}" addfile "${IMPORT}" ${VOL} "${JOEY}/dist/IIgs/Tool222#ba0000" > /dev/null
"${CADIUS}" addfile "${IMPORT}" ${VOL} "${OUT}/Test#b3db03" > /dev/null "${CADIUS}" addfile "${IMPORT}" ${VOL} "${OUT}/Test#b3db03" > /dev/null
"${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${JOEY}/dist/IIgs/Tool222#ba0000" > /dev/null
"${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${OUT}/kanga.img#060000" > /dev/null "${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${OUT}/kanga.img#060000" > /dev/null
"${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${OUT}/font.img#060000" > /dev/null "${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${OUT}/font.img#060000" > /dev/null
"${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${OUT}/font.stn#060000" > /dev/null "${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${OUT}/font.stn#060000" > /dev/null

View file

@ -22,6 +22,7 @@
#include <string.h> #include <string.h>
#include <loader.h>
#include <locator.h> #include <locator.h>
#include <memory.h> #include <memory.h>
#include <misctool.h> #include <misctool.h>
@ -49,6 +50,9 @@ typedef struct {
} _jlPascalStringT; } _jlPascalStringT;
#define _jlSetPascalString(p,s) strcpy(p.text, s); p.length=strlen(s)
extern void asmBorder(jint16 c); extern void asmBorder(jint16 c);
extern void asmGrOff(void); extern void asmGrOff(void);
extern void asmGrOn(void); extern void asmGrOn(void);
@ -58,13 +62,14 @@ extern void asmStart(jint16 myID, jint16 hertzBy10);
extern void asmStop(void); extern void asmStop(void);
extern pascal void NTPStartUp(Word) inline(0x02DE, dispatcher); extern pascal void NTPBootInit(void) inline(0x01DE, dispatcher);
extern pascal void NTPShutDown(void) inline(0x03DE, dispatcher); extern pascal void NTPStartUp(Word) inline(0x02DE, dispatcher);
extern pascal void NTPShutDown(void) inline(0x03DE, dispatcher);
extern pascal void NTPLoadOneMusic(Pointer) inline(0x09DE, dispatcher); extern pascal void NTPLoadOneMusic(Pointer) inline(0x09DE, dispatcher);
extern pascal void NTPPlayMusic(Word) inline(0x0ADE, dispatcher); extern pascal void NTPPlayMusic(Word) inline(0x0ADE, dispatcher);
extern pascal Word NTPGetPlayingMusic(void) inline(0x10DE, dispatcher); extern pascal Word NTPGetPlayingMusic(void) inline(0x10DE, dispatcher);
extern pascal void NTPPauseMusic(void) inline(0x13DE, dispatcher); extern pascal void NTPPauseMusic(void) inline(0x13DE, dispatcher);
extern pascal void NTPContinueMusic(void) inline(0x14DE, dispatcher); extern pascal void NTPContinueMusic(void) inline(0x14DE, dispatcher);
char _jlKeyCheck(char key); char _jlKeyCheck(char key);
@ -278,8 +283,10 @@ void jlSoundMusicPause(void) {
void jlSoundMusicPlay(char *name) { void jlSoundMusicPlay(char *name) {
char *temp = jlUtilMakePathname(name, "ntp"); char *temp = jlUtilMakePathname(name, "ntp");
_jlPascalStringT file; _jlPascalStringT file;
strcpy(file.text, temp);
file.length = strlen(temp); _jlSetPascalString(file, temp);
//strcpy(file.text, temp);
//file.length = strlen(temp);
NTPStartUp(_jlMusicMemID); NTPStartUp(_jlMusicMemID);
JOEY_CHECK_TOOL_ERROR("NTPStartup") JOEY_CHECK_TOOL_ERROR("NTPStartup")
NTPLoadOneMusic((Pointer)&file); NTPLoadOneMusic((Pointer)&file);
@ -325,9 +332,11 @@ void jlUtilShutdown(void) {
asmStop(); asmStop();
// Shutdown tools // Shutdown tools
/*
MSShutDown(); // MIDI Synth MSShutDown(); // MIDI Synth
SoundShutDown(); // Sound Tool Set SoundShutDown(); // Sound Tool Set
//UnloadOneTool(0xDD); // NinjaTracker */
UnloadOneTool(0xDD); // NinjaTracker
MTShutDown(); // Misc Tools MTShutDown(); // Misc Tools
DisposeAll(_jlMemID); DisposeAll(_jlMemID);
MMShutDown(_jlMyID); // Memory Manager MMShutDown(_jlMyID); // Memory Manager
@ -339,8 +348,11 @@ void jlUtilShutdown(void) {
void jlUtilStartup(char *appTitle) { void jlUtilStartup(char *appTitle) {
handle ZeroPageHandle; handle ZeroPageHandle;
ptr ZeroPagePtr; ptr ZeroPagePtr;
InitialLoadOutputRec initialLoad;
char *temp;
_jlPascalStringT toolFile;
(void)appTitle; // Unused on IIgs (void)appTitle; // Unused on IIgs
@ -350,14 +362,25 @@ void jlUtilStartup(char *appTitle) {
_jlMemID = _jlMyID | 0x0100; // Set aux ID to 1. _jlMemID = _jlMyID | 0x0100; // Set aux ID to 1.
_jlMusicMemID = _jlMyID | 0x0200; // Set music ID. _jlMusicMemID = _jlMyID | 0x0200; // Set music ID.
MTStartUp(); // Misc Tools MTStartUp(); // Misc Tools
/* /*
ZeroPageHandle = NewHandle((Long)DPTotal, (Word)_jlMyID, (Word)attrBank | attrPage | attrFixed | attrLocked, (Long)0); ZeroPageHandle = NewHandle((Long)DPTotal, (Word)_jlMyMemID, (Word)attrBank | attrPage | attrFixed | attrLocked, (Long)0);
ZeroPagePtr = *ZeroPageHandle; ZeroPagePtr = *ZeroPageHandle;
SoundStartUp((word)ZeroPagePtr + DPForSound); // Sound Tool Set SoundStartUp((word)ZeroPagePtr + DPForSound); // Sound Tool Set
MSStartUp(); // MIDI Synth MSStartUp(); // MIDI Synth
*/ */
LoadOneTool(0xDE, 0); // NinjaTrackerPlus
JOEY_CHECK_TOOL_ERROR("LoadOneTool") // Try to load NinjaTrackerPlus from SYSTEM:TOOLS
LoadOneTool(0xDE, 0);
if (_toolErr) {
// Not there. Try to manually load it from our disk.
temp = jlUtilMakePathname("Tool222", NULL);
_jlSetPascalString(toolFile, temp);
initialLoad = InitialLoad(_jlMyID, (Pointer)&toolFile, 0);
JOEY_CHECK_TOOL_ERROR("Tool222")
SetTSPtr(0, 222, initialLoad.startAddr);
NTPBootInit();
}
// Reserve shadow area for SHR // Reserve shadow area for SHR
_jlSHRShadowHandle = NewHandle((LongWord)0x8000, (Word)_jlMemID, (Word)(attrLocked + attrFixed + attrBank + attrAddr), (Pointer)0x012000); _jlSHRShadowHandle = NewHandle((LongWord)0x8000, (Word)_jlMemID, (Word)(attrLocked + attrFixed + attrBank + attrAddr), (Pointer)0x012000);

View file

@ -62,7 +62,7 @@ function buildIIgs() {
${CADIUS} createvolume ${IMPORT} ${VOL} 32MB > /dev/null ${CADIUS} createvolume ${IMPORT} ${VOL} 32MB > /dev/null
${CADIUS} createfolder ${IMPORT} ${VOL}/data > /dev/null ${CADIUS} createfolder ${IMPORT} ${VOL}/data > /dev/null
${CADIUS} addfile ${IMPORT} ${VOL} ${TARGET}/${PROJECT}#b3db03 > /dev/null ${CADIUS} addfile ${IMPORT} ${VOL} ${TARGET}/${PROJECT}#b3db03 > /dev/null
${CADIUS} addfile ${IMPORT} ${VOL} ${JOEY}/dist/IIgs/Tool222#ba0000 > /dev/null ${CADIUS} addfile ${IMPORT} ${VOL}/data ${JOEY}/dist/IIgs/Tool222#ba0000 > /dev/null
for F in "${DATA[@]}"; do for F in "${DATA[@]}"; do
N=${WORK}/data/`basename ${F}`#060000 N=${WORK}/data/`basename ${F}`#060000
cp -f ${F} ${N} cp -f ${F} ${N}

View file

@ -1046,7 +1046,7 @@ export JOEY=${G_PARENT}
# Is SUDO after us? # Is SUDO after us?
if [[ "$1" == "ASKPASS" ]]; then if [[ "$1" == "ASKPASS" ]]; then
doSudoAskPass doSudoAskPass # Does not return.
fi fi
# Are we doing a totally automated install? # Are we doing a totally automated install?
@ -1057,5 +1057,11 @@ if [[ "$1" == "AUTOMATED" ]]; then
G_XCODE_FILE=$4 G_XCODE_FILE=$4
fi fi
# Don't run as root.
if [[ ${EUID} -eq 0 ]]; then
echo "Do not run the installer as root."
exit 1
fi
# At the very end so we can stream this script from a web server. # At the very end so we can stream this script from a web server.
start start