Lots of tweaks in advance of PDPjs support for loading tape files

This commit is contained in:
Jeff Parsons 2016-10-17 15:19:01 -07:00 committed by Jeff Parsons
commit ed24094683
136 changed files with 1355 additions and 498 deletions

View file

@ -181,10 +181,10 @@
<xsl:choose>
<xsl:when test="@padding">padding:<xsl:value-of select="@padding"/>;</xsl:when>
<xsl:otherwise>
<xsl:if test="@padtop">padding-top:<xsl:value-of select="@padtop"/>;</xsl:if>
<xsl:if test="@padright">padding-right:<xsl:value-of select="@padright"/>;</xsl:if>
<xsl:if test="@padbottom">padding-bottom:<xsl:value-of select="@padbottom"/>;</xsl:if>
<xsl:if test="@padleft">padding-left:<xsl:value-of select="@padleft"/>;</xsl:if>
<xsl:if test="@padTop">padding-top:<xsl:value-of select="@padTop"/>;</xsl:if>
<xsl:if test="@padRight">padding-right:<xsl:value-of select="@padRight"/>;</xsl:if>
<xsl:if test="@padBottom">padding-bottom:<xsl:value-of select="@padBottom"/>;</xsl:if>
<xsl:if test="@padLeft">padding-left:<xsl:value-of select="@padLeft"/>;</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
@ -317,10 +317,10 @@
<xsl:choose>
<xsl:when test="@padding">padding:<xsl:value-of select="@padding"/>;</xsl:when>
<xsl:otherwise>
<xsl:if test="@padtop">padding-top:<xsl:value-of select="@padtop"/>;</xsl:if>
<xsl:if test="@padright">padding-right:<xsl:value-of select="@padright"/>;</xsl:if>
<xsl:if test="@padbottom">padding-bottom:<xsl:value-of select="@padbottom"/>;</xsl:if>
<xsl:if test="@padleft">padding-left:<xsl:value-of select="@padleft"/>;</xsl:if>
<xsl:if test="@padTop">padding-top:<xsl:value-of select="@padTop"/>;</xsl:if>
<xsl:if test="@padRight">padding-right:<xsl:value-of select="@padRight"/>;</xsl:if>
<xsl:if test="@padBottom">padding-bottom:<xsl:value-of select="@padBottom"/>;</xsl:if>
<xsl:if test="@padLeft">padding-left:<xsl:value-of select="@padLeft"/>;</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
@ -389,7 +389,7 @@
</xsl:when>
<xsl:when test="@type = 'list'">
<select class="{$APPCLASS}-binding" style="{$border}{$width}{$height}{$fontsize}{$style}" data-value="{{{$type},{$binding}}}">
<xsl:apply-templates select="disk|app|manifest" mode="component"/>
<xsl:apply-templates select="disk|tape|app|manifest" mode="component"/>
</select>
</xsl:when>
<xsl:when test="@type = 'text'">
@ -451,7 +451,38 @@
</xsl:if>
</xsl:if>
</xsl:variable>
<option value="{@path}" data-value="{{{$desc}}}"><xsl:if test="name"><xsl:value-of select="name"/></xsl:if><xsl:if test="not(name)"><xsl:value-of select="."/></xsl:if></option>
<xsl:variable name="name">
<xsl:choose>
<xsl:when test="@name"><xsl:value-of select="@name"/></xsl:when>
<xsl:when test="name"><xsl:value-of select="name"/></xsl:when>
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<option value="{@path}" data-value="{{{$desc}}}"><xsl:value-of select="$name"/></option>
</xsl:template>
<xsl:template match="tape[@ref]" mode="component">
<xsl:variable name="componentFile"><xsl:value-of select="$rootDir"/><xsl:value-of select="@ref"/></xsl:variable>
<xsl:apply-templates select="document($componentFile)/tape" mode="component"/>
</xsl:template>
<xsl:template match="tape[not(@ref)]" mode="component">
<xsl:variable name="desc">
<xsl:if test="@desc">
<xsl:text>desc:'</xsl:text><xsl:value-of select="@desc"/><xsl:text>'</xsl:text>
<xsl:if test="@href">
<xsl:text>,href:'</xsl:text><xsl:value-of select="@href"/><xsl:text>'</xsl:text>
</xsl:if>
</xsl:if>
</xsl:variable>
<xsl:variable name="name">
<xsl:choose>
<xsl:when test="@name"><xsl:value-of select="@name"/></xsl:when>
<xsl:when test="name"><xsl:value-of select="name"/></xsl:when>
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<option value="{@path}" data-value="{{{$desc}}}"><xsl:value-of select="$name"/></option>
</xsl:template>
<xsl:template match="app[@ref]" mode="component">

View file

@ -12,7 +12,7 @@
<title>Monochrome Display</title>
</menu>
</video>
<panel id="panel" padtop="8px">
<panel id="panel" padTop="8px">
<name>Control Panel</name>
<control type="container" width="500px">
<control type="textarea" binding="print" width="480px" height="280px"/>
@ -23,36 +23,36 @@
</control>
</control>
<control type="container" width="320px">
<control type="register" label="AX" binding="AX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="BX" binding="BX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="CX" binding="CX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="DX" binding="DX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="SP" binding="SP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="BP" binding="BP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="SI" binding="SI" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="DI" binding="DI" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="DS" binding="DS" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="ES" binding="ES" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="SS" binding="SS" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="CS" binding="CS" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="IP" binding="IP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="flag" label="V" binding="V" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="D" binding="D" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="I" binding="I" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="T" binding="T" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="S" binding="S" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="Z" binding="Z" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="A" binding="A" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="P" binding="P" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="C" binding="C" left="0px" width="8px" padright="4px" padbottom="8px">0</control>
<control type="status" binding="speed" left="0px" padbottom="8px">Stopped</control>
<control type="register" label="AX" binding="AX" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="BX" binding="BX" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="CX" binding="CX" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="DX" binding="DX" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="SP" binding="SP" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="BP" binding="BP" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="SI" binding="SI" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="DI" binding="DI" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="DS" binding="DS" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="ES" binding="ES" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="SS" binding="SS" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="CS" binding="CS" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="register" label="IP" binding="IP" width="40px" padRight="8px" padBottom="8px">0000</control>
<control type="flag" label="V" binding="V" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="D" binding="D" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="I" binding="I" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="T" binding="T" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="S" binding="S" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="Z" binding="Z" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="A" binding="A" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="P" binding="P" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="C" binding="C" left="0px" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="status" binding="speed" left="0px" padBottom="8px">Stopped</control>
<control type="button" binding="run">Run</control>
<control type="button" binding="step">Step</control>
<control type="button" binding="reset">Reset</control>
<control type="button" binding="setSpeed">Fast</control>
</control>
</panel>
<fdc id="fdcNEC" autoMount='{A: {name: "PC-DOS 1.00", path: "PCDOS100.json"}, B: {name: "VisiCalc", path: "visicalc.json"}}' width="320px" pos="left" padtop="16px">
<fdc id="fdcNEC" autoMount='{A: {name: "PC-DOS 1.00", path: "PCDOS100.json"}, B: {name: "VisiCalc", path: "visicalc.json"}}' width="320px" pos="left" padTop="16px">
<control type="container">
<control type="list" binding="listDrives"/>
<control type="list" binding="listDisks">
@ -60,14 +60,14 @@
<disk path="visicalc.json" href="http://www.bricklin.com/history/vclicense.htm" desc="VisiCalc License">VisiCalc</disk>
</control>
<control type="button" binding="loadDrive">Load</control>
<control type="description" binding="descDisk" padleft="8px"/>
<control type="description" binding="descDisk" padLeft="8px"/>
</control>
</fdc>
<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000" pos="left">
<control type="container" padtop="16px">
<control type="container" padTop="16px">
<control type="switches" label="SW1" binding="sw1" left="0px"/>
<control type="switches" label="SW2" binding="sw2" left="0px"/>
<control type="description" binding="swdesc" left="0px" padtop="8px"/>
<control type="description" binding="swdesc" left="0px" padTop="8px"/>
</control>
</chipset>
</machine>