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}" 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}/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}/font.img#060000" > /dev/null
"${CADIUS}" addfile "${IMPORT}" ${VOL}/data "${OUT}/font.stn#060000" > /dev/null

View file

@ -22,6 +22,7 @@
#include <string.h>
#include <loader.h>
#include <locator.h>
#include <memory.h>
#include <misctool.h>
@ -49,6 +50,9 @@ typedef struct {
} _jlPascalStringT;
#define _jlSetPascalString(p,s) strcpy(p.text, s); p.length=strlen(s)
extern void asmBorder(jint16 c);
extern void asmGrOff(void);
extern void asmGrOn(void);
@ -58,6 +62,7 @@ extern void asmStart(jint16 myID, jint16 hertzBy10);
extern void asmStop(void);
extern pascal void NTPBootInit(void) inline(0x01DE, 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);
@ -278,8 +283,10 @@ void jlSoundMusicPause(void) {
void jlSoundMusicPlay(char *name) {
char *temp = jlUtilMakePathname(name, "ntp");
_jlPascalStringT file;
strcpy(file.text, temp);
file.length = strlen(temp);
_jlSetPascalString(file, temp);
//strcpy(file.text, temp);
//file.length = strlen(temp);
NTPStartUp(_jlMusicMemID);
JOEY_CHECK_TOOL_ERROR("NTPStartup")
NTPLoadOneMusic((Pointer)&file);
@ -325,9 +332,11 @@ void jlUtilShutdown(void) {
asmStop();
// Shutdown tools
/*
MSShutDown(); // MIDI Synth
SoundShutDown(); // Sound Tool Set
//UnloadOneTool(0xDD); // NinjaTracker
*/
UnloadOneTool(0xDD); // NinjaTracker
MTShutDown(); // Misc Tools
DisposeAll(_jlMemID);
MMShutDown(_jlMyID); // Memory Manager
@ -341,6 +350,9 @@ void jlUtilStartup(char *appTitle) {
handle ZeroPageHandle;
ptr ZeroPagePtr;
InitialLoadOutputRec initialLoad;
char *temp;
_jlPascalStringT toolFile;
(void)appTitle; // Unused on IIgs
@ -350,14 +362,25 @@ void jlUtilStartup(char *appTitle) {
_jlMemID = _jlMyID | 0x0100; // Set aux ID to 1.
_jlMusicMemID = _jlMyID | 0x0200; // Set music ID.
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;
SoundStartUp((word)ZeroPagePtr + DPForSound); // Sound Tool Set
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
_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} createfolder ${IMPORT} ${VOL}/data > /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
N=${WORK}/data/`basename ${F}`#060000
cp -f ${F} ${N}

View file

@ -1046,7 +1046,7 @@ export JOEY=${G_PARENT}
# Is SUDO after us?
if [[ "$1" == "ASKPASS" ]]; then
doSudoAskPass
doSudoAskPass # Does not return.
fi
# Are we doing a totally automated install?
@ -1057,5 +1057,11 @@ if [[ "$1" == "AUTOMATED" ]]; then
G_XCODE_FILE=$4
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.
start