Add files via upload

This commit is contained in:
Antoine Vignau 2020-06-08 23:05:21 +02:00 committed by GitHub
parent 914f719d71
commit 634ee7ab16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 1667 additions and 0 deletions

BIN
source/twilight/nm/FIRE.BUG Normal file

Binary file not shown.

View File

@ -0,0 +1,285 @@
MACRO
&lab _FixRatio
&lab ldx #$0E0B
jsl $E10000
MEND
MACRO
&lab _UDivide
&lab ldx #$0B0B
jsl $E10000
MEND
MACRO
&LAB LONG &A,&B
LCLB &I
LCLB &M
&A AMID &A,1,1
&M SETB ("&A"="M").OR.("&A"="m")
&I SETB ("&A"="I").OR.("&A"="i")
AIF C:&B=0,.A
&B AMID &B,1,1
&M SETB ("&B"="M").OR.("&B"="m").OR.&M
&I SETB ("&B"="I").OR.("&B"="i").OR.&I
.A
&LAB REP #&M*32+&I*16
AIF .NOT.&M,.B
LONGA ON
.B
AIF .NOT.&I,.C
LONGI ON
.C
MEND
MACRO
&LAB SHORT &A,&B
LCLB &I
LCLB &M
&A AMID &A,1,1
&M SETB ("&A"="M").OR.("&A"="m")
&I SETB ("&A"="I").OR.("&A"="i")
AIF C:&B=0,.A
&B AMID &B,1,1
&M SETB ("&B"="M").OR.("&B"="m").OR.&M
&I SETB ("&B"="I").OR.("&B"="i").OR.&I
.A
&LAB SEP #&M*32+&I*16
AIF .NOT.&M,.B
LONGA OFF
.B
AIF .NOT.&I,.C
LONGI OFF
.C
MEND
MACRO
&lab WordResult
&lab pha
MEND
MACRO
&lab LongResult
&lab pha
pha
MEND
MACRO
&lab _Random
&lab ldx #$8604
jsl $E10000
MEND
MACRO
&lab pushword &SYSOPR
&lab ANOP
AIF C:&SYSOPR=0,.b
LCLC &C
&C AMID "&SYSOPR",1,1
AIF ("&C"="#").AND.(S:LONGA),.immediate
lda &SYSOPR
pha
MEXIT
.b
pha
MEXIT
.immediate
LCLC &REST
LCLA &BL
&BL ASEARCH "&SYSOPR"," ",1
AIF &BL>0,.a
&BL SETA L:&SYSOPR+1
.a
&REST AMID "&SYSOPR",2,&BL-2
dc I1'$F4',I2'&REST'
MEND
MACRO
&lab _CallCtlDefProc
&lab ldx #$2C10
jsl $E10000
MEND
MACRO
&lab _GetCtlHandleFromID
&lab ldx #$3010
jsl $E10000
MEND
MACRO
&lab _NewControl2
&lab ldx #$3110
jsl $E10000
MEND
MACRO
&lab _MMStartUp
&lab ldx #$0202
jsl $E10000
MEND
MACRO
&lab _NewHandle
&lab ldx #$0902
jsl $E10000
MEND
MACRO
&LAB JCC &BP
&LAB BCS *+5
BRL &BP
MEND
MACRO
&lab killLdp
&lab pld
pla
pla
MEND
MACRO
&lab MakeDP
&lab phd
tsc
tcd
MEND
MACRO
&lab pulllong &addr1,&addr2
&lab ANOP
AIF C:&addr1=0,.a
AIF C:&addr2=0,.b
LCLC &C
&C AMID &addr1,1,1
AIF "&C"="[",.zeropage
pullword &addr1
sta &addr2
pullword &addr1+2
sta &addr2+2
MEXIT
.a
pullword
pullword
MEXIT
.b
pullword &addr1
pullword &addr1+2
MEXIT
.zeropage
ldy #&addr2
pullword &addr1,y
ldy #&addr2+2
pullword &addr1,y
MEND
MACRO
&lab pullword &SYSOPR
&lab ANOP
pla
AIF C:&SYSOPR=0,.end
sta &SYSOPR
.end
MEND
MACRO
&lab pushlong &addr,&offset
&lab ANOP
LCLC &C
LCLC &REST
&C AMID &addr,1,1
AIF "&C"="#",.immediate
AIF "&C"="[",.zeropage
AIF C:&offset=0,.nooffset
AIF "&offset"="s",.stack
pushword &addr+2,&offset
pushword &addr,&offset
MEXIT
.nooffset
pushword &addr+2
pushword &addr
MEXIT
.immediate
&REST AMID &addr,2,L:&addr-1
dc I1'$F4',I2'(&REST)|-16'
dc I1'$F4',I2'&REST'
MEXIT
.stack
pushword &addr+2,s
pushword &addr+2,s
MEXIT
.zeropage
ldy #&offset+2
pushword &addr,y
ldy #&offset
pushword &addr,y
MEND
MACRO
&lab str &string
&lab dc i1'L:&string',C'&string'
MEND
MACRO
&lab _GetWRefCon
&lab ldx #$290E
jsl $E10000
MEND
MACRO
&lab _AddResource
&lab ldx #$0C1E
jsl $E10000
MEND
MACRO
&lab _GetCurResourceApp
&lab ldx #$141E
jsl $E10000
MEND
MACRO
&lab _GetCurResourceFile
&lab ldx #$121E
jsl $E10000
MEND
MACRO
&lab _LoadResource
&lab ldx #$0E1E
jsl $E10000
MEND
MACRO
&lab _MarkResourceChange
&lab ldx #$101E
jsl $E10000
MEND
MACRO
&lab _ReleaseResource
&lab ldx #$171E
jsl $E10000
MEND
MACRO
&lab _SetCurResourceFile
&lab ldx #$111E
jsl $E10000
MEND
MACRO
&lab _UniqueResourceID
&lab ldx #$191E
jsl $E10000
MEND
MACRO
&lab _UpdateResourceFile
&lab ldx #$0D1E
jsl $E10000
MEND
MACRO
&lab _RMFindNamedResource
&lab ldx #$2A1E
jsl $E10000
MEND
MACRO
&lab _RMLoadNamedResource
&lab ldx #$2C1E
jsl $E10000
MEND
MACRO
&lab _RMSetResourceName
&lab ldx #$2D1E
jsl $E10000
MEND
MACRO
&lab _GetCtlValue
&lab ldx #$1A10
jsl $E10000
MEND
MACRO
&lab _SetCtlValue
&lab ldx #$1910
jsl $E10000
MEND
MACRO
&lab _MakeThisCtlTarget
&lab ldx #$2810
jsl $E10000
MEND
MACRO
&lab _SysFailMgr
&lab ldx #$1503
jsl $E10000
MEND

View File

@ -0,0 +1,246 @@
*
* Asm part of delta cruncher.
* By Nathan Mates, 2/12/94
*
* Reads in file, crunches it, and writes it back to disk.
*
*
mcopy macros/delta.macs
copy 18:e16.memory
copy 18:e16.gsos
Temp gequ 1
LastVal gequ 5
case on
*
*
DoDelta start
*
* Does the delta compression stuff...
*
*
case off
using Globals
phk
phk
plb
lda 4+1,s
sta InString
lda 6+1,s
sta InString+2
phd
pha
pha
pha
tsc
tcd
stz Err
jsr loadit
lda Err
bne Exit
jsr DeltaIt ;don't bother delta'ing if had error in loading
jsr saveit
Exit pla
pla
pla
lda Err ;error code to be returned
pld
lda 1,s
sta 5,s
lda 3,s
sta 7,s
plx
plx ;clean up off stack
plb
rtl
end
*
*
Globals data
*
* Asm globals
*
*
gReadRec dc i'4' ;pCount
gReadRefNum ds 2 ;input
gReadPtr ds 4 ;where to load ptr
gReadSize ds 4 ;load $8000 bytes of data
ds 4 ;how many bytes were loaded
gCloseRec dc i'1' ;pCount
gCloseRefNum ds 2 ;refNum to close
gOpenRecGS anop
dc i'12' ;pCount
gOpenRefNum ds 2 ;output
dc i4'CStringBuf' ;ptr to pathname
dc i'readwriteEnable' ;we'll need read & write access...
dc i'$0000' ;open data fork
ds 2 ;returned access
gOpenFileType ds 2 ;returned file type
ds 4 ;returned aux
ds 2 ;returned storage type
ds 8 ;returned create time
ds 8 ;returned mod time
dc i4'0' ;optionlist ptr
gOpenEOF ds 4 ;data fork's eof
Err ds 2
InString ds 4
CStringBuf ds 500 ;enough for most pathnames
LoadHndl ds 4
end
*
*
LoadIt start
*
* Loads the picture in from disk...
*
*
using Globals
stz LoadHndl
stz LoadHndl+2
mov InString,Temp
mov InString+2,temp+2 ;move ptr to c-string in to DP loc...
shortm
ldy #0
C2OSStr lda [Temp],y
sta CStringBuf+2,y
beq DoneCopy
iny
cpy #498
blt C2OSStr
DoneCopy sty CStringBuf
longm
_OpenGS gOpenRecGS
bcs IOErr
lda gOpenRefNum
sta gReadRefNum
sta gCloseRefNum
LongResult
lda gOpenEOF+2
sta gReadSize+2
pha
lda gOpenEOF
sta gReadSize
pha ;size/4
WordResult
_MMStartup ;get my memory ID
PushWord #attrNoPurge+attrLocked ;locked until we dump things in it
PushLong #0 ;@loc
_NewHandle
plx
ply
bcs CloseErr ;store error message & close file
stx LoadHndl
sty LoadHndl+2
stx Temp
sty Temp+2
lda [temp]
tax
ldy #2
lda [temp],y
sta gReadPtr+2
stx gReadPtr
_ReadGS gReadRec
bcc CloseIt
CloseErr sta Err
CloseIt _CloseGS gCloseRec
rts
IOErr sta Err
rts
end
*
*
DeltaIt start
*
* Delta's the file...
*
*
using Globals
mov gReadPtr,temp ;ptr to start
mov gReadPtr+2,temp+2
stz Count
stz Count+2
shortm
lda [temp]
sta LastVal
NextByte longm
inc temp ;increment 32 bit address...
bne NextCount
inc temp+2 ;bump high word too, it seems
NextCount inc Count
bne ChkEnd
inc Count+2
ChkEnd lda Count+2
cmp gReadSize+2 ;how do the high words compare?
blt GetDelta ;don't match yet. can keep going
lda Count
cmp gReadSize
* beq GetDelta ;if low words =, on last byte (do it also)
bge Done ;low words >=, so time to quit
GetDelta lda #0 ;clear all bits
shortm
lda [temp]
tax ;store for a second
sec
sbc LastVal ;get difference from previous byte
sta [temp]
stx LastVal
bra NextByte
Done longm
rts
Count ds 4
end
*
*
SaveIt start
*
* Loads the picture in from disk...
*
*
using Globals
_OpenGS gOpenRecGS
bcs IOErr
lda gOpenRefNum
sta gReadRefNum
sta gCloseRefNum
_WriteGS gReadRec
bcc CloseIt
CloseErr sta Err
CloseIt _CloseGS gCloseRec
DumpHandle PushLong LoadHndl
_DisposeHandle ;dump the handle we allocated
rts
IOErr sta Err
bra DumpHandle
end

View File

@ -0,0 +1,47 @@
#include <stdio.h>
#pragma lint -1
#pragma optimize -1
/*
* Fcn prototype for asm subroutine that does 90% of the work
*
*/
int DoDelta (char *filename);
/*
* C language preprocessor for
* delta engine... gets the command line args and all
*
*/
int main (int argc, char *argv[])
{
int i;
int err=0;
int count;
/*
printf("Number of args=%d\n",argc);
printf("Command name:'%s \n", argv[0]);
for (i=1;i<argc;i++)
printf("arg #%d, is:'%s'\n",i,argv[i]);
printf("End of args\n");
*/
if (argc>=2)
{
for (count=1;count<argc;count++)
{
printf("Delta'ing file %s.\n",argv[count]);
err=DoDelta(argv[count]);
}
}
else
{
printf("Delta Compressor 0.1 by Nathan Mates\n");
printf("Usage:\n");
printf(" delta infile [infile2 infile3....]\n\n");
printf("The input file(s) are delta'd, and written over.\n");
}
return err;
}

View File

@ -0,0 +1,120 @@
MACRO
&lab _CloseGS &params
&lab jsl $E100A8
dc i2"$2014"
dc i4"&params"
MEND
MACRO
&lab _OpenGS &params
&lab jsl $E100A8
dc i2"$2010"
dc i4"&params"
MEND
MACRO
&lab _ReadGS &params
&lab jsl $E100A8
dc i2"$2012"
dc i4"&params"
MEND
MACRO
&lab _DisposeHandle
&lab ldx #$1002
jsl $E10000
MEND
MACRO
&lab _MMStartUp
&lab ldx #$0202
jsl $E10000
MEND
MACRO
&lab _NewHandle
&lab ldx #$0902
jsl $E10000
MEND
MACRO
&lab WordResult
&lab pha
MEND
MACRO
&lab LongResult
&lab pha
pha
MEND
MACRO
&lab mov &num1,&num2
&lab lda &num1
sta &num2
MEND
MACRO
&lab pushlong &addr,&offset
&lab ANOP
LCLC &C
LCLC &REST
&C AMID &addr,1,1
AIF "&C"="#",.immediate
AIF "&C"="[",.zeropage
AIF C:&offset=0,.nooffset
AIF "&offset"="s",.stack
pushword &addr+2,&offset
pushword &addr,&offset
MEXIT
.nooffset
pushword &addr+2
pushword &addr
MEXIT
.immediate
&REST AMID &addr,2,L:&addr-1
dc I1'$F4',I2'(&REST)|-16'
dc I1'$F4',I2'&REST'
MEXIT
.stack
pushword &addr+2,s
pushword &addr+2,s
MEXIT
.zeropage
ldy #&offset+2
pushword &addr,y
ldy #&offset
pushword &addr,y
MEND
MACRO
&lab pushword &SYSOPR
&lab ANOP
AIF C:&SYSOPR=0,.b
LCLC &C
&C AMID "&SYSOPR",1,1
AIF ("&C"="#").AND.(S:LONGA),.immediate
lda &SYSOPR
pha
MEXIT
.b
pha
MEXIT
.immediate
LCLC &REST
LCLA &BL
&BL ASEARCH "&SYSOPR"," ",1
AIF &BL>0,.a
&BL SETA L:&SYSOPR+1
.a
&REST AMID "&SYSOPR",2,&BL-2
dc I1'$F4',I2'&REST'
MEND
MACRO
&lab longm
&lab ANOP
rep #%00100000
longa on
MEND
MACRO
&lab shortm
&lab ANOP
sep #%00100000
longa off
MEND
MACRO
&lab _WriteGS &params
&lab jsl $E100A8
dc i2"$2013"
dc i4"&params"
MEND

View File

@ -0,0 +1,120 @@
MACRO
&lab _CloseGS &params
&lab jsl $E100A8
dc i2"$2014"
dc i4"&params"
MEND
MACRO
&lab _OpenGS &params
&lab jsl $E100A8
dc i2"$2010"
dc i4"&params"
MEND
MACRO
&lab _ReadGS &params
&lab jsl $E100A8
dc i2"$2012"
dc i4"&params"
MEND
MACRO
&lab _WriteGS &params
&lab jsl $E100A8
dc i2"$2013"
dc i4"&params"
MEND
MACRO
&lab _DisposeHandle
&lab ldx #$1002
jsl $E10000
MEND
MACRO
&lab _MMStartUp
&lab ldx #$0202
jsl $E10000
MEND
MACRO
&lab _NewHandle
&lab ldx #$0902
jsl $E10000
MEND
MACRO
&lab WordResult
&lab pha
MEND
MACRO
&lab LongResult
&lab pha
pha
MEND
MACRO
&lab mov &num1,&num2
&lab lda &num1
sta &num2
MEND
MACRO
&lab pushlong &addr,&offset
&lab ANOP
LCLC &C
LCLC &REST
&C AMID &addr,1,1
AIF "&C"="#",.immediate
AIF "&C"="[",.zeropage
AIF C:&offset=0,.nooffset
AIF "&offset"="s",.stack
pushword &addr+2,&offset
pushword &addr,&offset
MEXIT
.nooffset
pushword &addr+2
pushword &addr
MEXIT
.immediate
&REST AMID &addr,2,L:&addr-1
dc I1'$F4',I2'(&REST)|-16'
dc I1'$F4',I2'&REST'
MEXIT
.stack
pushword &addr+2,s
pushword &addr+2,s
MEXIT
.zeropage
ldy #&offset+2
pushword &addr,y
ldy #&offset
pushword &addr,y
MEND
MACRO
&lab pushword &SYSOPR
&lab ANOP
AIF C:&SYSOPR=0,.b
LCLC &C
&C AMID "&SYSOPR",1,1
AIF ("&C"="#").AND.(S:LONGA),.immediate
lda &SYSOPR
pha
MEXIT
.b
pha
MEXIT
.immediate
LCLC &REST
LCLA &BL
&BL ASEARCH "&SYSOPR"," ",1
AIF &BL>0,.a
&BL SETA L:&SYSOPR+1
.a
&REST AMID "&SYSOPR",2,&BL-2
dc I1'$F4',I2'&REST'
MEND
MACRO
&lab longm
&lab ANOP
rep #%00100000
longa on
MEND
MACRO
&lab shortm
&lab ANOP
sep #%00100000
longa off
MEND

View File

@ -0,0 +1,19 @@
object/deltac.root: delta.cc
compile -t -e delta.cc Keep=object/deltac
object/deltaa.root: delta.asm
compile -t -e delta.asm Keep=object/deltaa
delta: object/deltac.root object/deltaa.root
link -x object/deltac object/deltaa Keep=delta
chtyp -t exe delta
object/udeltac.root: udelta.cc
compile -t -e udelta.cc Keep=object/udeltac
object/udeltaa.root: udelta.asm
compile -t -e udelta.asm Keep=object/udeltaa
udelta: object/udeltac.root object/udeltaa.root
link -x object/udeltac object/udeltaa Keep=udelta
chtyp -t exe udelta

View File

@ -0,0 +1,2 @@
macgen delta.asm macros/delta.macs macros/delta.macs 18/m16=
macgen udelta.asm macros/udelta.macs macros/udelta.macs 18/m16=

View File

@ -0,0 +1,245 @@
*
* Asm part of delta cruncher.
* By Nathan Mates, 2/12/94
*
* Reads in file, crunches it, and writes it back to disk.
*
*
mcopy macros/udelta.macs
copy 18:e16.memory
copy 18:e16.gsos
Temp gequ 1
LastVal gequ 5
case on
*
*
DoDelta start
*
* Does the delta compression stuff...
*
*
case off
using Globals
phk
phk
plb
lda 4+1,s
sta InString
lda 6+1,s
sta InString+2
phd
pha
pha
pha
tsc
tcd
stz Err
jsr loadit
lda Err
bne Exit
jsr DeltaIt ;don't bother delta'ing if had error in loading
jsr saveit
Exit pla
pla
pla
lda Err ;error code to be returned
pld
lda 1,s
sta 5,s
lda 3,s
sta 7,s
plx
plx ;clean up off stack
plb
rtl
end
*
*
Globals data
*
* Asm globals
*
*
gReadRec dc i'4' ;pCount
gReadRefNum ds 2 ;input
gReadPtr ds 4 ;where to load ptr
gReadSize ds 4 ;load $8000 bytes of data
ds 4 ;how many bytes were loaded
gCloseRec dc i'1' ;pCount
gCloseRefNum ds 2 ;refNum to close
gOpenRecGS anop
dc i'12' ;pCount
gOpenRefNum ds 2 ;output
dc i4'CStringBuf' ;ptr to pathname
dc i'readwriteEnable' ;we'll need read & write access...
dc i'$0000' ;open data fork
ds 2 ;returned access
gOpenFileType ds 2 ;returned file type
ds 4 ;returned aux
ds 2 ;returned storage type
ds 8 ;returned create time
ds 8 ;returned mod time
dc i4'0' ;optionlist ptr
gOpenEOF ds 4 ;data fork's eof
Err ds 2
InString ds 4
CStringBuf ds 500 ;enough for most pathnames
LoadHndl ds 4
end
*
*
LoadIt start
*
* Loads the picture in from disk...
*
*
using Globals
stz LoadHndl
stz LoadHndl+2
mov InString,Temp
mov InString+2,temp+2 ;move ptr to c-string in to DP loc...
shortm
ldy #0
C2OSStr lda [Temp],y
sta CStringBuf+2,y
beq DoneCopy
iny
cpy #498
blt C2OSStr
DoneCopy sty CStringBuf
longm
_OpenGS gOpenRecGS
bcs IOErr
lda gOpenRefNum
sta gReadRefNum
sta gCloseRefNum
LongResult
lda gOpenEOF+2
sta gReadSize+2
pha
lda gOpenEOF
sta gReadSize
pha ;size/4
WordResult
_MMStartup ;get my memory ID
PushWord #attrNoPurge+attrLocked ;locked until we dump things in it
PushLong #0 ;@loc
_NewHandle
plx
ply
bcs CloseErr ;store error message & close file
stx LoadHndl
sty LoadHndl+2
stx Temp
sty Temp+2
lda [temp]
tax
ldy #2
lda [temp],y
sta gReadPtr+2
stx gReadPtr
_ReadGS gReadRec
bcc CloseIt
CloseErr sta Err
CloseIt _CloseGS gCloseRec
rts
IOErr sta Err
rts
end
*
*
DeltaIt start
*
* Delta's the file...
*
*
using Globals
mov gReadPtr,temp ;ptr to start
mov gReadPtr+2,temp+2
stz Count
stz Count+2
shortm
lda [temp]
sta LastVal
NextByte longm
inc temp ;increment 32 bit address...
bne NextCount
inc temp+2 ;bump high word too, it seems
NextCount inc Count
bne ChkEnd
inc Count+2
ChkEnd lda Count+2
cmp gReadSize+2 ;how do the high words compare?
blt GetDelta ;don't match yet. can keep going
lda Count
cmp gReadSize
* beq GetDelta ;if low words =, on last byte (do it also)
bge Done ;low words >=, so time to quit
GetDelta lda #0 ;clear all bits
shortm
lda [temp]
clc
adc LastVal ;make by knowing delta from last byte
sta [temp]
sta LastVal
bra NextByte
Done longm
rts
Count ds 4
end
*
*
SaveIt start
*
* Loads the picture in from disk...
*
*
using Globals
_OpenGS gOpenRecGS
bcs IOErr
lda gOpenRefNum
sta gReadRefNum
sta gCloseRefNum
_WriteGS gReadRec
bcc CloseIt
CloseErr sta Err
CloseIt _CloseGS gCloseRec
DumpHandle PushLong LoadHndl
_DisposeHandle ;dump the handle we allocated
rts
IOErr sta Err
bra DumpHandle
end

View File

@ -0,0 +1,45 @@
#include <stdio.h>
#pragma lint -1
#pragma optimize -1
/*
* Fcn prototype for asm subroutine that does 90% of the work
*
*/
int DoDelta (char *filename);
/*
* C language preprocessor for
* delta engine... gets the command line args and all
*
*/
int main (int argc, char *argv[])
{
int i;
int err=0;
int count;
/* printf("Number of args=%d\n",argc);
printf("Command name:'%s \n", argv[0]);
for (i=1;i<argc;i++)
printf("arg #%d, is:'%s'\n",i,argv[i]);
printf("End of args\n"); */
if (argc>=2)
{
for (count=1;count<argc;count++)
{
printf("Undelta'ing file %s.\n",argv[count]);
err=DoDelta(argv[count]);
}
}
else
{
printf("Delta Undoer 0.1 by Nathan Mates\n");
printf("Usage:\n");
printf(" udelta infile [infile2 infile3....]\n\n");
printf("The input file(s) are undeltad, and written over.\n");
}
return err;
}

View File

@ -0,0 +1,194 @@
#define DataCtlDefProcID 1
#include "types.rez"
#include "t2common.rez"
// --- Flags resource
resource rT2ModuleFlags (moduleFlags) {
fFadeOut+fFadeIn+fGrafPort320+fSetup, // module flags word
$01, // enabled flag (unimplemented)
$0110, // minimum T2 version required
NIL, // reserved
"Mini Fireworks" // module name
};
// --- About text resource
resource rTextForLETextBox2 (moduleMessage) {
TBLeftJust
TBBackColor TBColorF
TBForeColor TBColor1
"Mini Fireworks"
TBForeColor TBColor0
" shoots off fireworks that explode in random patterns.\n"
TBForeColor TBColor4
"Written by Nathan Mates, dedicated to Ah-Ram Kim."
};
// --- Version resource
resource rVersion (moduleVersion) {
{1,0,0,final,2}, // Version
verUS, // US Version
"T2 Mini Fireworks Module", // program's name
"By Nathan Mates.\n"
"Special Thanks to Jim Maricondo." // copyright notice
};
// --- About icon resource
resource rIcon (moduleIcon) {
$8000, // kind
$0014, // height
$0016, // width
$"0000000000000000000000"
$"0FFFFFFFFFFFFFFFFFFFF0"
$"0F000000000E00000000F0"
$"0F000000000000000000F0"
$"0F00000E000000E00000F0"
$"0F00000000EEE0000000F0"
$"0F0000000EE0EE000000F0"
$"0F0000E00E000E00E000F0"
$"0F0000000EE0EE000000F0"
$"0F00000000EEE0000000F0"
$"0F00000E0000000E0000F0"
$"0F000000000E00000000F0"
$"0FFFFFFFFFFFFFFFFAFFF0"
$"0000000000000000000000"
$"F0FFFFFFFFFFFFFFFFFF0F"
$"F0FFFFFFFFFFFFFFFFFF0F"
$"F0FF4AFFFFFFFFFFFFFF0F"
$"F0CCCCCCCCCCCCCCCCCC0F"
$"F0FFFFFFFFFFFFFFFAFF0F"
$"F00000000000000000000F",
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"FFFFFFFFFFFFFFFFFFFFFF"
$"0FFFFFFFFFFFFFFFFFFFF0"
$"0FFFFFFFFFFFFFFFFFFFF0"
$"0FFFFFFFFFFFFFFFFFFFF0"
$"0FFFFFFFFFFFFFFFFFFFF0"
$"0FFFFFFFFFFFFFFFFFFFF0"
$"0FFFFFFFFFFFFFFFFFFFF0";
};
resource rControlList (0x00000001) {{
0x00000002, /* control resource id */
3,
4,
5,
};
};
resource rControlTemplate (0x00000003) {
0x00000003, /* control id */
{0x003B,0x002A,0x0048,0x00C5}, /* control rectangle */
statTextControl{{ /* control type */
0x0000, /* flags */
0x1002, /* more flags */
0, /* ref con */
0x00000002, /* text reference */
0x0015, /* text length */
0x0008, /*text justification not currently implemented (sys 5.0.2) */
}};
};
resource rTextForLETextBox2 (0x00000002){
"Number of Fireworks: "
};
resource rControlTemplate (1) {
1, // ID
{58,198,71,252}, // rect 246
dataFieldControl {{
ctlVisible, // flag
fCtlCanBeTarget+RefIsResource, // moreFlags
NIL, // refCon
1, // dataListRef
{0,0,0,0,0,0,0,0} // fieldValues
}};
};
resource rControlTemplate (4) {
4, // ID
{ 25, 84, 48,130}, // rect
iconButtonControl {{
$000C, // flag
$1020, // moreFlags
$00000000, // refCon
moduleIcon, // iconRef
0, // titleRef
0, // colorTableRef
$0000 // displayMode
}};
};
resource rControlTemplate (5) {
5, // ID
{ 32,142, 42,350}, // rect
statTextControl {{
$0000, // flag
$1002, // moreFlags
$00000000, // refCon
4 //txtref...
}};
};
resource rTextForLETextBox2 (4) {
"Mini Fireworks Options"
};
resource rDataList (1, nospecialmemory,nocrossbank) {
{
{2,6}, // relative location of this field
1 // reference to this field's string list
};
};
resource rTaggedStrings (1) {
{
1,"",
2,"",
3,"",
4,"",
5,"",
6,"",
7,"",
8,"",
9,"",
10,"",
11,"",
12,"",
13,"",
14,"",
15,""
};
};
resource rControlTemplate (0x00000002) {
0x00000002, /* control id */
{0x004C,0x002A,0x0055,0x00BD}, /* control rectangle */
CheckControl{{ /* control type */
0x0001, /* flags */
0x1002, /* more flags */
0, /* ref con */
0x00000003, /* title reference */
0x0001, /* inital value */
0x00000000, /* color table id */
{"","",0x0000,0x0000} /* key equiv */
}};
};
resource rPString (0x00000003) {
"Launch Fireworks"};

View File

@ -0,0 +1,287 @@
Clocks
v1.2b2 - First Tracked version...
Changes Since T2 1.1
- Digital Clock now uses color cycling to draw things much more smoothly.
- Timing should be much smoother for all modes
Want to do
- Make Analog Clock use color cycling, too.
- Clinton Clocks (run backwards)
- Chimes on the hour/half?
Fish
v1.2b2 - First Tracked version...
New for T2 1.2
v1.2b3
Changes Made
- APF Support. (Finally!).
v1.2b4 - Not released yet
Changes Made
- Datactl is now selected on setup
Want to do
- Make even faster
- Sounds
- Bubbles?
- Seafloor?
Flames
v1.2b2 - First Tracked version
New for T2 1.2
Changes since earlier beta versions
- New default option: bouncing around. (Not so if you've had an
earlier Flames beta config saved to your disk)
v1.2b3
Changes Made:
- Default height of flames now 8. That makes the blue bits just
touch the top of the screen. (Also, we haven't had any flames
around Southern California in a little bit :)
- Bouncing area enlarged. (I was bouncing off about the 180th
screen row)
- Damn nasty bug (to find, at least) fixed that caused small traces
to be left when bounced on left side heading up near the top-left
corner.
- Datactl selected on setup entry
Want to do
- Make Twice as fast, use 3200 colors, and cook eggs ;)
Globe
v1.2b2 - First Tracked version
New for T2 1.2
Changes since earlier beta versions
- Smoother error handling, no debugging crashes. (Whoooooops! :)
- Default direction is correct for this planet
v1.2b3
- 16 color APF support added
v1.2b4
- APF loader fixed. Before, if it loaded 2 APFs from the setup
screen, it would crash real hard. I made a wrong assumption
that my varbs would be 0 on entry. (Well, if it's reloaded,
that's the case).
Want to do
- 256 APF support (I promised it in the Toast Contest file)
- Sounds? Can anyone thing of any?
LedMsg
v1.2b2 - First Tracked version
Changes since T2 1.1
- 2 New fonts, selectable from a pop-up menu
- Slightly faster scrolling code
- Default message is put in Setup menu if all text is deleted, and
module re-selected. This text was being put on the screen anyways
(in lieu of an error string), so I just put it in the setup.
- Smart Timing of the scrolling ensures that the scrolling speed
will be much better. Basically, it always waits the max time that
it's taken so far to scroll.
- Briefly experimented with fillmode; too slow. I have the source
to pour over later, though.
MineHunt
v1.2b1 - First Tracked version
New since T2 1.1
- Not yet complete. More setup options need to be implemented,
and there are a few tweaks that need to be made. Send me
feedback on the music; I've listened to it enough times to
have it get on my nerves. (If you have any good SS songs or
neat MODs, send them on). Also want to put text scroller at
the bottom of the intro screen, and a help button in the
setup window.
- Error handling sucks. If it can't get the memory for music, it'll
hopefully not try to play anything. If it can't get the memory
for its screens, it'll put gunk on the screen. This'll be fixed
- Known bugs: Doesn't listen to T2's Sound override. That'll be
fixed.
v1.2b2 -Released 2/20/94
- Info text from setup screen now. But, sometimes, the "Info"
button isn't totally redrawn... Ought to put in a _InvalCtl
on it.
- Scroller now during intro text. How is it?
- Music is now compressed. T2's LZSS routine handles the packing
of just the SS screen, with some bugs: (Fix these, Jim!!!!)
1) You can move the mouse all you like while it's decompressing...
it doesn't respond.
2) Under GNO, the "Welcome. Please Wait..." text on the SHR
screen is ok. But, outside of GNO, the first ~20 lines on
the screen are randomly overwritten with garbage.
- Error text message is now put on screen if there's a problem with
the music and all. 0201= Out of Memory, 0818= someone else has
sound memory.
v1.2b3 -Released 4/10/94
- Some people were having problems getting any recognizable error
messages out of it, and not playing music... Made sure it prints
an error # I can trace.
Want to do:
- "Marking" thought mines, a la the Windoze variant.
- Maybe compress the DOC, if it would really help, and not increase
load time too much. Is ~130K acceptible, Jim?
MiniFireworks
v1.2b2 - First Tracked version
Changes since T2 1.1
- Up to 15 fireworks at once, and optional launching.
v1.2b3 - Not released yet
Changes Made
- Datactl is now selected on setup
Modern Art
v1.2b2 - First Tracked Version
No significant changes since T2 1.1. If anyone has any ideas, I'd love
to hear them.
Perspective
v1.2b2 - First Tracked Version
No significant changes since T2 1.1. If anyone has any ideas, I'd love
to hear them. Don't ask about 640 mode; I think it stinks.
Power Grid!
v1.2b1 - First Tracked version
New since T2 1.1
v1.2b1 -Released 4/10/94
- A clone of my NDA game... Didn't take too long to convert the
base code, but I'm a slow, critical artist. (If you can call drawing
suchg things art). Game shell code concurrent with MineHunt 1.2b3
- Any suggestions, folks?
Sharks And Fish
v1.2b2 - First Tracked Version
No significant changes since T2 1.1. If anyone has any ideas, I'd love
to hear them.
Snowflakes
v1.2b2 - First Tracked Version
New since T2 1.1
v1.2b3
Changes Made
- About dialog changed to reflect the 2.10 * 10^90 possible snowflakes
- Brighter snowflakes. (Before, they could be any color, including
black).
v1.2b4 - Not released yet
Changes Made
- Datactl is now selected on setup
Spirals
v1.2b2 - First Tracked Version
New since T2 1.1
v1.2b3 - Not released yet
Changes Made
- Datactl is now selected on setup
Swirls
v1.2b2 - First Tracked Version
New since T2 1.1
Toast
v1.2b2 - First Tracked Version
New since T2 1.1
Changes from earlier public release
- Contest file approved by Jim.
- Small memory-trashing bug fixed.
- Error Handling nicened up
v1.2b3
Changes Made
- APF support
v1.2b4 - Not released yet
Changes Made
- Datactl is now selected on setup
Want to do
- Make even faster
- Sounds
- "Classic" movement
Tunnelgame
v1.2b2 - First Tracked Version
No significant changes since T2 1.1. If anyone has any ideas, I'd love
to hear them.
Voting
v1.2b1 - First Tracked Version
New since T2 1.1
First released version
v1.2b2 Released 2/20/94
- About window now functional from Setup window
- Yeah, it's lame and cheesy. Got any better ideas? I wanted to
program this simulation, and this is the result. If you don't
like it, well, neither do I. Suggestions for improvements
would be appreciated....
Want to do:
- Implement some form of color cycling for the colors to reduce
burn-in.
Beta Testers:
Have fun with these modules. If you want to get in contact with me
directly, you can do so on the internet at nathan@cco.caltech.edu. If you're
on AOL or GEnie, you can probably get in contact with me; bug Jim for details.
Note: Jim may want bug reports funneled through him.
If you have any sound effects you think would just be the coolest
thing for some module, please send it on. I'm always open to suggestions for
improvements, and new modules, as well.
Modules I want to do. Some of these things are just random notes, so don't
expect to understand them.
Clinton Clocks
THX
MultiTris (port from NDA)
Silver
Waves?
Terraform?
Satori.... (Found algorithm.... Is it possible with only 16 colors???)

View File

@ -0,0 +1,19 @@
*
* Random T2 Revision notes....
*
* By Nathan Mates
* 4/10/94
*
What it does:
Random T2 is an init that sits in your system, and watches for Twilight
II starting up. When T2 starts off, 45 seconds later, RandomT2 checks the
system. If the mouse's coord is <3 on either the x or y axis, RandomT2
fakes a keyhit to make Twilight II shuffle the modules. QuickResponse
must be turned off.
This is an internal release for the Twilight II 2.0 beta testers only.
It is aslo designed to bug Jim into working some more. :)
Nathan

38
source/twilight/nm/go Normal file
View File

@ -0,0 +1,38 @@
unset exit
Set AuxType $4004
Set KeepType $BC
Echo Assembling {1}
if {1} == "Boxes"
asml +w -x boxes.asm
else if {1} == "Clocks"
asml +w -x Clocks.Asm
else if {1} == "LedMsg"
mv Led.Message Led.Msg
asml +w -x LedMsg.Asm
mv Led.Msg Led.Message
else if {1} == "Fire"
mv MiniFireworks Fireworks
asml +w -x fireworks.asm Keep=Fireworks
mv Fireworks MiniFireworks
else if {1} == "Persp"
mv Perspective Persp.Temp
asml +w -x Perspective.Asm
mv Persp.Temp Perspective
else if {1} == "Plasma"
asml +w -x Plasma.Asm
else if {1} == "SNF"
mv SharksAndFish SNF
asml +w -x SNF.asm
mv SNF SharksAndFish
else if {1} == "Tunnel"
asml +w -x TunnelGame.asm
else
Echo Known programs:
Echo " Boxes - Boxes.Asm"
Echo " Clocks - Clocks.Asm"
Echo " Fire - Fireworks.Asm"
Echo " LedMsg - LedMsg.Asm"
Echo " Persp - Perspective.Asm"
Echo " SNF - SNF.Asm"
Echo " Tunnel - TunnelGame.Asm"
end

Binary file not shown.