mirror of
https://github.com/a2-4am/4cade.git
synced 2024-11-26 17:49:43 +00:00
consolidate SS and ATTRACT
This commit is contained in:
parent
d86cfc9ea9
commit
a1b8afe939
@ -9,4 +9,4 @@ for (b = new Enumerator(a.GetFolder(WScript.Arguments(0)).files); !b.atEnd(); b.
|
||||
}
|
||||
}
|
||||
fileinfo += "\r\n" + "_FileInformation.txt=Type(" + WScript.Arguments(1) + "),AuxType(" + WScript.Arguments(2) + "),Access(C3)\r\n"
|
||||
a.createtextfile(WScript.Arguments(0)+"\\_FILEINFORMATION.TXT", 1).write(fileinfo)
|
||||
a.createtextfile(WScript.Arguments(0)+"\\_FileInformation.txt", 1).write(fileinfo)
|
||||
|
@ -35,58 +35,29 @@ while (!b.atendofstream)
|
||||
|
||||
entries.sort()
|
||||
y = "res\\GAMEHELP\\"
|
||||
s = y + "STANDARD"
|
||||
f = a.createtextfile(WScript.Arguments(0))
|
||||
f.write(entry = a.opentextfile(s).readall().replace(/\r\n/g, "\n"))
|
||||
f.write(entry = a.opentextfile(y + "STANDARD").readall().replace(/\r\n/g, "\n"))
|
||||
help_off = entry.length
|
||||
|
||||
letter = "@" //"A" - 1
|
||||
groups = ""
|
||||
first = true
|
||||
groups = "*=0\n" + "!le16 " + entries.length.toString() + ", 0\n"
|
||||
i = 0
|
||||
|
||||
while (i < entries.length)
|
||||
{
|
||||
if (first)
|
||||
{
|
||||
letter = String.fromCharCode(letter.charCodeAt(0) + 1)
|
||||
group = "group" + letter
|
||||
c = 0
|
||||
|
||||
groups += group + "\n"
|
||||
first = false
|
||||
if (a.fileexists(y + entries[i]))
|
||||
{
|
||||
c = help_off
|
||||
f.write(entry = a.opentextfile(y + entries[i]).readall().replace(/\r\n/g, "\n"))
|
||||
help_off += entry.length
|
||||
}
|
||||
|
||||
if (entries[i].charAt(0) == letter)
|
||||
{
|
||||
c = 0
|
||||
|
||||
if (a.fileexists(y + entries[i]))
|
||||
{
|
||||
c = help_off
|
||||
f.write(entry = a.opentextfile(y + entries[i]).readall().replace(/\r\n/g, "\n"))
|
||||
help_off += entry.length
|
||||
}
|
||||
|
||||
groups += "!byte " + format8(entries[i].length) + "\n" + "!text \"" + entries[i] + "\"\n" + "!byte " + format24(c) + "\n\n"
|
||||
++i
|
||||
}
|
||||
else
|
||||
{
|
||||
first = true
|
||||
}
|
||||
groups += "!byte " + (1 + 1 + entries[i].length + 3).toString() + "\n" + "!byte " + entries[i].length + "\n" + "!text \"" + entries[i] + "\"\n" + "!be24 " + c + "\n\n"
|
||||
++i
|
||||
}
|
||||
|
||||
f = a.createtextfile(WScript.Arguments(1))
|
||||
f.write(groups)
|
||||
|
||||
function format8(str)
|
||||
{
|
||||
val8 = parseInt(str)
|
||||
return "$" + ((val8 < 16) ? "0" : "") + val8.toString(16)
|
||||
}
|
||||
|
||||
function format24(str)
|
||||
{
|
||||
val24 = parseInt(str)
|
||||
return format8(Math.floor(val24 / (256*256))) + ", " + format8(Math.floor(val24 / 256) % 256) + ", " + format8(val24 % 256)
|
||||
}
|
||||
f.close()
|
||||
new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1))
|
||||
|
@ -1,43 +1,46 @@
|
||||
a = new ActiveXObject("scripting.filesystemobject")
|
||||
b = a.opentextfile(WScript.Arguments(0))
|
||||
|
||||
entries = []
|
||||
|
||||
while (!b.atendofstream)
|
||||
if (!a.fileexists(WScript.Arguments(1)) || a.getfile(WScript.Arguments(1)).datelastmodified < a.getFile(WScript.Arguments(0)).datelastmodified)
|
||||
{
|
||||
c = b.readline()
|
||||
d = c.indexOf("#")
|
||||
b = a.opentextfile(WScript.Arguments(0))
|
||||
|
||||
if (d >= 0)
|
||||
entries = []
|
||||
|
||||
while (!b.atendofstream)
|
||||
{
|
||||
c = c.substr(0, d)
|
||||
c = b.readline()
|
||||
d = c.indexOf("#")
|
||||
|
||||
if (d >= 0)
|
||||
{
|
||||
c = c.substr(0, d)
|
||||
}
|
||||
|
||||
if (c.indexOf("[") >= 0)
|
||||
{
|
||||
break
|
||||
}
|
||||
|
||||
if (c.length > 0)
|
||||
{
|
||||
entries.push(c)
|
||||
}
|
||||
}
|
||||
|
||||
if (c.indexOf("[") >= 0)
|
||||
source = a.createtextfile("build\\okvs.tmp")
|
||||
source.writeline("*=0")
|
||||
source.writeline("!le16 " + entries.length + ", 0")
|
||||
|
||||
for (i = 0; i < entries.length; i++)
|
||||
{
|
||||
break
|
||||
val = entries[i].indexOf("=")
|
||||
source.writeline("!byte " + (entries[i].length - ((val >= 0) ? 1 : 0) + 3).toString())
|
||||
source.writeline("!byte " + ((val >= 0) ? val : entries[i].length).toString())
|
||||
source.writeline("!text \"" + ((val >= 0) ? entries[i].substr(0, val) : entries[i]) + "\"")
|
||||
source.writeline("!byte " + ((val >= 0) ? (entries[i].length - (val + 1)) : 0).toString())
|
||||
source.writeline("!text \"" + ((val >= 0) ? (entries[i].substr(val + 1)) : "") + "\"")
|
||||
}
|
||||
|
||||
if (c.length > 0)
|
||||
{
|
||||
entries.push(c)
|
||||
}
|
||||
x = new ActiveXObject("wscript.shell")
|
||||
x.run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\okvs.tmp')
|
||||
}
|
||||
|
||||
source = a.createtextfile("build\\okvs.tmp")
|
||||
source.writeline("*=0")
|
||||
source.writeline("!le16 " + entries.length + ", 0")
|
||||
|
||||
for (i = 0; i < entries.length; i++)
|
||||
{
|
||||
val = entries[i].indexOf("=")
|
||||
source.writeline("!byte " + (entries[i].length - ((val >= 0) ? 1 : 0) + 3).toString())
|
||||
source.writeline("!byte " + ((val >= 0) ? val : entries[i].length).toString())
|
||||
source.writeline("!text \"" + ((val >= 0) ? entries[i].substr(0, val) : entries[i]) + "\"")
|
||||
source.writeline("!byte " + ((val >= 0) ? (entries[i].length - (val + 1)) : 0).toString())
|
||||
source.writeline("!text \"" + ((val >= 0) ? (entries[i].substr(val + 1)) : "") + "\"")
|
||||
}
|
||||
|
||||
x = new ActiveXObject("wscript.shell")
|
||||
x.run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\okvs.tmp')
|
||||
x.run('cmd /c del "build\\okvs.tmp"')
|
||||
|
22
bin/buildss.js
Normal file
22
bin/buildss.js
Normal file
@ -0,0 +1,22 @@
|
||||
a = new ActiveXObject("scripting.filesystemobject")
|
||||
|
||||
entries = []
|
||||
|
||||
for (b = new Enumerator(a.GetFolder(WScript.Arguments(0)).files); !b.atEnd(); b.moveNext())
|
||||
{
|
||||
entries.push(b.item().name)
|
||||
}
|
||||
|
||||
fx_off = 0
|
||||
groups = "*=0\n" + "!le16 " + entries.length.toString() + ", 0\n"
|
||||
|
||||
for (i = 0; i < entries.length; i++)
|
||||
{
|
||||
groups += "!byte " + (1 + 1 + entries[i].length + 3).toString() + "\n" + "!byte " + entries[i].length.toString() + "\n" + "!text \"" + entries[i] + "\"\n" + "!be24 " + fx_off.toString() + "\n"
|
||||
fx_off += a.getfile(WScript.Arguments(0) + "\\" + entries[i]).size
|
||||
}
|
||||
|
||||
f = a.createtextfile(WScript.Arguments(1))
|
||||
f.write(groups)
|
||||
f.close()
|
||||
new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1))
|
3
bin/buildssful.bat
Normal file
3
bin/buildssful.bat
Normal file
@ -0,0 +1,3 @@
|
||||
@echo off
|
||||
1>nul copy /y nul %2
|
||||
for %%a in (%1\*) do 1>nul copy /b /y %2+%%a %2
|
@ -1,393 +0,0 @@
|
||||
# This file is automatically generated
|
||||
|
||||
A.CITY.DIES=Type(04),AuxType(8000),Access(C3)
|
||||
A.E=Type(04),AuxType(8000),Access(C3)
|
||||
AA=Type(04),AuxType(8000),Access(C3)
|
||||
AB=Type(04),AuxType(8000),Access(C3)
|
||||
AC=Type(04),AuxType(8000),Access(C3)
|
||||
AF=Type(04),AuxType(8000),Access(C3)
|
||||
AGENT.U.S.A=Type(04),AuxType(8000),Access(C3)
|
||||
AIRHEART=Type(04),AuxType(8000),Access(C3)
|
||||
ALCAZAR=Type(04),AuxType(8000),Access(C3)
|
||||
ALIEN.AMBUSH=Type(04),AuxType(8000),Access(C3)
|
||||
ALIEN.DOWNPOUR=Type(04),AuxType(8000),Access(C3)
|
||||
ALIEN.LANDER=Type(04),AuxType(8000),Access(C3)
|
||||
ALIEN.MUNCHIES=Type(04),AuxType(8000),Access(C3)
|
||||
ALIEN.TYPHOON=Type(04),AuxType(8000),Access(C3)
|
||||
ALIENS=Type(04),AuxType(8000),Access(C3)
|
||||
ANKH=Type(04),AuxType(8000),Access(C3)
|
||||
APE.ESCAPE=Type(04),AuxType(8000),Access(C3)
|
||||
APPLE.INVADER=Type(04),AuxType(8000),Access(C3)
|
||||
APPLE.PANIC=Type(04),AuxType(8000),Access(C3)
|
||||
AQUATRON=Type(04),AuxType(8000),Access(C3)
|
||||
ARCHON=Type(04),AuxType(8000),Access(C3)
|
||||
ARCHON.II=Type(04),AuxType(8000),Access(C3)
|
||||
ARCTIC.FOX=Type(04),AuxType(8000),Access(C3)
|
||||
ARENA=Type(04),AuxType(8000),Access(C3)
|
||||
ARGOS=Type(04),AuxType(8000),Access(C3)
|
||||
ARKANOID=Type(04),AuxType(8000),Access(C3)
|
||||
ARTESIANS=Type(04),AuxType(8000),Access(C3)
|
||||
AS=Type(04),AuxType(8000),Access(C3)
|
||||
AXIS.ASSASSIN=Type(04),AuxType(8000),Access(C3)
|
||||
AZTEC=Type(04),AuxType(8000),Access(C3)
|
||||
B1=Type(04),AuxType(8000),Access(C3)
|
||||
B2=Type(04),AuxType(8000),Access(C3)
|
||||
BAD.DUDES=Type(04),AuxType(8000),Access(C3)
|
||||
BALLBLAZER=Type(04),AuxType(8000),Access(C3)
|
||||
BANDITS=Type(04),AuxType(8000),Access(C3)
|
||||
BATMAN=Type(04),AuxType(8000),Access(C3)
|
||||
BATTLE.CRUISER=Type(04),AuxType(8000),Access(C3)
|
||||
BATTLEZONE=Type(04),AuxType(8000),Access(C3)
|
||||
BB=Type(04),AuxType(8000),Access(C3)
|
||||
BC=Type(04),AuxType(8000),Access(C3)
|
||||
BEACH.LANDING=Type(04),AuxType(8000),Access(C3)
|
||||
BEER.RUN=Type(04),AuxType(8000),Access(C3)
|
||||
BEJEWELED=Type(04),AuxType(8000),Access(C3)
|
||||
BELLHOP=Type(04),AuxType(8000),Access(C3)
|
||||
BERZAP=Type(04),AuxType(8000),Access(C3)
|
||||
BEZARE=Type(04),AuxType(8000),Access(C3)
|
||||
BK=Type(04),AuxType(8000),Access(C3)
|
||||
BLACK.MAGIC=Type(04),AuxType(8000),Access(C3)
|
||||
BLISTER.BALL=Type(04),AuxType(8000),Access(C3)
|
||||
BOA=Type(04),AuxType(8000),Access(C3)
|
||||
BOLO=Type(04),AuxType(8000),Access(C3)
|
||||
BORG=Type(04),AuxType(8000),Access(C3)
|
||||
BOULDER.DASH=Type(04),AuxType(8000),Access(C3)
|
||||
BOULDER.DASH.II=Type(04),AuxType(8000),Access(C3)
|
||||
BQ=Type(04),AuxType(8000),Access(C3)
|
||||
BR=Type(04),AuxType(8000),Access(C3)
|
||||
BRUCE.LEE=Type(04),AuxType(8000),Access(C3)
|
||||
BT=Type(04),AuxType(8000),Access(C3)
|
||||
BU=Type(04),AuxType(8000),Access(C3)
|
||||
BUBBLE.BOBBLE=Type(04),AuxType(8000),Access(C3)
|
||||
BUG.ATTACK=Type(04),AuxType(8000),Access(C3)
|
||||
BUG.BATTLE=Type(04),AuxType(8000),Access(C3)
|
||||
BUZZARD.BAIT=Type(04),AuxType(8000),Access(C3)
|
||||
BW=Type(04),AuxType(8000),Access(C3)
|
||||
BY=Type(04),AuxType(8000),Access(C3)
|
||||
CANYON.CLIMBER=Type(04),AuxType(8000),Access(C3)
|
||||
CAPTAIN.POWER=Type(04),AuxType(8000),Access(C3)
|
||||
CB=Type(04),AuxType(8000),Access(C3)
|
||||
CC=Type(04),AuxType(8000),Access(C3)
|
||||
CEILING.ZERO=Type(04),AuxType(8000),Access(C3)
|
||||
CENTIPEDE=Type(04),AuxType(8000),Access(C3)
|
||||
CF=Type(04),AuxType(8000),Access(C3)
|
||||
CG=Type(04),AuxType(8000),Access(C3)
|
||||
CHIVALRY=Type(04),AuxType(8000),Access(C3)
|
||||
CHOPLIFTER=Type(04),AuxType(8000),Access(C3)
|
||||
CL=Type(04),AuxType(8000),Access(C3)
|
||||
COLUMNS=Type(04),AuxType(8000),Access(C3)
|
||||
COMMANDO=Type(04),AuxType(8000),Access(C3)
|
||||
CONAN=Type(04),AuxType(8000),Access(C3)
|
||||
CONGO=Type(04),AuxType(8000),Access(C3)
|
||||
CONGO.BONGO=Type(04),AuxType(8000),Access(C3)
|
||||
COSMIC.COMBAT=Type(04),AuxType(8000),Access(C3)
|
||||
COUNTY.FAIR=Type(04),AuxType(8000),Access(C3)
|
||||
CQ=Type(04),AuxType(8000),Access(C3)
|
||||
CR=Type(04),AuxType(8000),Access(C3)
|
||||
CRAZY.MAZEY=Type(04),AuxType(8000),Access(C3)
|
||||
CRICKATEER=Type(04),AuxType(8000),Access(C3)
|
||||
CRIME.WAVE=Type(04),AuxType(8000),Access(C3)
|
||||
CRISIS.MOUNTAIN=Type(04),AuxType(8000),Access(C3)
|
||||
CROSSFIRE=Type(04),AuxType(8000),Access(C3)
|
||||
CRYSTAL.CASTLES=Type(04),AuxType(8000),Access(C3)
|
||||
CS=Type(04),AuxType(8000),Access(C3)
|
||||
CUBIT=Type(04),AuxType(8000),Access(C3)
|
||||
CV=Type(04),AuxType(8000),Access(C3)
|
||||
CW=Type(04),AuxType(8000),Access(C3)
|
||||
CYBER.STRIKE=Type(04),AuxType(8000),Access(C3)
|
||||
CYCLOD=Type(04),AuxType(8000),Access(C3)
|
||||
DANGEROUS.DAVE=Type(04),AuxType(8000),Access(C3)
|
||||
DEATH.SWORD=Type(04),AuxType(8000),Access(C3)
|
||||
DEEP.SPACE=Type(04),AuxType(8000),Access(C3)
|
||||
DEFENDER=Type(04),AuxType(8000),Access(C3)
|
||||
DEMONIC.DECKS=Type(04),AuxType(8000),Access(C3)
|
||||
DEPTH.CHARGE=Type(04),AuxType(8000),Access(C3)
|
||||
DG=Type(04),AuxType(8000),Access(C3)
|
||||
DIAMOND.MINE=Type(04),AuxType(8000),Access(C3)
|
||||
DIG.DUG=Type(04),AuxType(8000),Access(C3)
|
||||
DINO.EGGS=Type(04),AuxType(8000),Access(C3)
|
||||
DINO.SMURF=Type(04),AuxType(8000),Access(C3)
|
||||
DIVE.BOMBER=Type(04),AuxType(8000),Access(C3)
|
||||
DJ=Type(04),AuxType(8000),Access(C3)
|
||||
DM=Type(04),AuxType(8000),Access(C3)
|
||||
DOGFIGHT.II=Type(04),AuxType(8000),Access(C3)
|
||||
DONKEY.KONG=Type(04),AuxType(8000),Access(C3)
|
||||
DOUBLE.TROUBLE=Type(04),AuxType(8000),Access(C3)
|
||||
DRELBS=Type(04),AuxType(8000),Access(C3)
|
||||
DROL=Type(04),AuxType(8000),Access(C3)
|
||||
DU=Type(04),AuxType(8000),Access(C3)
|
||||
DUNG.BEETLES=Type(04),AuxType(8000),Access(C3)
|
||||
EARLY.BIRD=Type(04),AuxType(8000),Access(C3)
|
||||
EI=Type(04),AuxType(8000),Access(C3)
|
||||
EPOCH=Type(04),AuxType(8000),Access(C3)
|
||||
ES=Type(04),AuxType(8000),Access(C3)
|
||||
EVOLUTION=Type(04),AuxType(8000),Access(C3)
|
||||
EXTERMINATOR=Type(04),AuxType(8000),Access(C3)
|
||||
FALCONS=Type(04),AuxType(8000),Access(C3)
|
||||
FAT.CITY=Type(04),AuxType(8000),Access(C3)
|
||||
FIREBIRD=Type(04),AuxType(8000),Access(C3)
|
||||
FIREBUG=Type(04),AuxType(8000),Access(C3)
|
||||
FLAPPLE.BIRD=Type(04),AuxType(8000),Access(C3)
|
||||
FLIP.OUT=Type(04),AuxType(8000),Access(C3)
|
||||
FLY.WARS=Type(04),AuxType(8000),Access(C3)
|
||||
FORCE.7=Type(04),AuxType(8000),Access(C3)
|
||||
FRAZZLE=Type(04),AuxType(8000),Access(C3)
|
||||
FREE.FALL=Type(04),AuxType(8000),Access(C3)
|
||||
FROGGER=Type(04),AuxType(8000),Access(C3)
|
||||
FROGGER.II=Type(04),AuxType(8000),Access(C3)
|
||||
FS2=Type(04),AuxType(8000),Access(C3)
|
||||
G.I.JOE=Type(04),AuxType(8000),Access(C3)
|
||||
GALACTIC.ATTACK=Type(04),AuxType(8000),Access(C3)
|
||||
GALAXIAN=Type(04),AuxType(8000),Access(C3)
|
||||
GALAXY.GATES=Type(04),AuxType(8000),Access(C3)
|
||||
GAMMA.GOBLINS=Type(04),AuxType(8000),Access(C3)
|
||||
GAUNTLET=Type(04),AuxType(8000),Access(C3)
|
||||
GENESIS=Type(04),AuxType(8000),Access(C3)
|
||||
GENETIC.DRIFT=Type(04),AuxType(8000),Access(C3)
|
||||
GENIUS=Type(04),AuxType(8000),Access(C3)
|
||||
GENIUS.2=Type(04),AuxType(8000),Access(C3)
|
||||
GENIUS.3=Type(04),AuxType(8000),Access(C3)
|
||||
GHOSTBUSTERS=Type(04),AuxType(8000),Access(C3)
|
||||
GOLD.RUSH=Type(04),AuxType(8000),Access(C3)
|
||||
GORGON=Type(04),AuxType(8000),Access(C3)
|
||||
GREMLINS=Type(04),AuxType(8000),Access(C3)
|
||||
GUARDIAN=Type(04),AuxType(8000),Access(C3)
|
||||
GUMBALL=Type(04),AuxType(8000),Access(C3)
|
||||
H.E.R.O=Type(04),AuxType(8000),Access(C3)
|
||||
HADRON=Type(04),AuxType(8000),Access(C3)
|
||||
HANDY.DANDY=Type(04),AuxType(8000),Access(C3)
|
||||
HARD.HAT.MACK=Type(04),AuxType(8000),Access(C3)
|
||||
HEAD.ON=Type(04),AuxType(8000),Access(C3)
|
||||
HEAVY.BARREL=Type(04),AuxType(8000),Access(C3)
|
||||
HIGH.RISE=Type(04),AuxType(8000),Access(C3)
|
||||
HORIZON.V=Type(04),AuxType(8000),Access(C3)
|
||||
HUNGRYBOY=Type(04),AuxType(8000),Access(C3)
|
||||
HYPER.HEAD.ON=Type(04),AuxType(8000),Access(C3)
|
||||
I1=Type(04),AuxType(8000),Access(C3)
|
||||
I2=Type(04),AuxType(8000),Access(C3)
|
||||
IE=Type(04),AuxType(8000),Access(C3)
|
||||
IKARI.WARRIORS=Type(04),AuxType(8000),Access(C3)
|
||||
INDIANA.JONES=Type(04),AuxType(8000),Access(C3)
|
||||
INFILTRATOR=Type(04),AuxType(8000),Access(C3)
|
||||
INFILTRATOR.2=Type(04),AuxType(8000),Access(C3)
|
||||
IO=Type(04),AuxType(8000),Access(C3)
|
||||
IP=Type(04),AuxType(8000),Access(C3)
|
||||
JAWBREAKER=Type(04),AuxType(8000),Access(C3)
|
||||
JAWBREAKER.II=Type(04),AuxType(8000),Access(C3)
|
||||
JELLYFISH=Type(04),AuxType(8000),Access(C3)
|
||||
JOUST=Type(04),AuxType(8000),Access(C3)
|
||||
JUGGLER=Type(04),AuxType(8000),Access(C3)
|
||||
JUMP.JET=Type(04),AuxType(8000),Access(C3)
|
||||
JUMPMAN=Type(04),AuxType(8000),Access(C3)
|
||||
JUNGLE.HUNT=Type(04),AuxType(8000),Access(C3)
|
||||
KAMIKAZE=Type(04),AuxType(8000),Access(C3)
|
||||
KARATEKA=Type(04),AuxType(8000),Access(C3)
|
||||
KID.NIKI=Type(04),AuxType(8000),Access(C3)
|
||||
KUNG.FU.MASTER=Type(04),AuxType(8000),Access(C3)
|
||||
LA=Type(04),AuxType(8000),Access(C3)
|
||||
LABYRINTH=Type(04),AuxType(8000),Access(C3)
|
||||
LADY.TUT=Type(04),AuxType(8000),Access(C3)
|
||||
LANCASTER=Type(04),AuxType(8000),Access(C3)
|
||||
LASER.BOUNCE=Type(04),AuxType(8000),Access(C3)
|
||||
LAZER.SILK=Type(04),AuxType(8000),Access(C3)
|
||||
LC=Type(04),AuxType(8000),Access(C3)
|
||||
LEMMINGS=Type(04),AuxType(8000),Access(C3)
|
||||
LG=Type(04),AuxType(8000),Access(C3)
|
||||
LODE.RUNNER=Type(04),AuxType(8000),Access(C3)
|
||||
LOST.TOMB=Type(04),AuxType(8000),Access(C3)
|
||||
LP=Type(04),AuxType(8000),Access(C3)
|
||||
LUNAR.LEEPERS=Type(04),AuxType(8000),Access(C3)
|
||||
M.I.R.V=Type(04),AuxType(8000),Access(C3)
|
||||
MAD.BOMBER=Type(04),AuxType(8000),Access(C3)
|
||||
MAD.RAT=Type(04),AuxType(8000),Access(C3)
|
||||
MANIC.MINER=Type(04),AuxType(8000),Access(C3)
|
||||
MARAUDER=Type(04),AuxType(8000),Access(C3)
|
||||
MARBLE.MADNESS=Type(04),AuxType(8000),Access(C3)
|
||||
MARS.CARS=Type(04),AuxType(8000),Access(C3)
|
||||
MATING.ZONE=Type(04),AuxType(8000),Access(C3)
|
||||
MAXWELL.MANOR=Type(04),AuxType(8000),Access(C3)
|
||||
MAZEBLOX=Type(04),AuxType(8000),Access(C3)
|
||||
MB=Type(04),AuxType(8000),Access(C3)
|
||||
MC=Type(04),AuxType(8000),Access(C3)
|
||||
MD=Type(04),AuxType(8000),Access(C3)
|
||||
MEGABOTS=Type(04),AuxType(8000),Access(C3)
|
||||
MI=Type(04),AuxType(8000),Access(C3)
|
||||
MICRO.INVADERS=Type(04),AuxType(8000),Access(C3)
|
||||
MICROWAVE=Type(04),AuxType(8000),Access(C3)
|
||||
MINER.2049ER=Type(04),AuxType(8000),Access(C3)
|
||||
MINER.II=Type(04),AuxType(8000),Access(C3)
|
||||
MINIT.MAN=Type(04),AuxType(8000),Access(C3)
|
||||
MINOTAUR=Type(04),AuxType(8000),Access(C3)
|
||||
MM=Type(04),AuxType(8000),Access(C3)
|
||||
MONSTER.MASH=Type(04),AuxType(8000),Access(C3)
|
||||
MOON.PATROL=Type(04),AuxType(8000),Access(C3)
|
||||
MOUSKATTACK=Type(04),AuxType(8000),Access(C3)
|
||||
MP=Type(04),AuxType(8000),Access(C3)
|
||||
MR=Type(04),AuxType(8000),Access(C3)
|
||||
MS=Type(04),AuxType(8000),Access(C3)
|
||||
MT=Type(04),AuxType(8000),Access(C3)
|
||||
MZ=Type(04),AuxType(8000),Access(C3)
|
||||
N.O.R.A.D=Type(04),AuxType(8000),Access(C3)
|
||||
NEON=Type(04),AuxType(8000),Access(C3)
|
||||
NEPTUNE=Type(04),AuxType(8000),Access(C3)
|
||||
NEUTRONS=Type(04),AuxType(8000),Access(C3)
|
||||
NI=Type(04),AuxType(8000),Access(C3)
|
||||
NIBBLER=Type(04),AuxType(8000),Access(C3)
|
||||
NIGHT.STALKER=Type(04),AuxType(8000),Access(C3)
|
||||
NM=Type(04),AuxType(8000),Access(C3)
|
||||
NT=Type(04),AuxType(8000),Access(C3)
|
||||
OID.ZONE=Type(04),AuxType(8000),Access(C3)
|
||||
OM=Type(04),AuxType(8000),Access(C3)
|
||||
ON.THE.RUN=Type(04),AuxType(8000),Access(C3)
|
||||
ORBITRON=Type(04),AuxType(8000),Access(C3)
|
||||
OUTPOST=Type(04),AuxType(8000),Access(C3)
|
||||
OUTWORLD=Type(04),AuxType(8000),Access(C3)
|
||||
OW=Type(04),AuxType(8000),Access(C3)
|
||||
PACMAN=Type(04),AuxType(8000),Access(C3)
|
||||
PAPERBOY=Type(04),AuxType(8000),Access(C3)
|
||||
PB=Type(04),AuxType(8000),Access(C3)
|
||||
PEEPING.TOM=Type(04),AuxType(8000),Access(C3)
|
||||
PEGASUS.II=Type(04),AuxType(8000),Access(C3)
|
||||
PENETRATOR=Type(04),AuxType(8000),Access(C3)
|
||||
PENGO=Type(04),AuxType(8000),Access(C3)
|
||||
PENTAPUS=Type(04),AuxType(8000),Access(C3)
|
||||
PEST.PATROL=Type(04),AuxType(8000),Access(C3)
|
||||
PHANTOMS.FIVE=Type(04),AuxType(8000),Access(C3)
|
||||
PHASER.FIRE=Type(04),AuxType(8000),Access(C3)
|
||||
PHOTAR=Type(04),AuxType(8000),Access(C3)
|
||||
PICNIC.PARANOIA=Type(04),AuxType(8000),Access(C3)
|
||||
PIG.PEN=Type(04),AuxType(8000),Access(C3)
|
||||
PIPE.DREAM=Type(04),AuxType(8000),Access(C3)
|
||||
PITFALL.II=Type(04),AuxType(8000),Access(C3)
|
||||
PITSTOP.II=Type(04),AuxType(8000),Access(C3)
|
||||
PLANETOIDS=Type(04),AuxType(8000),Access(C3)
|
||||
PLASMANIA=Type(04),AuxType(8000),Access(C3)
|
||||
PLATOON=Type(04),AuxType(8000),Access(C3)
|
||||
PM=Type(04),AuxType(8000),Access(C3)
|
||||
POLLYWOG=Type(04),AuxType(8000),Access(C3)
|
||||
POOYAN=Type(04),AuxType(8000),Access(C3)
|
||||
PP=Type(04),AuxType(8000),Access(C3)
|
||||
PR=Type(04),AuxType(8000),Access(C3)
|
||||
PULSAR.II=Type(04),AuxType(8000),Access(C3)
|
||||
QIX=Type(04),AuxType(8000),Access(C3)
|
||||
QUADRANT.6112=Type(04),AuxType(8000),Access(C3)
|
||||
RADWARRIOR=Type(04),AuxType(8000),Access(C3)
|
||||
RAMPAGE=Type(04),AuxType(8000),Access(C3)
|
||||
RANDAMN=Type(04),AuxType(8000),Access(C3)
|
||||
RASTER.BLASTER=Type(04),AuxType(8000),Access(C3)
|
||||
RB=Type(04),AuxType(8000),Access(C3)
|
||||
REAR.GUARD=Type(04),AuxType(8000),Access(C3)
|
||||
RED.ALERT=Type(04),AuxType(8000),Access(C3)
|
||||
RENEGADE=Type(04),AuxType(8000),Access(C3)
|
||||
REPTON=Type(04),AuxType(8000),Access(C3)
|
||||
RESCUE.RAIDERS=Type(04),AuxType(8000),Access(C3)
|
||||
RETRO.FEVER=Type(04),AuxType(8000),Access(C3)
|
||||
RI=Type(04),AuxType(8000),Access(C3)
|
||||
RIBBIT=Type(04),AuxType(8000),Access(C3)
|
||||
RM=Type(04),AuxType(8000),Access(C3)
|
||||
ROACH.HOTEL=Type(04),AuxType(8000),Access(C3)
|
||||
ROADBLOCK=Type(04),AuxType(8000),Access(C3)
|
||||
ROBOCOP=Type(04),AuxType(8000),Access(C3)
|
||||
ROBOT.BATTLE=Type(04),AuxType(8000),Access(C3)
|
||||
ROBOTRON.2084=Type(04),AuxType(8000),Access(C3)
|
||||
ROUND.ABOUT=Type(04),AuxType(8000),Access(C3)
|
||||
RR=Type(04),AuxType(8000),Access(C3)
|
||||
RUN.FOR.IT=Type(04),AuxType(8000),Access(C3)
|
||||
RUSSKI.DUCK=Type(04),AuxType(8000),Access(C3)
|
||||
S2=Type(04),AuxType(8000),Access(C3)
|
||||
SABOTAGE=Type(04),AuxType(8000),Access(C3)
|
||||
SAMMY.LIGHTFOOT=Type(04),AuxType(8000),Access(C3)
|
||||
SARACEN=Type(04),AuxType(8000),Access(C3)
|
||||
SC=Type(04),AuxType(8000),Access(C3)
|
||||
SD=Type(04),AuxType(8000),Access(C3)
|
||||
SEA.DRAGON=Type(04),AuxType(8000),Access(C3)
|
||||
SEAFOX=Type(04),AuxType(8000),Access(C3)
|
||||
SERPENTINE=Type(04),AuxType(8000),Access(C3)
|
||||
SHAMUS=Type(04),AuxType(8000),Access(C3)
|
||||
SHORT.CIRCUIT=Type(04),AuxType(8000),Access(C3)
|
||||
SI=Type(04),AuxType(8000),Access(C3)
|
||||
SKYFOX=Type(04),AuxType(8000),Access(C3)
|
||||
SLICKS=Type(04),AuxType(8000),Access(C3)
|
||||
SNACK.ATTACK=Type(04),AuxType(8000),Access(C3)
|
||||
SNAKE.BYTE=Type(04),AuxType(8000),Access(C3)
|
||||
SNEAKERS=Type(04),AuxType(8000),Access(C3)
|
||||
SNOGGLE=Type(04),AuxType(8000),Access(C3)
|
||||
SO=Type(04),AuxType(8000),Access(C3)
|
||||
SOLO.FLIGHT=Type(04),AuxType(8000),Access(C3)
|
||||
SPACE.EGGS=Type(04),AuxType(8000),Access(C3)
|
||||
SPACE.KADET=Type(04),AuxType(8000),Access(C3)
|
||||
SPACE.QUARKS=Type(04),AuxType(8000),Access(C3)
|
||||
SPACE.RAIDERS=Type(04),AuxType(8000),Access(C3)
|
||||
SPARE.CHANGE=Type(04),AuxType(8000),Access(C3)
|
||||
SPECTRE=Type(04),AuxType(8000),Access(C3)
|
||||
SPELLWIELDER=Type(04),AuxType(8000),Access(C3)
|
||||
SPIDER.RAID=Type(04),AuxType(8000),Access(C3)
|
||||
SPIDERBOT=Type(04),AuxType(8000),Access(C3)
|
||||
SPINDIZZY=Type(04),AuxType(8000),Access(C3)
|
||||
SPY.HUNTER=Type(04),AuxType(8000),Access(C3)
|
||||
SS=Type(04),AuxType(8000),Access(C3)
|
||||
SS2=Type(04),AuxType(8000),Access(C3)
|
||||
SS3=Type(04),AuxType(8000),Access(C3)
|
||||
STAR.BLAZER=Type(04),AuxType(8000),Access(C3)
|
||||
STAR.CRUISER=Type(04),AuxType(8000),Access(C3)
|
||||
STAR.DANCE=Type(04),AuxType(8000),Access(C3)
|
||||
STAR.THIEF=Type(04),AuxType(8000),Access(C3)
|
||||
STARBALL=Type(04),AuxType(8000),Access(C3)
|
||||
STARBLASTER=Type(04),AuxType(8000),Access(C3)
|
||||
STARGATE=Type(04),AuxType(8000),Access(C3)
|
||||
STARGLIDER=Type(04),AuxType(8000),Access(C3)
|
||||
STATION.5=Type(04),AuxType(8000),Access(C3)
|
||||
STELLAR.7=Type(04),AuxType(8000),Access(C3)
|
||||
SU=Type(04),AuxType(8000),Access(C3)
|
||||
SUCCESSION=Type(04),AuxType(8000),Access(C3)
|
||||
SUPER.BUNNY=Type(04),AuxType(8000),Access(C3)
|
||||
SUPER.HUEY=Type(04),AuxType(8000),Access(C3)
|
||||
SUPER.PUCKMAN=Type(04),AuxType(8000),Access(C3)
|
||||
SUPER.TAXMAN.2=Type(04),AuxType(8000),Access(C3)
|
||||
SUPER.ZAXXON=Type(04),AuxType(8000),Access(C3)
|
||||
SWASHBUCKLER=Type(04),AuxType(8000),Access(C3)
|
||||
TALON=Type(04),AuxType(8000),Access(C3)
|
||||
TAPPER=Type(04),AuxType(8000),Access(C3)
|
||||
TB=Type(04),AuxType(8000),Access(C3)
|
||||
TC=Type(04),AuxType(8000),Access(C3)
|
||||
TELEPORT=Type(04),AuxType(8000),Access(C3)
|
||||
TERITORY=Type(04),AuxType(8000),Access(C3)
|
||||
TETRIS=Type(04),AuxType(8000),Access(C3)
|
||||
THE.BILESTOAD=Type(04),AuxType(8000),Access(C3)
|
||||
THE.DAM.BUSTERS=Type(04),AuxType(8000),Access(C3)
|
||||
THE.GOONIES=Type(04),AuxType(8000),Access(C3)
|
||||
THE.HEIST=Type(04),AuxType(8000),Access(C3)
|
||||
THE.LAST.NINJA=Type(04),AuxType(8000),Access(C3)
|
||||
THE.SNAPPER=Type(04),AuxType(8000),Access(C3)
|
||||
THE.SPACE.ARK=Type(04),AuxType(8000),Access(C3)
|
||||
THEXDER=Type(04),AuxType(8000),Access(C3)
|
||||
THIEF=Type(04),AuxType(8000),Access(C3)
|
||||
THRESHOLD=Type(04),AuxType(8000),Access(C3)
|
||||
THUNDER.BOMBS=Type(04),AuxType(8000),Access(C3)
|
||||
TIME.PILOT=Type(04),AuxType(8000),Access(C3)
|
||||
TITAN.CRONUS=Type(04),AuxType(8000),Access(C3)
|
||||
TOMAHAWK=Type(04),AuxType(8000),Access(C3)
|
||||
TRACK.ATTACK=Type(04),AuxType(8000),Access(C3)
|
||||
TRIAD=Type(04),AuxType(8000),Access(C3)
|
||||
TROMPERS=Type(04),AuxType(8000),Access(C3)
|
||||
TU=Type(04),AuxType(8000),Access(C3)
|
||||
TUNNEL.TERROR=Type(04),AuxType(8000),Access(C3)
|
||||
TWERPS=Type(04),AuxType(8000),Access(C3)
|
||||
UD=Type(04),AuxType(8000),Access(C3)
|
||||
VICTORY.ROAD=Type(04),AuxType(8000),Access(C3)
|
||||
VIDEO.VEGAS=Type(04),AuxType(8000),Access(C3)
|
||||
VINDICATOR=Type(04),AuxType(8000),Access(C3)
|
||||
VORTEX=Type(04),AuxType(8000),Access(C3)
|
||||
WARP.DESTROYER=Type(04),AuxType(8000),Access(C3)
|
||||
WAVY.NAVY=Type(04),AuxType(8000),Access(C3)
|
||||
WAYOUT=Type(04),AuxType(8000),Access(C3)
|
||||
WF=Type(04),AuxType(8000),Access(C3)
|
||||
WHOMPER.STOMPER=Type(04),AuxType(8000),Access(C3)
|
||||
WILLY.BYTE=Type(04),AuxType(8000),Access(C3)
|
||||
XEVIOUS=Type(04),AuxType(8000),Access(C3)
|
||||
ZARGS=Type(04),AuxType(8000),Access(C3)
|
||||
ZAXXON=Type(04),AuxType(8000),Access(C3)
|
||||
ZENITH=Type(04),AuxType(8000),Access(C3)
|
||||
ZOO.MASTER=Type(04),AuxType(8000),Access(C3)
|
||||
_FileInformation.txt=Type(04),AuxType(8000),Access(C3)
|
@ -1,241 +0,0 @@
|
||||
# This file is automatically generated
|
||||
|
||||
AB1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
AB2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
AB3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
AB4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
AB5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
AB6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACCESS.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR10.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR11.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR12.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR13.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR14.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR15.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR16.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR7.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR8.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTDHGR9.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTGR1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTION2049.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB7.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB8.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONAB9.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONANKH.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONBH.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONBH2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONBL.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONBURG.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCAPT.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCD1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCD2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCD3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCD4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCD5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCD6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCD7.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCHIV.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCLR1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCLR2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCLR3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCLR4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONCLR5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONDAVE.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONDB.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONDD.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONEFG1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONEFG2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONEFG3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONEFG4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONEFG5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONEFG6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONEFG7.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONHERO.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONHIJ1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONHIJ2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONHIJ3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONHIJ4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONHIJ5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONHIJ6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONKN.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONLR.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMB.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMHS.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMNO1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMNO2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMNO3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMNO4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMNO5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMNO6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMPM.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMR1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMR2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONMZR.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPOP.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPOP2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPOP3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPOP4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPOP5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPQR1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPQR2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPQR3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPQR4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONPQR5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONROM.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONS1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONS2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONS3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONS4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONS5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONS6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONT1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONT2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONT3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONT4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONT5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONT6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIONTH.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTIVISION.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ACTMRDO.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ATARI.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
ATARI2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
BALLY.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
BRODER2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
BRODERBUND.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
CD1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
CD2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
CD3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
CD4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
CD5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DATAEAST.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DATAMOST.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DATAMOST2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DATASOFT.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DATASOFT2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DHGR1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DHGR2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DHGR3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DHGR4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DHGR5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
DHGREPYX.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
EA.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
EFG1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
EFG2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
EFG3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
EFG4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
EPYX.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
FAVORITES1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
FAVORITES2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
FAVORITES3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
FAVORITES4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
FAVORITES5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
GEBELLI.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
HIJKL.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
HIJKL2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
HIJKL3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
HIJKL4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
INDIE.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MATTEL.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MICROFUN.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MNO1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MNO2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MNO3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MNO4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MNO5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
MUSE.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OPTIMUM.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER7.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
OTHER8.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
P1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
P2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
PENGUIN.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
PICCADILLY.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
QR.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
S1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
S2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
S3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
S4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SEGA.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR10.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR11.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR12.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR13.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR14.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR15.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR16.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR17.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR18.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR19.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR20.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR21.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR22.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR23.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR24.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR25.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR26.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR27.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR28.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR29.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR30.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR31.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR32.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR33.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR34.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR35.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR36.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR37.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR38.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR39.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR4.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR40.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR41.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR42.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR43.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR44.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR45.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR46.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR47.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR48.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR49.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR5.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR50.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR51.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR52.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR6.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR7.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR8.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SHR9.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SIERRA.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SIERRA2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SIRIUS.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SIRIUS2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SIRIUS3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SIRTECH.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SUBLOGIC.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
SYNERGIST.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
T1.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
T2.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
T3.CONF=Type(04),AuxType(4000),Access(C3)
|
||||
_FileInformation.txt=Type(04),AuxType(4000),Access(C3)
|
@ -4,17 +4,21 @@ LAUNCHER.SYSTEM=Type(FF),AuxType(2000),Access(C3)
|
||||
PREFS.CONF=Type(04),AuxType(8000),Access(C3)
|
||||
GAMES.CONF=Type(04),AuxType(8000),Access(C3)
|
||||
ATTRACT.DATA=Type(06),AuxType(6000),Access(C3)
|
||||
ATTRACTFUL=Type(06),AuxType(6000),Access(C3)
|
||||
ATTRACTIVE=Type(06),AuxType(6000),Access(C3)
|
||||
FX.DATA=Type(06),AuxType(6000),Access(C3)
|
||||
DFX.DATA=Type(06),AuxType(6000),Access(C3)
|
||||
FXFUL=Type(06),AuxType(8000),Access(C3)
|
||||
DFXFUL=Type(06),AuxType(8000),Access(C3)
|
||||
FXFUL=Type(06),AuxType(6000),Access(C3)
|
||||
DFXFUL=Type(06),AuxType(6000),Access(C3)
|
||||
COVER=Type(06),AuxType(2000),Access(C3)
|
||||
TITLE=Type(06),AuxType(2000),Access(C3)
|
||||
HELP=Type(06),AuxType(2000),Access(C3)
|
||||
CREDITS=Type(04),AuxType(8000),Access(C3)
|
||||
HELPTEXT=Type(04),AuxType(8000),Access(C3)
|
||||
HELPFUL=Type(04),AuxType(0000),Access(C3)
|
||||
HELPER=Type(06),AuxType(6000),Access(C3)
|
||||
CREDITS=Type(04),AuxType(6000),Access(C3)
|
||||
HELP.DATA=Type(06),AuxType(6000),Access(C3)
|
||||
HELPTEXT=Type(04),AuxType(6000),Access(C3)
|
||||
HELPFUL=Type(04),AuxType(6000),Access(C3)
|
||||
SS.DATA=Type(06),AuxType(4000),Access(C3)
|
||||
SSFUL=Type(06),AuxType(0800),Access(C3)
|
||||
DECRUNCH=Type(06),AuxType(0200),Access(C3)
|
||||
JOYSTICK=Type(06),AuxType(0800),Access(C3)
|
||||
Finder.Data=Type(C9),AuxType(0000),Access(E7)
|
||||
|
@ -122,10 +122,6 @@ ResetVector ; 6 bytes, copied to $100
|
||||
; add new files above here
|
||||
!source "src/hw.vbl.a"
|
||||
!source "src/ui.wait.a"
|
||||
gAttractModeStore
|
||||
gFXStore
|
||||
gDFXStore
|
||||
!word $6000
|
||||
gSearchStore
|
||||
!word $8200
|
||||
gSlideshowStore
|
||||
|
@ -418,9 +418,9 @@ CopyDevs
|
||||
+ST16 SAVE
|
||||
|
||||
jsr pref_get ; see if cheats are enabled by default
|
||||
; sets PTR -> cheat pref value as length-prefixed string '1' or '0'
|
||||
!word kCheat
|
||||
!word 0
|
||||
+ST16 PTR ; (PTR) -> cheat pref value as length-prefixed string '1' or '0'
|
||||
ldy #1
|
||||
lda (PTR),y ; A = #$B1 or #$B0
|
||||
and #1 ; A = #$01 or #$00
|
||||
|
@ -7,7 +7,7 @@
|
||||
;
|
||||
; LC RAM BANK 1
|
||||
; D000..E789 - persistent data structures (gGlobalPrefsStore, gGamesListStore)
|
||||
; E910..FFF1 - main program code
|
||||
; E8AD..FFF1 - main program code
|
||||
; FFF2..FFF9 - API functions and global constants available for main program
|
||||
; code, prelaunchers, transition effects, &c.
|
||||
; (Wait/UnwaitForVBL, MockingboardStuff, MachineStatus)
|
||||
@ -151,7 +151,7 @@ iProDOS_enter = $D670
|
||||
LoadFileDirect = $DAF9
|
||||
iAuxReq = $DB1F
|
||||
launchpatch = $D60E
|
||||
iAddToPath = $FEB9
|
||||
iAddToPath = $FE97
|
||||
itraverse = $D8D8
|
||||
ldrhi = $56
|
||||
namlo = $57
|
||||
|
@ -1,93 +0,0 @@
|
||||
;license:MIT
|
||||
;(c) 2021 by qkumba
|
||||
;
|
||||
!cpu 6502
|
||||
!to "build/HELPER",plain
|
||||
*=$6000
|
||||
|
||||
!source "src/constants.a" ; no code in these
|
||||
sizelo = $52
|
||||
sizehi = $53
|
||||
reqcmd = $54
|
||||
ldrlo = $55
|
||||
ldrhi = $56
|
||||
bleftlo = $60
|
||||
blefthi = $61
|
||||
cmdseek = 0
|
||||
cmdread = 1
|
||||
|
||||
ldy #1
|
||||
lda (SRC), y
|
||||
tax
|
||||
lda header_high - $41, x
|
||||
sta DEST + 1
|
||||
lda header_low - $41, x
|
||||
sta DEST
|
||||
dey
|
||||
lda (SRC), y
|
||||
sta SAVE
|
||||
-- ldy SAVE
|
||||
- lda (SRC), y
|
||||
cmp (DEST), y
|
||||
beq +
|
||||
ldy #0
|
||||
lda (DEST), y
|
||||
clc
|
||||
adc #4
|
||||
adc DEST
|
||||
sta DEST
|
||||
bcc --
|
||||
inc DEST + 1
|
||||
bcs -- ; always taken
|
||||
+ dey
|
||||
bpl -
|
||||
ldx #2
|
||||
ldy SAVE
|
||||
- iny
|
||||
lda (DEST), y
|
||||
sta offset, x
|
||||
dex
|
||||
bpl -
|
||||
jsr $bf00 ; yes, ProDOS abstraction
|
||||
!byte $c8
|
||||
!word c8_parms
|
||||
jsr $bf00
|
||||
!byte $ce
|
||||
!word ce_parms
|
||||
jsr $bf00
|
||||
!byte $ca
|
||||
!word ca_parms
|
||||
jsr $bf00
|
||||
!byte $cc
|
||||
!word cc_parms
|
||||
lda $c08b
|
||||
lda $c08b
|
||||
rts
|
||||
|
||||
c8_parms
|
||||
!byte 3
|
||||
!word filename
|
||||
!word $d000
|
||||
|
||||
ce_parms
|
||||
!byte 2
|
||||
!byte 1
|
||||
offset !byte 0, 0, 0
|
||||
|
||||
ca_parms
|
||||
!byte 4
|
||||
cc_parms
|
||||
!byte 1
|
||||
!word $8000
|
||||
!word $400
|
||||
|
||||
filename
|
||||
!byte (filename_e-filename)-1
|
||||
!text "HELPFUL"
|
||||
filename_e
|
||||
|
||||
header_low !byte <groupA, <groupB, <groupC, <groupD, <groupE, <groupF, <groupG, <groupH, <groupI, <groupJ, <groupK, <groupL, <groupM, <groupN, <groupO, <groupP, <groupQ, <groupR, <groupS, <groupT, <groupU, <groupV, <groupW, <groupX, <groupY, <groupZ
|
||||
header_high !byte >groupA, >groupB, >groupC, >groupD, >groupE, >groupF, >groupG, >groupH, >groupI, >groupJ, >groupK, >groupL, >groupM, >groupN, >groupO, >groupP, >groupQ, >groupR, >groupS, >groupT, >groupU, >groupV, >groupW, >groupX, >groupY, >groupZ
|
||||
|
||||
; format: Pascal string of game directory + big-endian 24-bit file offset in merged helptext file
|
||||
!source "build/helper.inc"
|
@ -69,6 +69,12 @@
|
||||
ldy .ptr+1
|
||||
}
|
||||
|
||||
; load a 16-bit immediate value into A (low) and Y (high)
|
||||
!macro LDI16 .ptr {
|
||||
lda #<.ptr
|
||||
ldy #>.ptr+1
|
||||
}
|
||||
|
||||
; store a 16-bit value from A (low) and Y (high)
|
||||
!macro ST16 .ptr {
|
||||
sta .ptr
|
||||
|
@ -116,14 +116,13 @@ pref_get
|
||||
+LDPARAMPTR 1, +
|
||||
+LDPARAMPTR 3, .store1
|
||||
|
||||
jsr okvs_get ; look up pref key in prefs store
|
||||
jsr okvs_get ; look up pref key in prefs store, sets PTR to value
|
||||
!word gGlobalPrefsStore
|
||||
+ !word $FDFD ; SMC
|
||||
bcs .useDefaultValue ; if pref key is not found, use default value
|
||||
ldx .store1+1
|
||||
beq PREFRTS ; if no OKVS to validate against, we're done
|
||||
+ST16 +
|
||||
+ST16 PTR
|
||||
ldy #0
|
||||
lda (PTR),y
|
||||
beq .useDefaultValue ; if pref value is empty, use default value
|
||||
|
@ -1,5 +1,5 @@
|
||||
;license:MIT
|
||||
;(c) 2018-2020 by 4am
|
||||
;(c) 2018-2021 by 4am
|
||||
;
|
||||
; ProDOS - functions for constructing and passing around ProDOS pathnames
|
||||
;
|
||||
@ -81,13 +81,17 @@ kSHRArtworkDirectory
|
||||
!byte 12
|
||||
!raw "ARTWORK.SHR/"
|
||||
|
||||
kMiniAttractDirectory
|
||||
!byte 8
|
||||
!raw "ATTRACT/"
|
||||
kMiniAttractDataFile
|
||||
!byte 10
|
||||
!raw "ATTRACTIVE"
|
||||
|
||||
kAttractModeSlideshowDirectory
|
||||
!byte 3
|
||||
!raw "SS/"
|
||||
kAttractModeSlideshowDataFile
|
||||
!byte 7
|
||||
!raw "SS.DATA"
|
||||
|
||||
kAttractModeSlideshowFulFile
|
||||
!byte 5
|
||||
!raw "SSFUL"
|
||||
|
||||
kDemoDirectory
|
||||
!byte 5
|
||||
@ -118,6 +122,10 @@ kAttractModeDataFile
|
||||
!byte 12
|
||||
!raw "ATTRACT.DATA"
|
||||
|
||||
kAttractModeFulFile
|
||||
!byte 10
|
||||
!raw "ATTRACTFUL"
|
||||
|
||||
kFXDataFile
|
||||
!byte 7
|
||||
!raw "FX.DATA"
|
||||
@ -142,14 +150,18 @@ kHelpBackgroundFile
|
||||
!byte 4
|
||||
!raw "HELP"
|
||||
|
||||
kGameHelpDataFile
|
||||
!byte 9
|
||||
!raw "HELP.DATA"
|
||||
|
||||
kGameHelpFile
|
||||
!byte 7
|
||||
!raw "HELPFUL"
|
||||
|
||||
kHelpTextFile
|
||||
!byte 8
|
||||
!raw "HELPTEXT"
|
||||
|
||||
kGameHelpFile
|
||||
!byte 6
|
||||
!raw "HELPER"
|
||||
|
||||
kTitleFile
|
||||
!byte 5
|
||||
!raw "TITLE"
|
||||
|
@ -2791,9 +2791,8 @@ attribpatch
|
||||
!if allow_subdir = 1 {
|
||||
plp
|
||||
bcs hddrdwrfilei
|
||||
} else { ;allow_subdir = 0
|
||||
++
|
||||
} ;allow_subdir = 1
|
||||
++
|
||||
} ;rwts_mode = 1
|
||||
|
||||
hddrdwrpart
|
||||
@ -2804,7 +2803,6 @@ hddrdwrfile
|
||||
hddrdwrfilex
|
||||
!if allow_subdir = 1 {
|
||||
clc
|
||||
++
|
||||
} ;allow_subdir = 1
|
||||
|
||||
hddrdwrfilei
|
||||
|
@ -1,5 +1,5 @@
|
||||
;license:MIT
|
||||
;(c) 2018-2020 by 4am & qkumba
|
||||
;(c) 2018-2021 by 4am & qkumba
|
||||
;
|
||||
; Double hi-res slideshows
|
||||
;
|
||||
@ -139,14 +139,14 @@ LoadDHGRTransition
|
||||
jsr LoadFile ; load DHGR transition effects list into $6000
|
||||
!word kRootDirectory
|
||||
!word kDFXDataFile
|
||||
!word $6000
|
||||
- !word $6000
|
||||
|
||||
jsr pref_get ; get DHGR transition effect from prefs
|
||||
!word kNextDFX
|
||||
!word gDFXStore
|
||||
!word -
|
||||
+ST16 zpword ; A/Y = filename (don't load file yet)
|
||||
; $WINDEX = index of the transition in DFX store
|
||||
+LDADDR gDFXStore
|
||||
+LDADDR -
|
||||
jsr okvs_next ; get transition after this one
|
||||
+ST16 +
|
||||
|
||||
@ -154,8 +154,10 @@ LoadDHGRTransition
|
||||
!word kNextDFX
|
||||
+ !word $FDFD ; SMC
|
||||
|
||||
+LDADDR kDFXFile
|
||||
jmp LoadFX
|
||||
jsr LoadFulFile
|
||||
!word kDFXFile
|
||||
!word $6000
|
||||
rts
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; DHGRTitleCallback [private]
|
||||
|
@ -70,14 +70,14 @@ LoadHGRTransition
|
||||
jsr LoadFile ; load HGR transition effects list into $6000
|
||||
!word kRootDirectory
|
||||
!word kFXDataFile
|
||||
!word $6000
|
||||
- !word $6000
|
||||
|
||||
jsr pref_get ; get HGR transition effect from prefs
|
||||
!word kNextFX
|
||||
!word gFXStore
|
||||
!word -
|
||||
+ST16 zpword ; A/Y = filename (don't load file yet)
|
||||
; $WINDEX = index of the transition in FX store
|
||||
+LDADDR gFXStore
|
||||
+LDADDR -
|
||||
jsr okvs_next ; get transition after this one
|
||||
+ST16 +
|
||||
|
||||
@ -85,8 +85,10 @@ LoadHGRTransition
|
||||
!word kNextFX
|
||||
+ !word $FDFD ; SMC
|
||||
|
||||
+LDADDR kFXFile
|
||||
jmp LoadFX
|
||||
jsr LoadFulFile
|
||||
!word kFXFile
|
||||
!word $6000
|
||||
rts
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; HGRTitleCallback [private]
|
||||
|
@ -1,5 +1,5 @@
|
||||
;license:MIT
|
||||
;(c) 2018-9 by 4am
|
||||
;(c) 2018-2021 by 4am & qkumba
|
||||
;
|
||||
; Attract Mode - cycle through slideshows and self-running demos
|
||||
;
|
||||
@ -27,14 +27,14 @@ MegaAttractMode
|
||||
jsr LoadFile ; load pre-parsed attract mode configuration data into $6000
|
||||
!word kRootDirectory
|
||||
!word kAttractModeDataFile
|
||||
!word $6000
|
||||
- !word $6000
|
||||
|
||||
jsr pref_get ; get attract mode module from prefs
|
||||
!word kNextAttract
|
||||
!word gAttractModeStore
|
||||
!word -
|
||||
+ST16 @mname ; A/Y = module name
|
||||
; $WINDEX = index of module in attract store
|
||||
+LDADDR gAttractModeStore
|
||||
+LDADDR -
|
||||
jsr okvs_next ; get module after this one
|
||||
+ST16 +
|
||||
|
||||
@ -42,10 +42,9 @@ MegaAttractMode
|
||||
!word kNextAttract
|
||||
+ !word $FDFD ; SMC
|
||||
|
||||
jsr okvs_get
|
||||
!word gAttractModeStore
|
||||
jsr okvs_get ; sets PTR
|
||||
!word -
|
||||
@mname !word $FDFD ; SMC
|
||||
+ST16 PTR
|
||||
ldy #1
|
||||
lda (PTR),y
|
||||
tax ; X = module type
|
||||
@ -72,31 +71,33 @@ MiniAttractMode
|
||||
|
||||
jsr BlankHGR
|
||||
; X = 0
|
||||
stx MiniAttractIndex
|
||||
stx MiniAttractIndex+1
|
||||
stx @MiniAttractIndex+1
|
||||
stx @MiniAttractIndex+3
|
||||
@loop
|
||||
jsr LoadFile ; load mini attract mode configuration file into $8000
|
||||
!word kMiniAttractDirectory
|
||||
+ !word $FDFD ; SMC
|
||||
- !word $8000
|
||||
|
||||
jsr ParseKeyValueList ; parse configuration into OKVS data structure at $6000
|
||||
!word gAttractModeStore
|
||||
jsr LoadFile ; load mini attract mode configuration file into $6000
|
||||
!word kRootDirectory
|
||||
!word kMiniAttractDataFile
|
||||
- !word $6000
|
||||
jsr okvs_find
|
||||
!word -
|
||||
!byte 0
|
||||
|
||||
+LDADDR gAttractModeStore
|
||||
+ !word $FDFD ; SMC
|
||||
+ST16 zpword
|
||||
jsr LoadFulFile
|
||||
!word kAttractModeFulFile
|
||||
- !word $6000
|
||||
+LDADDR -
|
||||
jsr okvs_len
|
||||
lda WCOUNT
|
||||
cmp MiniAttractIndex
|
||||
cmp @MiniAttractIndex+1
|
||||
bne +
|
||||
lda WCOUNT+1
|
||||
cmp MiniAttractIndex+1
|
||||
cmp @MiniAttractIndex+3
|
||||
beq ATTRTS ; we've run through all modules, so exit to caller
|
||||
+
|
||||
+LD16 MiniAttractIndex
|
||||
@MiniAttractIndex
|
||||
+LDI16 0 ; SMC
|
||||
+ST16 WINDEX
|
||||
+LDADDR gAttractModeStore
|
||||
+LDADDR -
|
||||
jsr okvs_nth ; get the next module on the list
|
||||
+ST16 SAVE
|
||||
jsr okvs_get_current ; get module type
|
||||
@ -106,15 +107,13 @@ MiniAttractMode
|
||||
+LD16 SAVE ; A/Y = address of module name
|
||||
jsr RunAttractModule ; execute the module
|
||||
|
||||
inc MiniAttractIndex
|
||||
inc @MiniAttractIndex+1
|
||||
bne +
|
||||
inc MiniAttractIndex+1
|
||||
inc @MiniAttractIndex+3
|
||||
+
|
||||
lda KBD
|
||||
bpl @loop
|
||||
ATTRTS rts
|
||||
MiniAttractIndex
|
||||
!word 0 ; SMC
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; RunAttractModule
|
||||
@ -172,16 +171,19 @@ RunAttractModule
|
||||
cmp #$41 ; numbers are slideshow modules,
|
||||
bcs @dispatchSingle ; letters are single files
|
||||
|
||||
; it's a slideshow, so load and parse slideshow configuration file
|
||||
; it's a slideshow, so load slideshow configuration file
|
||||
pha ; save module type
|
||||
jsr LoadFile ; load slideshow configuration file into $4000
|
||||
!word kAttractModeSlideshowDirectory
|
||||
@key2 !word $FDFD ; SMC
|
||||
!word kAttractModeSlideshowDataFile
|
||||
!word kRootDirectory
|
||||
- !word $4000
|
||||
jsr ParseKeyValueList ; parse into an OKVS data structure at $0800
|
||||
!word gSlideshowStore
|
||||
jsr okvs_find
|
||||
!word -
|
||||
!byte 0
|
||||
@key2 !word $FDFD ; SMC
|
||||
+ST16 zpword
|
||||
jsr LoadFulFile
|
||||
!word kAttractModeSlideshowFulFile
|
||||
!word $800
|
||||
pla ; restore module type
|
||||
|
||||
- and #$0F ; convert ASCII digit to int
|
||||
|
@ -1,5 +1,5 @@
|
||||
;license:MIT
|
||||
;(c) 2018-2020 by 4am
|
||||
;(c) 2018-2021 by 4am & qkumba
|
||||
;
|
||||
; Super hi-res slideshows
|
||||
;
|
||||
|
@ -6,6 +6,7 @@
|
||||
; Public functions
|
||||
; - Credits
|
||||
; - Help
|
||||
; - LoadFulFile
|
||||
;
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
@ -52,12 +53,18 @@ Credits
|
||||
Help
|
||||
jsr GetGameToLaunch
|
||||
bcs @global
|
||||
+ST16 SRC
|
||||
+ST16 ++
|
||||
jsr LoadFile
|
||||
!word kRootDirectory
|
||||
!word kGameHelpDataFile
|
||||
- !word $6000
|
||||
jsr okvs_find
|
||||
!word -
|
||||
++ !word $DFDF ; SMC
|
||||
+ST16 zpword
|
||||
jsr LoadFulFile
|
||||
!word kGameHelpFile
|
||||
!word $6000
|
||||
jsr $6000
|
||||
!word $8000
|
||||
clc
|
||||
bcc -- ; always branches
|
||||
@global jsr LoadFile ; load help text into $8000
|
||||
@ -68,11 +75,26 @@ Help
|
||||
ldx #7
|
||||
bne - ; always branches
|
||||
|
||||
LoadFX
|
||||
;------------------------------------------------------------------------------
|
||||
; LoadFulFile
|
||||
; Load a *ful file (compiled okvs with offset value) into memory all at once
|
||||
;
|
||||
; in: stack contains 4 bytes of parameters:
|
||||
; +1 [word] pointer to filename to open
|
||||
; +3 [word] address of load destination
|
||||
; zpword: pointer to okvs key field
|
||||
; out: all flags clobbered
|
||||
; all registers clobbered
|
||||
;------------------------------------------------------------------------------
|
||||
LoadFulFile
|
||||
+PARAMS_ON_STACK 4
|
||||
+LDPARAM 1
|
||||
+ST16 @filename
|
||||
+LDPARAM 3
|
||||
+ST16 @address
|
||||
inc $BF0E ; disable ROM mapping on return
|
||||
ldx #2
|
||||
ldy #0 ; SMC
|
||||
ldy #0
|
||||
lda (zpword), y
|
||||
tay
|
||||
- iny
|
||||
@ -96,18 +118,18 @@ LoadFX
|
||||
jmp SwitchToBank1
|
||||
|
||||
@c8_parms
|
||||
!byte 3
|
||||
!byte 3
|
||||
@filename
|
||||
!word $DFDF ; SMC
|
||||
!byte 0
|
||||
!word $DFDF ; SMC
|
||||
!byte 0
|
||||
@ce_parms
|
||||
!byte $d0
|
||||
!byte 1
|
||||
@offset !byte 0, 0, 0 ; SMC
|
||||
!byte $ff
|
||||
!byte $d0
|
||||
!byte 1
|
||||
@offset !byte 0, 0, 0 ; SMC
|
||||
!byte $ff
|
||||
@ca_parms
|
||||
!byte $ff
|
||||
!byte $ff
|
||||
@cc_parms
|
||||
!byte 1
|
||||
!word $6000
|
||||
!word $600
|
||||
!byte 1
|
||||
@address !word $DFDF ; SMC
|
||||
!word $600
|
||||
|
44
winmake.bat
44
winmake.bat
@ -26,12 +26,19 @@ if "%1" equ "asm" (
|
||||
:asm
|
||||
call :md
|
||||
call :asmlauncher
|
||||
call :asmhelp
|
||||
call :asmfx
|
||||
call :asmss
|
||||
call :asmprelaunch
|
||||
call :asmproboot
|
||||
goto :EOF
|
||||
)
|
||||
|
||||
if "%1" equ "ss" (
|
||||
call :asmss
|
||||
goto :EOF
|
||||
)
|
||||
|
||||
if "%1" equ "clean" (
|
||||
:clean
|
||||
echo y|1>nul 2>nul rd build /s
|
||||
@ -48,13 +55,6 @@ call :compress
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\LAUNCHER.SYSTEM" >>build\log
|
||||
cscript /nologo bin\rsync.js "res\PREFS.CONF" "build\" >>build\log
|
||||
cscript /nologo bin\padto.js 512 build\PREFS.CONF
|
||||
cscript /nologo bin\buildhelp.js "build\HELPFUL" "build\helper.inc" >>build\log
|
||||
%ACME% -r build\helper.lst src\helper\helper.a >>build\log
|
||||
cscript /nologo bin\buildokvs.js "res\ATTRACT.CONF" "build\ATTRACT.DATA" >>build\log
|
||||
call bin\buildfxful.bat res\FX.CONF "build\FXFUL" >>build\log
|
||||
call bin\buildfxful.bat res\DFX.CONF "build\DFXFUL" >>build\log
|
||||
cscript /nologo bin\buildfx.js "res\FX.CONF" "build\fx.inc" "build\FX.DATA" >>build\log
|
||||
cscript /nologo bin\buildfx.js "res\DFX.CONF" "build\dfx.inc" "build\DFX.DATA" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\TITLE" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\COVER" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\HELP" >>build\log
|
||||
@ -66,11 +66,9 @@ cscript /nologo bin\dumpcr.js "build\CREDITS"
|
||||
cscript /nologo bin\rsync.js "res\HELPTEXT" "build\" >>build\log
|
||||
cscript /nologo bin\dumpcr.js "build\HELPTEXT"
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\HELPTEXT" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\HELPER" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\HELPFUL" >>build\log
|
||||
for %%q in (build\*.DATA) do %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "%%q" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\FXFUL" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\DFXFUL" >>build\log
|
||||
for %%q in (build\*FUL) do %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "%%q" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\ATTRACTIVE" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\DECRUNCH" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\JOYSTICK" >>build\log
|
||||
%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\Finder.Data" >>build\log
|
||||
@ -81,8 +79,6 @@ cscript /nologo bin\buildfileinfo.js res\ACTION.HGR "06" "3FF8" >>build/log
|
||||
cscript /nologo bin\buildfileinfo.js res\ACTION.DHGR "06" "3FF8" >>build/log
|
||||
cscript /nologo bin\buildfileinfo.js res\ACTION.GR "06" "6000" >>build/log
|
||||
cscript /nologo bin\buildfileinfo.js res\ARTWORK.SHR "06" "1FF8" >>build/log
|
||||
cscript /nologo bin\buildfileinfo.js res\ATTRACT "04" "8000" >>build/log
|
||||
cscript /nologo bin\buildfileinfo.js res\SS "04" "4000" >>build/log
|
||||
cscript /nologo bin\buildfileinfo.js res\ICONS "CA" "0000" >>build/log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.HGR" "res\TITLE.HGR" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.DHGR" "res\TITLE.DHGR" >>build\log
|
||||
@ -90,8 +86,6 @@ cscript /nologo bin\buildfileinfo.js res\ICONS "CA" "0000" >>build/log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ACTION.DHGR" "res\ACTION.DHGR" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ACTION.GR" "res\ACTION.GR" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ARTWORK.SHR" "res\ARTWORK.SHR" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ATTRACT" "res\ATTRACT" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/SS" "res\SS" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/DEMO" "res\DEMO" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/TITLE.ANIMATED" "res\TITLE.ANIMATED" >>build\log
|
||||
%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/ICONS" "res\ICONS" >>build\log
|
||||
@ -122,6 +116,8 @@ goto :EOF
|
||||
2>nul md build
|
||||
2>nul md build\X
|
||||
2>nul md build\FX
|
||||
2>nul md build\SS
|
||||
2>nul md build\ATTRACT
|
||||
2>nul md build\PRELAUNCH
|
||||
goto :EOF
|
||||
|
||||
@ -133,6 +129,10 @@ for /f "tokens=*" %%q in (build\relbase.log) do set _make=%%q
|
||||
%ACME% -DBUILDNUMBER=%_build% -DRELBASE=$!_make:~-5,4! -r build\4cade.lst src\4cade.a
|
||||
goto :EOF
|
||||
|
||||
:asmhelp
|
||||
cscript /nologo bin\buildhelp.js "build\HELPFUL" "build\help.inc" "build\HELP.DATA" >>build\log
|
||||
goto :EOF
|
||||
|
||||
:asmfx
|
||||
for %%q in (src\fx\*.a) do (
|
||||
for /f "tokens=* usebackq" %%k in (`find "^!to" %%q`) do set _to=%%k
|
||||
@ -140,6 +140,20 @@ for %%q in (src\fx\*.a) do (
|
||||
if !_to!==t %ACME% %%q
|
||||
)
|
||||
cscript /nologo bin\buildfileinfo.js build\FX "06" "6000"
|
||||
call bin\buildfxful.bat res\FX.CONF "build\FXFUL" >>build\log
|
||||
call bin\buildfxful.bat res\DFX.CONF "build\DFXFUL" >>build\log
|
||||
cscript /nologo bin\buildfx.js "res\FX.CONF" "build\fx.inc" "build\FX.DATA" >>build\log
|
||||
cscript /nologo bin\buildfx.js "res\DFX.CONF" "build\dfx.inc" "build\DFX.DATA" >>build\log
|
||||
goto :EOF
|
||||
|
||||
:asmss
|
||||
for %%q in (res\SS\*) do cscript /nologo bin\buildokvs.js "%%q" "build\SS\%%~nxq" >>build\log
|
||||
call bin\buildssful.bat build\SS build\SSFUL >>build\log
|
||||
cscript /nologo bin\buildss.js "build\SS" "build\ss.inc" "build\SS.DATA" >>build\log
|
||||
for %%q in (res\ATTRACT\*) do cscript /nologo bin\buildokvs.js "%%q" "build\ATTRACT\%%~nxq" >>build\log
|
||||
call bin\buildssful.bat build\ATTRACT build\ATTRACTFUL>>build\log
|
||||
cscript /nologo bin\buildokvs.js "res\ATTRACT.CONF" "build\ATTRACT.DATA" >>build\log
|
||||
cscript /nologo bin\buildss.js "build\ATTRACT" "build\attract.inc" "build\ATTRACTIVE" >>build\log
|
||||
goto :EOF
|
||||
|
||||
:asmprelaunch
|
||||
|
Loading…
Reference in New Issue
Block a user