First drop from SF code base

This commit is contained in:
David Schmidt 2018-09-16 21:01:16 -04:00
parent c967663475
commit 23a7881818
236 changed files with 95225 additions and 0 deletions

11
.project Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>davex</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View File

@ -1,2 +1,3 @@
# Davex
Davex is a command-line shell for the Apple II family of computers. Davex runs on ProDOS 8, and a subset of functionality is ported to SOS.

View File

@ -0,0 +1,10 @@
#
# Davex-default.properties
#
# Create a copy of this file in the same build directory and name it
# Davex.properties. That will allow you to change locations of
# support files for local builds.
#
# assemblerPath defines the place where the ca65 executable lives.
# You need to have ca65 at version V2.13.9 or higher.
assemblerPath=c:/dev/cc65/2.13.3/bin

241
build/build-xtn.xml Normal file
View File

@ -0,0 +1,241 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="Davex" default="xtn-all" basedir="..">
<property name="builddir" value="${basedir}/build" />
<property file="${builddir}/Davex.properties" />
<property file="${builddir}/Davex-default.properties" />
<property name="dist" value="${basedir}/dist" />
<property name="srcdir" value="${basedir}/src" />
<property name="projdir" value="${basedir}" />
<property name="obj" value="${basedir}/obj" />
<property name="obj2dir" value="${obj}/2" />
<property name="obj2xtndir" value="${obj}/2/xtn" />
<property name="obj3dir" value="${obj}/3" />
<property name="obj3xtndir" value="${obj}/3/xtn" />
<property name="acJarVersion" value="1.3.5.13-ac" />
<property name="acJarPath" value="${builddir}/lib" />
<property name="acJar" value="AppleCommander-${acJarVersion}.jar" />
<taskdef name="appleCommander" classname="com.webcodepro.applecommander.ui.AntTask" classpath="${acJarPath}/${acJar}"/>
<target name="xtn-all" description="Bulid everything for externals." depends="xtn-assemble, xtn-builddsk">
</target>
<target name="xtn-clean">
<!--
Clean up build artifacts
-->
<delete dir="${obj}" />
<!-- <delete dir="${dist}" /> -->
</target>
<target name="xtn-assemble" description="Assemble external source.">
<!--
Assemble the Davex externals source
-->
<echo message="Assembling Davex externals..."/>
<mkdir dir="${obj2xtndir}" />
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/alias.asm -o ${obj2xtndir}/alias.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/blist.asm -o ${obj2xtndir}/blist.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/brun.asm -o ${obj2xtndir}/brun.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/cal.asm -o ${obj2xtndir}/cal.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/cmpf.asm -o ${obj2xtndir}/cmpf.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/conp.asm -o ${obj2xtndir}/conp.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/deschw.asm -o ${obj2xtndir}/deschw.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/doscat.asm -o ${obj2xtndir}/doscat.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/du.asm -o ${obj2xtndir}/du.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/dump.asm -o ${obj2xtndir}/dump.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/ffind.asm -o ${obj2xtndir}/ffind.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/find.asm -o ${obj2xtndir}/find.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/fp.asm -o ${obj2xtndir}/fp.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/ftdump.asm -o ${obj2xtndir}/ftdump.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/fx80.asm -o ${obj2xtndir}/fx80.o" /></exec>
<!-- <exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/gsbuff.asm -o ${obj2xtndir}/gsbuff.o" /></exec> -->
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/hdr.asm -o ${obj2xtndir}/hdr.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/index.asm -o ${obj2xtndir}/index.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/iw2.asm -o ${obj2xtndir}/iw2.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/modchk.asm -o ${obj2xtndir}/modchk.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/mt.asm -o ${obj2xtndir}/mt.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/mx80.asm -o ${obj2xtndir}/mx80.o" /></exec>
<!-- <exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/net.asm -o ${obj2xtndir}/net.o" /></exec> -->
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/park.asm -o ${obj2xtndir}/park.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/pset.asm -o ${obj2xtndir}/pset.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/ptype.asm -o ${obj2xtndir}/ptype.o" /></exec>
<!-- <exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/s16alias.asm -o ${obj2xtndir}/s16alias.o" /></exec> -->
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/setdate.asm -o ${obj2xtndir}/setdate.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/setstart.asm -o ${obj2xtndir}/setstart.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/storage.asm -o ${obj2xtndir}/storage.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/strings.asm -o ${obj2xtndir}/strings.o" /></exec>
<!-- <exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/sysalias.asm -o ${obj2xtndir}/sysalias.o" /></exec> -->
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/vrestore.asm -o ${obj2xtndir}/vrestore.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/vstore.asm -o ${obj2xtndir}/vstore.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/what.asm -o ${obj2xtndir}/what.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/x10.asm -o ${obj2xtndir}/x10.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/xc.asm -o ${obj2xtndir}/xc.o" /></exec>
<!-- Diassembled Batch -->
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/aaf.asm -o ${obj2xtndir}/aaf.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/barcode.asm -o ${obj2xtndir}/barcode.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/chcase.asm -o ${obj2xtndir}/chcase.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/combine.asm -o ${obj2xtndir}/combine.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/crc.asm -o ${obj2xtndir}/crc.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/date.asm -o ${obj2xtndir}/date.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/dumpdhgr.asm -o ${obj2xtndir}/dumpdhgr.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/dumphgr.asm -o ${obj2xtndir}/dumphgr.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/fdump.asm -o ${obj2xtndir}/fdump.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/fi.asm -o ${obj2xtndir}/fi.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/fx80.asm -o ${obj2xtndir}/fx80.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/ld.asm -o ${obj2xtndir}/ld.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/list.asm -o ${obj2xtndir}/list.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/ls.asm -o ${obj2xtndir}/ls.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/lsrc.asm -o ${obj2xtndir}/lsrc.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/lw.asm -o ${obj2xtndir}/lw.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/puzzle.asm -o ${obj2xtndir}/puzzle.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/ram3.asm -o ${obj2xtndir}/ram3.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/split.asm -o ${obj2xtndir}/split.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/tm.asm -o ${obj2xtndir}/tm.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/tr.asm -o ${obj2xtndir}/tr.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/upc.asm -o ${obj2xtndir}/upc.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/viewdhr.asm -o ${obj2xtndir}/viewdhr.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/viewhr.asm -o ${obj2xtndir}/viewhr.o" /></exec>
<exec dir="${srcdir}" executable="${assemblerPath}/ca65"><arg line="-t none -I . -l ${srcdir}/xtn/2/wc.asm -o ${obj2xtndir}/wc.o" /></exec>
<echo message="Linking externals..."/>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o alias -m alias.map -C ${srcdir}/xtn/2/xtn_a000.cfg alias.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o blist -m blist.map -C ${srcdir}/xtn/2/xtn_a000.cfg blist.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o brun -m brun.map -C ${srcdir}/xtn/2/xtn_2000.cfg brun.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o cal -m cal.map -C ${srcdir}/xtn/2/xtn_a000.cfg cal.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o cmpf -m cmpf.map -C ${srcdir}/xtn/2/xtn_a000.cfg cmpf.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o conp -m conp.map -C ${srcdir}/xtn/2/xtn_9800.cfg conp.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o deschw -m deschw.map -C ${srcdir}/xtn/2/xtn_9000.cfg deschw.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o doscat -m doscat.map -C ${srcdir}/xtn/2/xtn_AC00.cfg doscat.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o du -m du.map -C ${srcdir}/xtn/2/xtn_9000.cfg du.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o dump -m dump.map -C ${srcdir}/xtn/2/xtn_a000.cfg dump.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o ffind -m ffind.map -C ${srcdir}/xtn/2/xtn_a000.cfg ffind.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o find -m find.map -C ${srcdir}/xtn/2/xtn_a000.cfg find.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o fp -m fp.map -C ${srcdir}/xtn/2/xtn_9800.cfg fp.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o ftdump -m ftdump.map -C ${srcdir}/xtn/2/xtn_9000.cfg ftdump.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o fx80 -m fx80.map -C ${srcdir}/xtn/2/xtn_9000.cfg fx80.o" /></exec>
<!-- <exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o gsbuff -m gsbuff.map -C ${srcdir}/xtn/2/xtn_a000.cfg gsbuff.o" /></exec> -->
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o hdr -m hdr.map -C ${srcdir}/xtn/2/xtn_a000.cfg hdr.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o index -m index.map -C ${srcdir}/xtn/2/xtn_a000.cfg index.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o iw2 -m iw2.map -C ${srcdir}/xtn/2/xtn_a000.cfg iw2.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o modchk -m modchk.map -C ${srcdir}/xtn/2/xtn_a000.cfg modchk.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o mt -m mt.map -C ${srcdir}/xtn/2/xtn_9000.cfg mt.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o mx80 -m mx80.map -C ${srcdir}/xtn/2/xtn_ae00.cfg mx80.o" /></exec>
<!-- <exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o net -m net.map -C ${srcdir}/xtn/2/xtn_9000.cfg net.o" /></exec> -->
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o park -m park.map -C ${srcdir}/xtn/2/xtn_a000.cfg park.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o pset -m pset.map -C ${srcdir}/xtn/2/xtn_a000.cfg pset.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o ptype -m ptype.map -C ${srcdir}/xtn/2/xtn_a000.cfg ptype.o" /></exec>
<!-- <exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o s16alias -m s16alias.map -C ${srcdir}/xtn/2/xtn_9000.cfg s16alias.o" /></exec> -->
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o setdate -m setdate.map -C ${srcdir}/xtn/2/xtn_a000.cfg setdate.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o setstart -m setstart.map -C ${srcdir}/xtn/2/xtn_9000.cfg setstart.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o storage -m storage.map -C ${srcdir}/xtn/2/xtn_a000.cfg storage.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o strings -m strings.map -C ${srcdir}/xtn/2/xtn_a000.cfg strings.o" /></exec>
<!-- <exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o sysalias -m sysalias.map -C ${srcdir}/xtn/2/xtn_a000.cfg sysalias.o" /></exec> -->
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o vrestore -m vrestore.map -C ${srcdir}/xtn/2/xtn_a800.cfg vrestore.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o vstore -m vstore.map -C ${srcdir}/xtn/2/xtn_a800.cfg vstore.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o what -m what.map -C ${srcdir}/xtn/2/xtn_9000.cfg what.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o x10 -m x10.map -C ${srcdir}/xtn/2/xtn_a000.cfg x10.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o xc -m xc.map -C ${srcdir}/xtn/2/xtn_9000.cfg xc.o" /></exec>
<!-- Diassembled Batch -->
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o aaf -m aaf.map -C ${srcdir}/xtn/2/xtn_9000.cfg aaf.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o barcode -m barcode.map -C ${srcdir}/xtn/2/xtn_a000.cfg barcode.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o chcase -m chcase.map -C ${srcdir}/xtn/2/xtn_9000.cfg chcase.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o combine -m combine.map -C ${srcdir}/xtn/2/xtn_ad00.cfg combine.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o crc -m crc.map -C ${srcdir}/xtn/2/xtn_9000.cfg crc.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o date -m date.map -C ${srcdir}/xtn/2/xtn_ac00.cfg date.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o dumpdhgr -m dumpdhgr.map -C ${srcdir}/xtn/2/xtn_a700.cfg dumpdhgr.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o dumphgr -m dumphgr.map -C ${srcdir}/xtn/2/xtn_a800.cfg dumphgr.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o fdump -m fdump.map -C ${srcdir}/xtn/2/xtn_a000.cfg fdump.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o fi -m fi.map -C ${srcdir}/xtn/2/xtn_a000.cfg fi.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o fx80 -m fx80.map -C ${srcdir}/xtn/2/xtn_9000.cfg fx80.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o ld -m ld.map -C ${srcdir}/xtn/2/xtn_9000.cfg ld.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o list -m list.map -C ${srcdir}/xtn/2/xtn_9000.cfg list.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o ls -m ls.map -C ${srcdir}/xtn/2/xtn_9000.cfg ls.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o lsrc -m lsrc.map -C ${srcdir}/xtn/2/xtn_9000.cfg lsrc.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o lw -m lw.map -C ${srcdir}/xtn/2/xtn_9000.cfg lw.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o puzzle -m puzzle.map -C ${srcdir}/xtn/2/xtn_a000.cfg puzzle.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o ram3 -m ram3.map -C ${srcdir}/xtn/2/xtn_ac00.cfg ram3.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o split -m split.map -C ${srcdir}/xtn/2/xtn_ac00.cfg split.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o tm -m tm.map -C ${srcdir}/xtn/2/xtn_a000.cfg tm.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o tr -m tr.map -C ${srcdir}/xtn/2/xtn_aa00.cfg tr.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o upc -m upc.map -C ${srcdir}/xtn/2/xtn_a000.cfg upc.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o viewdhr -m viewdhr.map -C ${srcdir}/xtn/2/xtn_ac00.cfg viewdhr.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o viewhr -m viewhr.map -C ${srcdir}/xtn/2/xtn_ae00.cfg viewhr.o" /></exec>
<exec dir="${obj2xtndir}" executable="${assemblerPath}/ld65"><arg line="-o wc -m wc.map -C ${srcdir}/xtn/2/xtn_a000.cfg wc.o" /></exec>
</target>
<target name="xtn-builddsk">
<!--
Put the assembled programs on the disk images - ProDOS 5-1/4"
-->
<echo message="Copying external files to ProDOS 5.25 disk image..."/>
<appleCommander command="p" input="${obj2xtndir}/alias" imagename="${dist}/DavexProDOS.dsk" filename="xtn/alias" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/du" imagename="${dist}/DavexProDOS.dsk" filename="xtn/du" type="p8c" address="32769"/>
<echo message="ProDOS 5.25 disk externals complete."/>
<!--
Put the assembled programs on the disk images - ProDOS 3-1/2"
-->
<echo message="Copying external files to ProDOS 3.5 disk image..."/>
<appleCommander command="p" input="${obj2xtndir}/alias" imagename="${dist}/DavexProDOS.po" filename="xtn/alias" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/blist" imagename="${dist}/DavexProDOS.po" filename="xtn/blist" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/brun" imagename="${dist}/DavexProDOS.po" filename="xtn/brun" type="sys" address="8192"/>
<appleCommander command="p" input="${obj2xtndir}/cal" imagename="${dist}/DavexProDOS.po" filename="xtn/cal" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/cmpf" imagename="${dist}/DavexProDOS.po" filename="xtn/cmpf" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/conp" imagename="${dist}/DavexProDOS.po" filename="xtn/conp" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/deschw" imagename="${dist}/DavexProDOS.po" filename="xtn/deschw" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/doscat" imagename="${dist}/DavexProDOS.po" filename="xtn/doscat" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/du" imagename="${dist}/DavexProDOS.po" filename="xtn/du" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/dump" imagename="${dist}/DavexProDOS.po" filename="xtn/dump" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/ffind" imagename="${dist}/DavexProDOS.po" filename="xtn/ffind" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/find" imagename="${dist}/DavexProDOS.po" filename="xtn/find" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/fp" imagename="${dist}/DavexProDOS.po" filename="xtn/fp" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/ftdump" imagename="${dist}/DavexProDOS.po" filename="xtn/ftdump" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/fx80" imagename="${dist}/DavexProDOS.po" filename="xtn/fx80" type="p8c" address="32769"/>
<!-- <appleCommander command="p" input="${obj2xtndir}/gsbuff" imagename="${dist}/DavexProDOS.po" filename="xtn/gsbuff" type="p8c" address="32769"/> -->
<appleCommander command="p" input="${obj2xtndir}/hdr" imagename="${dist}/DavexProDOS.po" filename="xtn/hdr" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/index" imagename="${dist}/DavexProDOS.po" filename="xtn/index" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/iw2" imagename="${dist}/DavexProDOS.po" filename="xtn/iw2" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/modchk" imagename="${dist}/DavexProDOS.po" filename="xtn/modchk" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/mt" imagename="${dist}/DavexProDOS.po" filename="xtn/mt" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/mx80" imagename="${dist}/DavexProDOS.po" filename="xtn/mx80" type="p8c" address="32769"/>
<!-- <appleCommander command="p" input="${obj2xtndir}/net" imagename="${dist}/DavexProDOS.po" filename="xtn/net" type="p8c" address="32769"/> -->
<appleCommander command="p" input="${obj2xtndir}/park" imagename="${dist}/DavexProDOS.po" filename="xtn/park" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/pset" imagename="${dist}/DavexProDOS.po" filename="xtn/pset" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/ptype" imagename="${dist}/DavexProDOS.po" filename="xtn/ptype" type="p8c" address="32769"/>
<!-- <appleCommander command="p" input="${obj2xtndir}/s16alias" imagename="${dist}/DavexProDOS.po" filename="xtn/s16alias" type="p8c" address="32769"/> -->
<appleCommander command="p" input="${obj2xtndir}/setdate" imagename="${dist}/DavexProDOS.po" filename="xtn/setdate" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/setstart" imagename="${dist}/DavexProDOS.po" filename="xtn/setstart" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/storage" imagename="${dist}/DavexProDOS.po" filename="xtn/storage" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/strings" imagename="${dist}/DavexProDOS.po" filename="xtn/strings" type="p8c" address="32769"/>
<!-- <appleCommander command="p" input="${obj2xtndir}/sysalias" imagename="${dist}/DavexProDOS.po" filename="xtn/sysalias" type="p8c" address="32769"/> -->
<appleCommander command="p" input="${obj2xtndir}/vrestore" imagename="${dist}/DavexProDOS.po" filename="xtn/vrestore" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/vstore" imagename="${dist}/DavexProDOS.po" filename="xtn/vstore" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/what" imagename="${dist}/DavexProDOS.po" filename="xtn/what" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/x10" imagename="${dist}/DavexProDOS.po" filename="xtn/x10" type="p8c" address="32769"/>
<!-- Diassembled Batch -->
<appleCommander command="p" input="${obj2xtndir}/aaf" imagename="${dist}/DavexProDOS.po" filename="xtn/aaf" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/barcode" imagename="${dist}/DavexProDOS.po" filename="xtn/barcode" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/chcase" imagename="${dist}/DavexProDOS.po" filename="xtn/chcase" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/combine" imagename="${dist}/DavexProDOS.po" filename="xtn/combine" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/crc" imagename="${dist}/DavexProDOS.po" filename="xtn/crc" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/date" imagename="${dist}/DavexProDOS.po" filename="xtn/date" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/dumpdhgr" imagename="${dist}/DavexProDOS.po" filename="xtn/dumpdhgr" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/dumphgr" imagename="${dist}/DavexProDOS.po" filename="xtn/dumphgr" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/fdump" imagename="${dist}/DavexProDOS.po" filename="xtn/fdump" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/fi" imagename="${dist}/DavexProDOS.po" filename="xtn/fi" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/fx80" imagename="${dist}/DavexProDOS.po" filename="xtn/fx80" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/ld" imagename="${dist}/DavexProDOS.po" filename="xtn/ld" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/list" imagename="${dist}/DavexProDOS.po" filename="xtn/list" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/ls" imagename="${dist}/DavexProDOS.po" filename="xtn/ls" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/lsrc" imagename="${dist}/DavexProDOS.po" filename="xtn/lsrc" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/lw" imagename="${dist}/DavexProDOS.po" filename="xtn/lw" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/puzzle" imagename="${dist}/DavexProDOS.po" filename="xtn/puzzle" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/ram3" imagename="${dist}/DavexProDOS.po" filename="xtn/ram3" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/split" imagename="${dist}/DavexProDOS.po" filename="xtn/split" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/tm" imagename="${dist}/DavexProDOS.po" filename="xtn/tm" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/tr" imagename="${dist}/DavexProDOS.po" filename="xtn/tr" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/upc" imagename="${dist}/DavexProDOS.po" filename="xtn/upc" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/viewdhr" imagename="${dist}/DavexProDOS.po" filename="xtn/viewdhr" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/viewhr" imagename="${dist}/DavexProDOS.po" filename="xtn/viewhr" type="p8c" address="32769"/>
<appleCommander command="p" input="${obj2xtndir}/wc" imagename="${dist}/DavexProDOS.po" filename="xtn/wc" type="p8c" address="32769"/>
<echo message="ProDOS 3.5 disk externals complete."/>
</target>
</project>

87
build/build.xml Normal file
View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="Davex-xtn" default="all" basedir="..">
<property name="builddir" value="${basedir}/build" />
<property file="${builddir}/Davex.properties" />
<property file="${builddir}/Davex-default.properties" />
<property name="dist" value="${basedir}/dist" />
<property name="srcdir" value="${basedir}/src" />
<property name="projdir" value="${basedir}" />
<property name="obj" value="${basedir}/obj" />
<property name="obj2dir" value="${obj}/2" />
<property name="obj2xtndir" value="${obj}/2/xtn" />
<property name="obj3dir" value="${obj}/3" />
<property name="obj3xtndir" value="${obj}/3/xtn" />
<property name="acJarVersion" value="1.3.5.13-ac" />
<property name="acJarPath" value="${builddir}/lib" />
<property name="acJar" value="AppleCommander-${acJarVersion}.jar" />
<taskdef name="appleCommander" classname="com.webcodepro.applecommander.ui.AntTask" classpath="${acJarPath}/${acJar}"/>
<import file="build-xtn.xml"/>
<target name="all" description="Bulid everything." depends="clean, assemble, builddsk, xtns"></target>
<target name="clean">
<!--
Clean up build artifacts
-->
<delete dir="${obj}" />
<!-- <delete dir="${dist}" /> -->
</target>
<target name="assemble" description="Assemble source.">
<!--
Assemble the Dav3x source
-->
<echo message="Assembling Dav3x source..."/>
<mkdir dir="${obj3xtndir}" />
<exec dir="${obj3dir}" executable="${assemblerPath}/ca65">
<arg line="-t none -I . -l ${srcdir}/Shell/3/dav3x.asm -o ${obj3dir}/dav3x.o" />
</exec>
<echo message="Linking Dav3x..."/>
<exec dir="${obj3dir}" executable="${assemblerPath}/ld65">
<arg line="-o DAV3X.SYSTEM -m dav3x.map -C ${srcdir}/Shell/3/dav3x.cfg dav3x.o" />
</exec>
<!--
Assemble the Davex source
-->
<echo message="Assembling Davex source..."/>
<mkdir dir="${obj2xtndir}" />
<exec dir="${srcdir}" executable="${assemblerPath}/ca65">
<arg line="-t none -I . -l ${srcdir}/Shell/2/davex.asm -o ${obj2dir}/davex.o" />
</exec>
<echo message="Linking Davex..."/>
<exec dir="${obj2dir}" executable="${assemblerPath}/ld65">
<arg line="-o DAVEX.SYSTEM -m davex.map -C ${srcdir}/Shell/2/davex.cfg davex.o" />
</exec>
</target>
<target name="builddsk">
<!--
Start disk images
-->
<delete file="${dist}/DavexSOS.dsk" />
<copy file="${builddir}/lib/DavexSOSBase.dsk" tofile="${dist}/DavexSOS.dsk" />
<!--
Put the assembled programs on the disk images - SOS
-->
<appleCommander command="p" input="${obj3dir}/DAV3X.SYSTEM" imagename="${dist}/DavexSOS.dsk" filename="SOS.INTERP" type="sys" address="8192"/>
<echo message="SOS 5.25 disk image complete."/>
<!--
Put the assembled programs on the disk images - ProDOS 5-1/4"
-->
<delete file="${dist}/DavexProDOS.dsk" />
<copy file="${builddir}/lib/DavexProDOSBase.dsk" tofile="${dist}/DavexProDOS.dsk" />
<echo message="Copying files to ProDOS 5.25 disk image..."/>
<appleCommander command="p" input="${obj2dir}/DAVEX.SYSTEM" imagename="${dist}/DavexProDOS.dsk" filename="DAVEX" type="sys" address="8192"/>
<echo message="ProDOS 5.25 disk image complete."/>
<!--
Put the assembled programs on the disk images - ProDOS 3-1/2"
-->
<delete file="${dist}/DavexProDOS.po" />
<copy file="${builddir}/lib/DavexProDOSBase.po" tofile="${dist}/DavexProDOS.po" />
<echo message="Copying files to ProDOS 3.5 disk image..."/>
<appleCommander command="p" input="${obj2dir}/DAVEX.SYSTEM" imagename="${dist}/DavexProDOS.po" filename="DAVEX" type="sys" address="8192"/>
<echo message="ProDOS 3.5 disk image complete."/>
</target>
<target name="xtns">
<ant antfile="build/build-xtn.xml" target="xtn-all"/>
</target>
</project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
build/lib/DavexSOSBase.dsk Normal file

Binary file not shown.

685
doc/Davex Xtn.rtf Normal file
View File

@ -0,0 +1,685 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f37\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f38\froman\fcharset238\fprq2 Times New Roman CE;}
{\f39\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f41\froman\fcharset161\fprq2 Times New Roman Greek;}{\f42\froman\fcharset162\fprq2 Times New Roman Tur;}{\f43\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f44\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f45\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f46\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f58\fmodern\fcharset238\fprq1 Courier New CE;}
{\f59\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f61\fmodern\fcharset161\fprq1 Courier New Greek;}{\f62\fmodern\fcharset162\fprq1 Courier New Tur;}{\f63\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f64\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f65\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f66\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}
{\f150\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f148\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
{\f149\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f151\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
{\f152\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f155\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f410\fmodern\fcharset0\fprq1 @MS Mincho Western;}
{\f408\fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f409\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f411\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f412\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f415\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025
\ltrch\fcs0 \fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}
{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\revtbl {Unknown;}}{\*\rsidtbl \rsid4805073}{\*\generator Microsoft Word 11.0.0000;}{\info{\operator .}{\creatim\yr2011\mo12\dy6\hr22\min18}{\revtim\yr2011\mo12\dy6\hr22\min18}{\version2}{\edmins0}{\nofpages12}{\nofwords3422}
{\nofchars19512}{\nofcharsws22889}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
\jcompress\viewkind4\viewscale100\rsidroot4805073 \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\qc \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Appendix\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2
Writing external DAVEX commands
\par
\par \hich\af2\dbch\af11\loch\f2 DAL Systems \hich\af2\dbch\af11\loch\f2 20\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 Feb\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 90\hich\af2\dbch\af11\loch\f2 Version
\hich\af2\dbch\af11\loch\f2 1.25
\par }\pard \ltrpar\ql \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par
\par \hich\af2\dbch\af11\loch\f2 This appendix is for assembly\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 language programmers\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
It explains the format of Davex external commands and the resources available to them\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 Three files are provided that should be \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 put\hich\af2\dbch\af11\loch\f2 " (\hich\af2\dbch\af11\loch\f2 included\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2
by external commands\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 these files are in Merlin format and will have to be modified some if you are using EDASM or some other assembler\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 1
\hich\af2\dbch\af11\loch\f2 ) "\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 defines entry points and locations provided \hich\af2\dbch\af11\loch\f2
by Davex\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ) "\hich\af2\dbch\af11\loch\f2 apple\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 defines entry points in the Apple ROM and some locations on zero page and page \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
and \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 ) "\hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s
\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 defines ProDOS \hich\af2\dbch\af11\loch\f2 8\hich\af2\dbch\af11\loch\f2 command numbers\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 error codes\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 and global\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 page locations\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 xc\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 is the source code for an }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0
\f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 empty}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 exte\hich\af2\dbch\af11\loch\f2 rnal command\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2
the best way to start a new command is by making a copy of \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 xc\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 ". \hich\af2\dbch\af11\loch\f2
Source code for the \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 du\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 external command is also provided as an example\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 An external Davex command is assembled to run below \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 000\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
External commands have a fixed \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 roughly\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 ending address to allow Davex to grow without overlapping previously\hich\af2\dbch\af11\loch\f2 -
\hich\af2\dbch\af11\loch\f2 assembled external commands\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Command files have filetype \hich\af2\dbch\af11\loch\f2 $2\hich\af2\dbch\af11\loch\f2 E\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 auxiliary type \hich\af2\dbch\af11\loch\f2 $8001\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 For compatibility with old versions of Davex\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
commands may also have filetype BIN\hich\af2\dbch\af11\loch\f2 .)
\par
\par \hich\af2\dbch\af11\loch\f2 External comm\hich\af2\dbch\af11\loch\f2 ands can have all the same kinds of parameters built\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 in commands can have\hich\af2\dbch\af11\loch\f2 .
\par
\par
\par \hich\af2\dbch\af11\loch\f2 Here is the format for an external command\hich\af2\dbch\af11\loch\f2 :
\par }\pard \ltrpar\ql \li1200\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1200\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 $60\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 RTS
\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 EE
\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 EE
\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx version \hich\af2\dbch\af11\loch\f2 # \hich\af2\dbch\af11\loch\f2 of command \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $34\hich\af2\dbch\af11\loch\f2 =
\hich\af2\dbch\af11\loch\f2 Version \hich\af2\dbch\af11\loch\f2 3.4\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 byte\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 recommended\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 use versions less than \hich\af2\dbch\af11\loch\f2 1.0\hich\af2\dbch\af11\loch\f2 for in\hich\af2\dbch\af11\loch\f2
complete versions\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx mimimum Davex version required \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 byte\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 use the version number for the Davex you are working with\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 unless you\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2
re sure your command works with earlier versions\hich\af2\dbch\af11\loch\f2 ) [\hich\af2\dbch\af11\loch\f2 see auxiliary version nibble below\hich\af2\dbch\af11\loch\f2 ]
\par \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx command characteristics \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 byte\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 40\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 col screen
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 6\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 80\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 col screen
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 5\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 //\hich\af2\dbch\af11\loch\f2 e or IIgs
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 4\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires \hich\af2\dbch\af11\loch\f2 //\hich\af2\dbch\af11\loch\f2 c
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 requires IIgs
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ..\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 reserved\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 use
\hich\af2\dbch\af11\loch\f2 0
\par
\par \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte pointer to ASCII descri\hich\af2\dbch\af11\loch\f2 ption text \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 or \hich\af2\dbch\af11\loch\f2 0
\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 Description must be in first \hich\af2\dbch\af11\loch\f2 512\hich\af2\dbch\af11\loch\f2 bytes of the object file and must be preceded by a length byte\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The author
\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s name or other identification should appear in this description for commands not distributed by DAL Systems\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 The
\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 what\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 comm\hich\af2\dbch\af11\loch\f2 and displays these descriptions\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2
be sure to test it on your commands\hich\af2\dbch\af11\loch\f2 .)
\par
\par \hich\af2\dbch\af11\loch\f2 load address \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 The address at which this file must be loaded\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 typically an exact page boundary that makes the code end shortly before \hich\af2\dbch\af11\loch\f2 $
\hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 000\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 execution address \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 D\hich\af2\dbch\af11\loch\f2 avex will JSR to the address stored here once the command is loaded at its load address\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 auxiliary minimum Davex version required \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 v\hich\af2\dbch\af11\loch\f2 1.22\hich\af2\dbch\af11\loch\f2 +]
\par \hich\af2\dbch\af11\loch\f2 The low nibble of this byte is an extension of the \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 minimum Davex version\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 byte above\hich\af2\dbch\af11\loch\f2
. \hich\af2\dbch\af11\loch\f2 For example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a command th\hich\af2\dbch\af11\loch\f2 at requires Davex version \hich\af2\dbch\af11\loch\f2 1.82\hich\af2\dbch\af11\loch\f2 or greater would have
\hich\af2\dbch\af11\loch\f2 $02\hich\af2\dbch\af11\loch\f2 in this byte\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 The high nibble of this byte is reserved and should be \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 for now
\hich\af2\dbch\af11\loch\f2 .)
\par
\par \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 bytes reserved for future extensions of the external command format \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 FILL WITH \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 parameter table \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 see below\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 p\hich\af2\dbch\af11\loch\f2 +
\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 p\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 number of parameters\hich\af2\dbch\af11\loch\f2 )
\par }\pard \ltrpar\ql \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2
bytes for each parameter\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 then \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 bytes of \hich\af2\dbch\af11\loch\f2 $00
\par
\par
\par \hich\af2\dbch\af11\loch\f2 Davex loads the external command at its load address \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 after checking that it would not overlap memory used by Davex\hich\af2\dbch\af11\loch\f2 ).
\hich\af2\dbch\af11\loch\f2 Davex then evaluates any parameters and calls the command\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s execution address AT LEAST once\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
If the command has any \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 wildpath\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 parameter\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
Davex expands the wildcards and calls the command once for each file that matches the wildcard\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 with}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 out}{
\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 reloading the external command\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 Even if your command does not take wildcards\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 do not assume that it will be reloaded whenever it is used\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 the \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 rep\hich\af2\dbch\af11\loch\f2 '
\hich\af2\dbch\af11\loch\f2 command may execute your command repeatedly without reloading it\hich\af2\dbch\af11\loch\f2 .)
\par
\par \hich\af2\dbch\af11\loch\f2 When the external command finishes its work\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it will normally RTS back to Davex\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If an error occurs
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it might JMP to xerr or to xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err instead\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 see below\hich\af2\dbch\af11\loch\f2
.)
\par
\par \hich\af2\dbch\af11\loch\f2 The parameter table is\hich\af2\dbch\af11\loch\f2 a list of two\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte entries\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 A double
\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 zero entry marks the end of the table\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The first byte of each pair is the option character for one parameter \hich\af2\dbch\af11\loch\f2 (
\hich\af2\dbch\af11\loch\f2 use \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 for parameters without any associated \hich\af2\dbch\af11\loch\f2 "-" \hich\af2\dbch\af11\loch\f2 character\hich\af2\dbch\af11\loch\f2 ).
\hich\af2\dbch\af11\loch\f2 The second byte is the type\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 If one wildcard\hich\af2\dbch\af11\loch\f2 pathname is allowed\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it must be the first parameter in the table\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
If two wildcard pathnames are allowed\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 they must be the first two parameters in the table\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 wildcard matching will take place on the first name
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and the text matching the wildcard will be s\hich\af2\dbch\af11\loch\f2 ubstituted into the second parameter whenever a wildcard character appears\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 All of the wildcard processing is invisible to external commands\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 The option characters in the parameter table must be in lower case \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 if they are letters\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and must have their hig
\hich\af2\dbch\af11\loch\f2 h bits on\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 Note that all \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 required\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 parameters \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2
parameters that are not associated with a dash and a character\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 must come before all other parameters in the table\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
even though the user no longer needs to type them in that order\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 Also\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a required pathname\hich\af2\dbch\af11\loch\f2 or string parameter may contain }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073
\hich\af2\dbch\af11\loch\f2 zero}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 characters\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 From the user\hich\af2\dbch\af11\loch\f2 '
\hich\af2\dbch\af11\loch\f2 s point of view\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 the parameter is optional\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 but it is treated internally as a string with no characters
\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The difference is important when your command decides how to act on the parameter\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s v\hich\af2\dbch\af11\loch\f2 alue
\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 If you do not want Davex to display each wildcard match before calling your command\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 use a NOP as the first executable byte of your code\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 Commands that always incorporate the pathname\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 passed to them into their output may want to do this
\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 The \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 what\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 command is a good example\hich\af2\dbch\af11\loch\f2 .)
\par
\par \hich\af2\dbch\af11\loch\f2 Note\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 When Davex prints a wildcard match\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it prints it to the SCREEN\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 never to a file or to the printer\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If you command would be useful for printing \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 tables\hich\af2\dbch\af11\loch\f2
" \hich\af2\dbch\af11\loch\f2 of information \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 something like \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 size\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 and
\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 what\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 do\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 you wil\hich\af2\dbch\af11\loch\f2
l probably want to use the NOP option and have your command print the filenames or pathnames itself\hich\af2\dbch\af11\loch\f2 .
\par
\par
\par \hich\af2\dbch\af11\loch\f2 Parameter types \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 defined in \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 globals\hich\af2\dbch\af11\loch\f2 "):
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 nil no value associated with option character
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 int\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte integer
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 int\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte intege
\hich\af2\dbch\af11\loch\f2 r \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 XY\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 high\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 low\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 int\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte integer
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AXY\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 highest\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 lowest\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 path ProDOS pathname \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 X
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 file type given after name\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wildpath ProDOS pathname allowing wildcards \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 string string value \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 yesno y\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 n \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 :
\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 no\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 yes\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ftype file type \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 devnum device number \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 ) (\hich\af2\dbch\af11\loch\f2 example
\hich\af2\dbch\af11\loch\f2 : ".\hich\af2\dbch\af11\loch\f2 62\hich\af2\dbch\af11\loch\f2 " = \hich\af2\dbch\af11\loch\f2 slot \hich\af2\dbch\af11\loch\f2 6\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 drive \hich\af2\dbch\af11\loch\f2 2
\hich\af2\dbch\af11\loch\f2 ):
\par \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 E\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 +
\hich\af2\dbch\af11\loch\f2 $60\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 For string and pathname values\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a pointer is passed in A and Y\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The data pointed to is a lengt
\hich\af2\dbch\af11\loch\f2 h\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed string\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 suitable for use in a ProDOS parameter block\hich\af2\dbch\af11\loch\f2 .
\par
\par
\par \hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 Resources available to external commands\hich\af2\dbch\af11\loch\f2 --
\par
\par \hich\af2\dbch\af11\loch\f2 External commands may use \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 filebuff\hich\af2\dbch\af11\loch\f2 ', '\hich\af2\dbch\af11\loch\f2 filebuff\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ',
\hich\af2\dbch\af11\loch\f2 and \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 filebuff\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 ', \hich\af2\dbch\af11\loch\f2 defined in GLOBALS\hich\af2\dbch\af11\loch\f2 ;
\hich\af2\dbch\af11\loch\f2 each one is \hich\af2\dbch\af11\loch\f2 $400\hich\af2\dbch\af11\loch\f2 bytes long\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 32\hich\af2\dbch\af11\loch\f2 bytes of zero page are\hich\af2\dbch\af11\loch\f2 reserved for XCs at \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 xczpage\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 The high bit of \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 xspeech\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 is on when a speech synthesizer is being used\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 XCs may use standard Monitor ROM routines for output \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 but not for input\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2
The following entry points into Davex are defined in the Globals file\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 AS\hich\af2\dbch\af11\loch\f2 SUME ALL REGISTERED ARE SCRAMBLED\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
EXCEPT AS DOCUMENTED BELOW\hich\af2\dbch\af11\loch\f2 .
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n
\hich\af2\dbch\af11\loch\f2 -- \hich\af2\dbch\af11\loch\f2 get value of parameter number A
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Use this subroutine to get the values of required parameters
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 ones with a \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 for the first byte of their pair in the parameter table\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 Before call
\hich\af2\dbch\af11\loch\f2 ing this routine\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 load the A register with a parameter number \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 the first parameter is \hich\af2\dbch\af11\loch\f2 0
\hich\af2\dbch\af11\loch\f2 ).
\par
\par \hich\af2\dbch\af11\loch\f2 For example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 a \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 rename\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 command would LDA
\hich\af2\dbch\af11\loch\f2 #0\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 JSR xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n to get the value of the first parameter\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 Then it would LDA \hich\af2\dbch\af11\loch\f2 #1\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 JSR xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n to get the value of the s
\hich\af2\dbch\af11\loch\f2 econd parameter\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 NOTE\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 When an external command gets control\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 LDA \hich\af2\dbch\af11\loch\f2 #0
\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 JSR xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 has just been done\hich\af2\dbch\af11\loch\f2 .
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ch
\hich\af2\dbch\af11\loch\f2 -- \hich\af2\dbch\af11\loch\f2 get value of parameter for option char in A
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Use this routine to get the value of an optional parameter
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 one that has a character in the first byte of its pair in the parameter table\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2
Load the A register with the character before calling this routine\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The character should be lowercase \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 if it\hich\af2\dbch\af11\loch\f2 '
\hich\af2\dbch\af11\loch\f2 s a l\hich\af2\dbch\af11\loch\f2 etter\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and have its high bit ON\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 If the parameter in question was not given on the command line\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 this routine will return with the carry flag set \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2
SEC\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 Otherwise the carry will be clear and the value of the parameter will be in the appropriate registers\hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A
\hich\af2\dbch\af11\loch\f2 ,\hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 ,\hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 see table of parameter types above\hich\af2\dbch\af11\loch\f2 ).
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xmess
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints an inline message\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2
ASCII text\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 followed by a \hich\af2\dbch\af11\loch\f2 $00\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 follows the JSR to this subroutine\hich\af2\dbch\af11\loch\f2 .
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ftype
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes filetype code in A and prints a three\hich\af2\dbch\af11\loch\f2 -
\hich\af2\dbch\af11\loch\f2 character filetype name\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 or \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 xx if the filetype in n\hich\af2\dbch\af11\loch\f2 ot known to Davex
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 the lists of known filetypes are stored in the \hich\af2\dbch\af11\loch\f2 %\hich\af2\dbch\af11\loch\f2 config file and in Davex itself\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
and the \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 ftype\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 command can be used to view and edit the user\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s list
\hich\af2\dbch\af11\loch\f2 ).
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 access
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes a ProDOS access byte and prints\hich\af2\dbch\af11\loch\f2 :
\par
\par \hich\af2\dbch\af11\loch\f2 rwndIB
\par
\par \hich\af2\dbch\af11\loch\f2 Only the letters c\hich\af2\dbch\af11\loch\f2 orresponding to bits set in the access byte are printed\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 blanks are printed for the others \hich\af2\dbch\af11\loch\f2 (
\hich\af2\dbch\af11\loch\f2 r\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 read\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 w\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 rename\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 d\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 delete\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 I\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 invisible\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 needs backup\hich\af2\dbch\af11\loch\f2 ).
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 2
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints a \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 -
\hich\af2\dbch\af11\loch\f2 byte value in decimal\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 AY contains the value \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 high byte
\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 No characters \hich\af2\dbch\af11\loch\f2 are printed before or after the number\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 3
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints a \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 -
\hich\af2\dbch\af11\loch\f2 byte value in decimal\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The number must be stored in xnum \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 lowest byte\hich\af2\dbch\af11\loch\f2 )
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 xnum\hich\af2\dbch\af11\loch\f2 +\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 middle byte\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 and xnum\hich\af2\dbch\af11\loch\f2 +\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 highest byte\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2
No characters are printed before or after the number\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 pady
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints a decimal number from NUM \hich\af2\dbch\af11\loch\f2 (
\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 right\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 justified in a field of Y\hich\af2\dbch\af11\loch\f2 +
\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 characters
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 pad
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Same as xprdec\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 3
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 except the number is right\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 justified in a field of \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 characters
\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 path
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 in lowercase
\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 a length\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed string pointed to by\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xbuild\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 local
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 AY must point to a partial pathname\hich\af2\dbch\af11\loch\f2 ;
\hich\af2\dbch\af11\loch\f2 builds a complete pathname by appending to the \hich\af2\dbch\af11\loch\f2 "%" \hich\af2\dbch\af11\loch\f2 directory name\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This will locate the
\hich\af2\dbch\af11\loch\f2 %\hich\af2\dbch\af11\loch\f2 config file\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 for example\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Returns AY pointing to the complete path
\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If you call this routine more than once\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 note that the same memory will be used to store the pathname\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 so the previous name will be erased\hich\af2\dbch\af11\loch\f2 .)
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 sd
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Entry\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 device number\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 prints\hich\af2\dbch\af11\loch\f2 : .\hich\af2\dbch\af11\loch\f2 sd\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
where s and d are the slot and drive of the given device number\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 drvr \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 input functions in Davex \hich\af2\dbch\af11\loch\f2 1.25\hich\af2\dbch\af11\loch\f2 +]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Provides calls to open\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
close\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and poll character devices\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Entry\hich\af2\dbch\af11\loch\f2 :
\hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 function\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Other parameters depend on the function\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
For convenience\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 ProDOS call numbers are used \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 as defined in MLI\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 GLOBALS
\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 S\hich\af2\dbch\af11\loch\f2 ).
\par
\par \hich\af2\dbch\af11\loch\f2 Slots are opened \hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 independently\hich\af2\dbch\af11\loch\f2 - \hich\af2\dbch\af11\loch\f2 for inp\hich\af2\dbch\af11\loch\f2 ut and output\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 Input is supported for Pascal devices\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but not for parallel cards\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 open a slot for output
\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 slot number \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2
for default\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS
\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 :
\hich\af2\dbch\af11\loch\f2 open a slot for input
\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 slot number
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS
\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 close\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 close a slot for output
\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2
for xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 close\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 :
\hich\af2\dbch\af11\loch\f2 close a slot for input
\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS
\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 send a character
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 bits significant\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 character to be written
\par \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number from the open
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS
\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 :
\hich\af2\dbch\af11\loch\f2 send a character \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 all \hich\af2\dbch\af11\loch\f2 8\hich\af2\dbch\af11\loch\f2 bits significant\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 inputs and outputs as for mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 ab\hich\af2\dbch\af11\loch\f2 ove
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 see if device is ready to accept output
\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 successful
\par \hich\af2\dbch\af11\loch\f2 Bit \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 of A is \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if device is ready to receive
\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 other bits are undefined
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 error code \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for xProDOS
\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 $80
\par \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 character successfully read
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 if no character ready
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 >\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 if error \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2
for xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 )
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xredirect
\par \hich\af2\dbch\af11\loch\f2 Contro\hich\af2\dbch\af11\loch\f2 ls suspension of I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 multiple levels of suspension are allowed
\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 one \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 restore\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 is required for each \hich\af2\dbch\af11\loch\f2 "
\hich\af2\dbch\af11\loch\f2 suspend\hich\af2\dbch\af11\loch\f2 ").
\par
\par \hich\af2\dbch\af11\loch\f2 Input in A\hich\af2\dbch\af11\loch\f2 :
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 determine current suspension level
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection
\par \hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 : (\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 FF\hich\af2\dbch\af11\loch\f2 ): \hich\af2\dbch\af11\loch\f2 restore I\hich\af2\dbch\af11\loch\f2 /
\hich\af2\dbch\af11\loch\f2 O redirectio\hich\af2\dbch\af11\loch\f2 n
\par
\par \hich\af2\dbch\af11\loch\f2 Output in A\hich\af2\dbch\af11\loch\f2 :
\par \hich\af2\dbch\af11\loch\f2 N flag \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 bit \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if output is being redirected
\par \hich\af2\dbch\af11\loch\f2 V flag \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 bit \hich\af2\dbch\af11\loch\f2 6\hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if input is being redirected
\par
\par \hich\af2\dbch\af11\loch\f2 xpercent
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes two \hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 -
\hich\af2\dbch\af11\loch\f2 byte values\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 one in AXY and one in xnum\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Returns \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 in A
\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 the percentage that AXY is of xnum \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 bytes\hich\af2\dbch\af11\loch\f2 ).
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xyesno
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints \hich\af2\dbch\af11\loch\f2 '? \hich\af2\dbch\af11\loch\f2 (
\hich\af2\dbch\af11\loch\f2 y\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 and waits for a Y or N to be typed\hich\af2\dbch\af11\loch\f2 .
\par \hich\af2\dbch\af11\loch\f2 Returns\hich\af2\dbch\af11\loch\f2 :
\par \hich\af2\dbch\af11\loch\f2 No\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $00\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Z flag\hich\af2\dbch\af11\loch\f2 =
\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 BEQ will be taken\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 Yes\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $80\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Z flag\hich\af2\dbch\af11\loch\f2 =
\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 BNE will be taken\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 See xredirect notes in xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 description\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.2\hich\af2\dbch\af11\loch\f2 +]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Just like xyesno\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
except that the SPACE and RETURN keys are also accepted\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Before calling this routine\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 load the A register with a \hich\af2\dbch\af11\loch\f2 '
\hich\af2\dbch\af11\loch\f2 y\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 or an \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
If the user types a SPACE or RETURN\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 it is translated into the character you passed\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 should be used\hich\af2\dbch\af11\loch\f2 when there is a clear and }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2
safe}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 default choice at a yes\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 no question\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
The default should never be destructive\hich\af2\dbch\af11\loch\f2 ! \hich\af2\dbch\af11\loch\f2 If there is no clear default choice\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2
t try to outguess the user\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 just use xyesno\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 To asking a yes\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 no question\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 you should call xredirect wi\hich\af2\dbch\af11\loch\f2 th A
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 to suspend any active I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 print the prompt
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 call xyesno or xyesno\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 call xredirect with A\hich\af2\dbch\af11\loch\f2 =-\hich\af2\dbch\af11\loch\f2 1
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 FF\hich\af2\dbch\af11\loch\f2 )\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and then act on the answer to the question\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 If you don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t call xredirect\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 the question may get printed or sent to a disk file\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 and the a\hich\af2\dbch\af11\loch\f2 nswer to the question may come from an exec file\hich\af2\dbch\af11\loch\f2 !
\par
\par }\pard \ltrpar\ql \li2160\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin2160\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 lda \hich\af2\dbch\af11\loch\f2 #1
\par \hich\af2\dbch\af11\loch\f2 jsr xredirect
\par \hich\af2\dbch\af11\loch\f2 jsr xmess
\par \hich\af2\dbch\af11\loch\f2 asc \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 Okay to detonate mouse\hich\af2\dbch\af11\loch\f2 "
\par \hich\af2\dbch\af11\loch\f2 dfb \hich\af2\dbch\af11\loch\f2 0
\par
\par \hich\af2\dbch\af11\loch\f2 lda \hich\af2\dbch\af11\loch\f2 #\hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 n\hich\af2\dbch\af11\loch\f2 "
\par \hich\af2\dbch\af11\loch\f2 jsr xyesno\hich\af2\dbch\af11\loch\f2 2
\par
\par \hich\af2\dbch\af11\loch\f2 php \hich\af2\dbch\af11\loch\f2 ;\hich\af2\dbch\af11\loch\f2 save Z flag for BEQ\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 BNE
\par \hich\af2\dbch\af11\loch\f2 lda \hich\af2\dbch\af11\loch\f2 #\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1
\par \hich\af2\dbch\af11\loch\f2 jsr xredirect
\par \hich\af2\dbch\af11\loch\f2 plp
\par
\par \hich\af2\dbch\af11\loch\f2 beq TheySaidNo
\par \hich\af2\dbch\af11\loch\f2 ...
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xgetln
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 get an input line and place it in string\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 NOT string\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 this was documented wrong before\hich\af2\dbch\af11\loch\f2 ] \hich\af2\dbch\af11\loch\f2 zero
\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 terminated \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 there is also a length byte at string\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 ).
\hich\af2\dbch\af11\loch\f2 Returns SEC if input was cancelled by Ctrl\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This is the same string that Davex uses for the command lin
\hich\af2\dbch\af11\loch\f2 e\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 so a command that uses this call must preserve and restore the contents of this buffer \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 256
\hich\af2\dbch\af11\loch\f2 bytes starting at string\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 this is actually overkill by a few bytes\hich\af2\dbch\af11\loch\f2 )].
\hich\af2\dbch\af11\loch\f2 Note that the up and down arrows \hich\af2\dbch\af11\loch\f2 *\hich\af2\dbch\af11\loch\f2 will\hich\af2\dbch\af11\loch\f2 * \hich\af2\dbch\af11\loch\f2 allow the user to scroll through the command his
\hich\af2\dbch\af11\loch\f2 tory if this call is used\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 A BETTER GETLN ROUTINE WILL BE AVAILABLE IN DAVEX \hich\af2\dbch\af11\loch\f2 1.3\hich\af2\dbch\af11\loch\f2 :
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 PLANNED FOR DAVEX \hich\af2\dbch\af11\loch\f2 1.3\hich\af2\dbch\af11\loch\f2 ]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 AY
\hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 address of input buffer \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 provided by your command\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 X \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 length of the buffer
\par \hich\af2\dbch\af11\loch\f2 Output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 length\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 zero\hich\af2\dbch\af11\loch\f2 -
\hich\af2\dbch\af11\loch\f2 terminated s\hich\af2\dbch\af11\loch\f2 tring in buffer
\par
\par \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 reads lines of text from an input device\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Input will often come from the keyboard
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but it can come from an exec file or a peripheral device\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If you want to force input to come from the keyboard\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 use xredirect to suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redir\hich\af2\dbch\af11\loch\f2 ection before calling xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2
and to restore it afterwards\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If you print a prompt before getting the input\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 be sure to print the prompt AFTER suspending I
\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection\hich\af2\dbch\af11\loch\f2 .)
\par
\par \hich\af2\dbch\af11\loch\f2 Unlike xgetln\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 the up and down arrows \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for history scrolling\hich\af2\dbch\af11\loch\f2 )
\hich\af2\dbch\af11\loch\f2 are disabled during \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 Note that the maximum number of characters in the input string is two less than the size of the buffer\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 since one byte is used for the length of the string and one
\hich\af2\dbch\af11\loch\f2 $00\hich\af2\dbch\af11\loch\f2 byte marks the end of the string\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 xgetln\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2
s behavior is undefined if it is ca\hich\af2\dbch\af11\loch\f2 lled with X less than \hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xbell
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Sound a warning bell \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2
a ProDOS\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 style \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 blat\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 or a system \hich\af2\dbch\af11\loch\f2 "
\hich\af2\dbch\af11\loch\f2 beep\hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 depending on \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 config \hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 b
\hich\af2\dbch\af11\loch\f2 ").
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xdowncase
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 If character in A is a capital letter\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 changes it into a lowercase letter \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 always sets bit \hich\af2\dbch\af11\loch\f2 7\hich\af2\dbch\af11\loch\f2 ). \hich\af2\dbch\af11\loch\f2 X and Y are preserved
\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 A is preserved or capitalized\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This routine always turns on the high bit of the character in A\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xplural
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes two\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2
byte value in AY and \hich\af2\dbch\af11\loch\f2 prints \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 if the value is not equal to \hich\af2\dbch\af11\loch\f2 1
\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Let\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s not have any more \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 files found
\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 messages\hich\af2\dbch\af11\loch\f2 !
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xcheck\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wait
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Returns with SEC if the user has pressed ESC\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 This is a SOFT ABORT if your command supports it\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 wildcard expansion and further command\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 line processi
\hich\af2\dbch\af11\loch\f2 ng\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 if any\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 will continue\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If the user hits Ctrl
\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 C or Apple\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 period\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 this routine will print \hich\af2\dbch\af11\loch\f2 "***
\hich\af2\dbch\af11\loch\f2 aborted\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 and will clean up and return to the command prompt\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 The user can also PAUSE and single\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 step the screen by hitting SPACE\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This routine will call pol
\hich\af2\dbch\af11\loch\f2 l\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 io \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 for print spooling\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 while the screen is frozen
\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Also\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Apple\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 H will do a screen dump \hich\af2\dbch\af11\loch\f2 (
\hich\af2\dbch\af11\loch\f2 except on II\hich\af2\dbch\af11\loch\f2 +).
\par
\par \hich\af2\dbch\af11\loch\f2 NOTE\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 If an external command calls xcheck\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wait\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
it should do it exactly once per line printed\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Test your command for reasonable behavior by singl\hich\af2\dbch\af11\loch\f2 e\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2
stepping the output with the space bar\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xpr\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 date\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ay
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes standard ProDOS date word in AY and prints date in the form dd
\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 mmm\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 yy\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If AY\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 prints \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 <\hich\af2\dbch\af11\loch\f2 no date\hich\af2\dbch\af11\loch\f2 >\hich\af2\dbch\af11\loch\f2 " \hich\af2\dbch\af11\loch\f2 instead
\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Question marks are printed for any parts of the date that have illegal values\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xpr\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 t\hich\af2\dbch\af11\loch\f2 ime\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ay
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Takes standard ProDOS time word in AY and prints time in the form hh
\hich\af2\dbch\af11\loch\f2 :\hich\af2\dbch\af11\loch\f2 mm xM\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 If AY\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
prints blanks instead\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints ProDOS error message from A and aborts to the command line
\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This routine closes any files you opened \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 provided you didn\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t fiddle with LEVEL
\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and cleans up the stack\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 You generally don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t have to worry about cleaning things up
\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 Input and output redirection are cancelled\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but print spooling is not disturbed\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 er
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prints ProDOS error without a bell and returns \hich\af2\dbch\af11\loch\f2 (
\hich\af2\dbch\af11\loch\f2 does N\hich\af2\dbch\af11\loch\f2 OT abort\hich\af2\dbch\af11\loch\f2 ).
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xerr
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Aborts to Davex\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 s command
\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 line prompt\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Use this routine if you print an error message \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 with xmess
\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 and want to abort like xProDOS\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err would\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2
Note that the error message may be redirected to a file or printer\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 You may want to call xredirect with A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 to
\hich\af2\dbch\af11\loch\f2 suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection before calling xmess to print the error\hich\af2\dbch\af11\loch\f2 .)
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xpush\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 level
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Prepares to open a new directory level\hich\af2\dbch\af11\loch\f2 ;
\hich\af2\dbch\af11\loch\f2 must be called before dir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup is called\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Opens a new directory level\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 Call xpush\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 level first\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Use xread\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 dir to read entri
\hich\af2\dbch\af11\loch\f2 es from the directory\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Call xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 finish when there are no more entries\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 On entry to xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A and Y should point to a complete pathname or a partial pathname RELEATIVE TO THE PREFIX
\hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 compare xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ).
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.23\hich\af2\dbch\af11\loch\f2 +]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Just like xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 s
\hich\af2\dbch\af11\loch\f2 etup\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but the pathname pointed to by AY should be either \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 )
\hich\af2\dbch\af11\loch\f2 complete or \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 partial RELEATIVE TO THE DIRECTORY ALREADY OPEN\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 This is useful for commands that traverse a subdirectory structure\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 since you can just call this routine with the directory name\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 finish
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Closes the current directory level and re\hich\af2\dbch\af11\loch\f2 -
\hich\af2\dbch\af11\loch\f2 opens the previous one\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 if one was open\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 To exit normally\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 you must call this routine once for each call to xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup you make\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 If you jump to xerr or xProDOS
\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 err\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 don\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t worry about it\hich\af2\dbch\af11\loch\f2 .)
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xread\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 di\hich\af2\dbch\af11\loch\f2 r
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Reads one entry from the current directory\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 opened with xdir\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 setup\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Returns SEC if there were no more entries in the current directory
\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The directory entry is stored at \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 catbuff\hich\af2\dbch\af11\loch\f2 ".
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xpoll\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 io
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 Should be called while waiting for keyboard input\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 This gives\hich\af2\dbch\af11\loch\f2 Davex a chance\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 for example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 to send data from spooled files to the printer
\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 This routine is called automatically during xcheck\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 wait\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 xrdkey
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and xgetln calls\hich\af2\dbch\af11\loch\f2 .) \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and P are PRESERVED\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Also\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 xpoll\hich\af2\dbch\af11\loch\f2 _
\hich\af2\dbch\af11\loch\f2 io increments the two\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 byte random number on zero\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 page \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 $4
\hich\af2\dbch\af11\loch\f2 E and \hich\af2\dbch\af11\loch\f2 $4\hich\af2\dbch\af11\loch\f2 F\hich\af2\dbch\af11\loch\f2 ).
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xmmgr
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 A crude memory manager\hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2
allows external commands to use the space between the end of Davex and the beginning of the external command\hich\af2\dbch\af11\loch\f2 . (\hich\af2\dbch\af11\loch\f2 Assemble external commands to end as close to \hich\af2\dbch\af11\loch\f2 $
\hich\af2\dbch\af11\loch\f2 B\hich\af2\dbch\af11\loch\f2 000\hich\af2\dbch\af11\loch\f2 as possible to maximize this free space\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 )
\par
\par \hich\af2\dbch\af11\loch\f2 Input in X\hich\af2\dbch\af11\loch\f2 :
\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 close free all dynamic memory
\par
\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open alloc A pages from low mem\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 out of mem
\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 return A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 st page
\par
\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read return number of free pages in A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0
\par
\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 gfinfo return lowest free page number into A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0
\par
\par \hich\af2\dbch\af11\loch\f2 mli\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 write set highest available page to A
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xpmgr
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 PathManager\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2
performs common operations on pathnames\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The format of a call is\hich\af2\dbch\af11\loch\f2 :
\par
\par \hich\af2\dbch\af11\loch\f2 jsr xpmgr
\par \hich\af2\dbch\af11\loch\f2 dfb COMMAND
\par \hich\af2\dbch\af11\loch\f2 dw PARM\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 ,\hich\af2\dbch\af11\loch\f2 PARM\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 ]
\par
\par \hich\af2\dbch\af11\loch\f2 COMMAND is one of the following\hich\af2\dbch\af11\loch\f2 :
\par
\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 appay
\par \hich\af2\dbch\af11\loch\f2 appends path at A\hich\af2\dbch\af11\loch\f2 Y to path at PARM\hich\af2\dbch\af11\loch\f2 1
\par
\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 appch
\par \hich\af2\dbch\af11\loch\f2 appends character in A to path at PARM\hich\af2\dbch\af11\loch\f2 1
\par
\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 up
\par \hich\af2\dbch\af11\loch\f2 removes one segment from end of path at PARM\hich\af2\dbch\af11\loch\f2 1
\par
\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 slashif
\par \hich\af2\dbch\af11\loch\f2 adds \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 ' \hich\af2\dbch\af11\loch\f2 to end of path at PARM\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 if it doesn
\hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 t already end
\par \hich\af2\dbch\af11\loch\f2 in \hich\af2\dbch\af11\loch\f2 '\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 '
\par
\par \hich\af2\dbch\af11\loch\f2 pm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 copy
\par \hich\af2\dbch\af11\loch\f2 copie\hich\af2\dbch\af11\loch\f2 s length\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 prefixed path from PARM\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 to PARM\hich\af2\dbch\af11\loch\f2 2
\par \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.2\hich\af2\dbch\af11\loch\f2 +!]
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xgetnump \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v
\hich\af2\dbch\af11\loch\f2 1.1\hich\af2\dbch\af11\loch\f2 +]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 none
\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 number of parameters given for command
\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 including all required parameters\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 even if they are
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 length strings or pathnames\hich\af2\dbch\af11\loch\f2 ).
\par \hich\af2\dbch\af11\loch\f2 \hich\af2\dbch\af11\loch\f2 X and Y are preserved\hich\af2\dbch\af11\loch\f2 .
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xrdkey \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v
\hich\af2\dbch\af11\loch\f2 1.1\hich\af2\dbch\af11\loch\f2 +]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2
character under cursor \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 normally use a blank \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 key pressed \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 high bit on\hich\af2\dbch\af11\loch\f2 ).
\par
\par \hich\af2\dbch\af11\loch\f2 Call this routine }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 instead}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2
of using ROM routines for input\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 For example\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 RDKEY\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 RDCHAR
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 and GETLN are not\hich\af2\dbch\af11\loch\f2 guaranteed to work correctly\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
Note that input will may come from an exec file rather than from the keyboard\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 unless you use xredirect to suspend I\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 O redirection
\hich\af2\dbch\af11\loch\f2 .
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xdirty \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v
\hich\af2\dbch\af11\loch\f2 1.1\hich\af2\dbch\af11\loch\f2 +]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 No inputs or outputs\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
Sets a flag to force Davex to try to re\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 save\hich\af2\dbch\af11\loch\f2 the \hich\af2\dbch\af11\loch\f2 %\hich\af2\dbch\af11\loch\f2 config information\hich\af2\dbch\af11\loch\f2 . (
\hich\af2\dbch\af11\loch\f2 The attempted re\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 saving happens before command prompts\hich\af2\dbch\af11\loch\f2 .)
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xprint\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 ver
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 version number in A
\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2 $34\hich\af2\dbch\af11\loch\f2 prints \hich\af2\dbch\af11\loch\f2 "\hich\af2\dbch\af11\loch\f2 v\hich\af2\dbch\af11\loch\f2 3.4\hich\af2\dbch\af11\loch\f2 "
\par \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 all registers scrambled\hich\af2\dbch\af11\loch\f2 )
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2
AY points to pathname of a file
\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 file reference number
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 ProDOS error code
\par
\par \hich\af2\dbch\af11\loch\f2 xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open and xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read provide a way to read text and AppleWorks Word Processor \hich\af2\dbch\af11\loch\f2 (
\hich\af2\dbch\af11\loch\f2 AWP\hich\af2\dbch\af11\loch\f2 ) \hich\af2\dbch\af11\loch\f2 files without caring which kind of file is which\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 The resulting stream of data
\par
\par \hich\af2\dbch\af11\loch\f2 Additional \hich\af2\dbch\af11\loch\f2 filetypes may be interpreted in the future\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 In general\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
these routines perform a reasonable mapping from some non\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 text files into a legible sequentially\hich\af2\dbch\af11\loch\f2 -\hich\af2\dbch\af11\loch\f2 readable format\hich\af2\dbch\af11\loch\f2 .
\par
\par \hich\af2\dbch\af11\loch\f2 Warning\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Do not attempt to open more than one file at a time using xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 .
\hich\af2\dbch\af11\loch\f2 It \hich\af2\dbch\af11\loch\f2 is not currently supported\hich\af2\dbch\af11\loch\f2 .
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par \hich\af2\dbch\af11\loch\f2 xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 read
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 A
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 reference number returned from xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open
\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 character
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A \hich\af2\dbch\af11\loch\f2 = \hich\af2\dbch\af11\loch\f2 ProDOS error code
\par
\par \hich\af2\dbch\af11\loch\f2 Returns the next character from a file opened with xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 .
\par \hich\af2\dbch\af11\loch\f2 No special way is provided to close a \hich\af2\dbch\af11\loch\f2 file opened with xfman\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 open\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2
close with a ProDOS call if necessary\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 This may be inadequate if these file manager routines are ever enhanced to deal with more than one file open at a time\hich\af2\dbch\af11\loch\f2 .
\par
\par }\pard \ltrpar\ql \li960\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin960\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 xshell\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 info
\hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 Davex v\hich\af2\dbch\af11\loch\f2 1.25\hich\af2\dbch\af11\loch\f2 +]
\par }\pard \ltrpar\ql \li1440\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin1440\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073 \hich\af2\dbch\af11\loch\f2 input\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 X
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 request code
\par \hich\af2\dbch\af11\loch\f2 output\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 CLC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 requested information in registers\hich\af2\dbch\af11\loch\f2 /\hich\af2\dbch\af11\loch\f2 etc
\hich\af2\dbch\af11\loch\f2 .
\par \hich\af2\dbch\af11\loch\f2 SEC\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 requested information not available
\par
\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get Davex version in A\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Y\hich\af2\dbch\af11\loch\f2
.
\par \hich\af2\dbch\af11\loch\f2 For version \hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 a\hich\af2\dbch\af11\loch\f2 .\hich\af2\dbch\af11\loch\f2 bc\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 A\hich\af2\dbch\af11\loch\f2 =
\hich\af2\dbch\af11\loch\f2 $\hich\af2\dbch\af11\loch\f2 ab and Y\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 $0\hich\af2\dbch\af11\loch\f2 c\hich\af2\dbch\af11\loch\f2 .
\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 1\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get alias buffer \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 =
\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 size in pages\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 2\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get history buffer \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY\hich\af2\dbch\af11\loch\f2 =
\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 size in pages\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 3\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get internal filetype table \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 )
\par \hich\af2\dbch\af11\loch\f2 X\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 4\hich\af2\dbch\af11\loch\f2 : \hich\af2\dbch\af11\loch\f2 Get internal filetype name table \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 AY
\hich\af2\dbch\af11\loch\f2 =\hich\af2\dbch\af11\loch\f2 address\hich\af2\dbch\af11\loch\f2 )
\par }\pard \ltrpar\ql \li600\ri600\nowidctlpar\wrapdefault\faauto\rin600\lin600\itap0 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\par
\par \hich\af2\dbch\af11\loch\f2 --\hich\af2\dbch\af11\loch\f2 notes\hich\af2\dbch\af11\loch\f2 --
\par
\par \hich\af2\dbch\af11\loch\f2 External commands should not open any files below }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid4805073 \hich\af2\dbch\af11\loch\f2 stdlevel}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid4805073
\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 which is the current ProDOS file level when the shell \hich\af2\dbch\af11\loch\f2 executes an XC\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2
Davex automatically closes any files open at or above stdlevel when the external command finishes\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 Davex guarantees that an XC will be able to open \hich\af2\dbch\af11\loch\f2 3
\hich\af2\dbch\af11\loch\f2 files\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 but it does not guarantee any more than that \hich\af2\dbch\af11\loch\f2 (\hich\af2\dbch\af11\loch\f2 Davex may have up to \hich\af2\dbch\af11\loch\f2 5
\hich\af2\dbch\af11\loch\f2 files open a\hich\af2\dbch\af11\loch\f2 lready \hich\af2\dbch\af11\loch\f2 [\hich\af2\dbch\af11\loch\f2 spooling\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 exec\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 output redirection to disk\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 wildcard expansion and maybe one more in the future\hich\af2\dbch\af11\loch\f2 ]\hich\af2\dbch\af11\loch\f2 ; \hich\af2\dbch\af11\loch\f2
the ProDOS limit is \hich\af2\dbch\af11\loch\f2 8\hich\af2\dbch\af11\loch\f2 open files\hich\af2\dbch\af11\loch\f2 ).
\par
\par \hich\af2\dbch\af11\loch\f2 When an external command gets control at its execution address\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 Davex has just finished calling xgetparm\hich\af2\dbch\af11\loch\f2 _\hich\af2\dbch\af11\loch\f2 n for par
\hich\af2\dbch\af11\loch\f2 ameter number \hich\af2\dbch\af11\loch\f2 0\hich\af2\dbch\af11\loch\f2 . \hich\af2\dbch\af11\loch\f2 So\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2 for example\hich\af2\dbch\af11\loch\f2 ,
\hich\af2\dbch\af11\loch\f2 a command whose first parameter is a pathname may start out by storing A and Y into a ProDOS parameter block\hich\af2\dbch\af11\loch\f2 , \hich\af2\dbch\af11\loch\f2
since AY will have the address of the value of the first parameter\hich\af2\dbch\af11\loch\f2 .
\par }}

37
doc/Davex.html Normal file
View File

@ -0,0 +1,37 @@
<html>
<head>
<title>Davex Project Page</title>
</head>
<body>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://sourceforge.net/p/davex/home/Home/">
<center>
<a href="http://sourceforge.net/p/davex/home/Home/">[Davex Home Page]</a>
</center>
<hr>
<h1>
<center>
Davex
</center>
</h1>
<hr>
<p>
The documentation for the Davex project is maintained on the SourceForge site.
You should have been immediately redirected there; click on the following link
<a href="http://sourceforge.net/p/davex/home/Home/">(http://sourceforge.net/p/davex/home/Home/)</a>
if not.
</p>
<hr>
<center>
<a href="http://sourceforge.net/p/davex/home/Home/">[Davex Home Page]</a>
</center>
</body>
</html>

683
doc/Davex.rtf Normal file
View File

@ -0,0 +1,683 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}{\f37\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f48\froman\fcharset238\fprq2 Times New Roman CE;}
{\f49\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f51\froman\fcharset161\fprq2 Times New Roman Greek;}{\f52\froman\fcharset162\fprq2 Times New Roman Tur;}{\f53\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f54\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f55\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f56\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f68\fmodern\fcharset238\fprq1 Courier New CE;}
{\f69\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f71\fmodern\fcharset161\fprq1 Courier New Greek;}{\f72\fmodern\fcharset162\fprq1 Courier New Tur;}{\f73\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f74\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f75\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f76\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f160\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};}
{\f158\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f159\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f161\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};}
{\f162\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f165\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f420\fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f418\fmodern\fcharset238\fprq1 @MS Mincho CE;}
{\f419\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f421\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f422\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f425\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
\fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 \snext0 \styrsid5266641 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af11\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}
{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid396942834\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713
\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715
\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713
\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715
\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713
\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715
\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid433676221}{\list\listtemplateid-1576644568\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative
\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid521096248}{\list\listtemplateid1273681340\listhybrid{\listlevel
\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel
\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel
\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel
\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel
\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel
\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel
\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel
\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname
;}\listid948514832}}{\*\listoverridetable{\listoverride\listid521096248\listoverridecount0\ls1}{\listoverride\listid948514832\listoverridecount0\ls2}{\listoverride\listid433676221\listoverridecount0\ls3}}{\*\rsidtbl \rsid1784962\rsid3232662\rsid4679153
\rsid5266641\rsid10968403\rsid12387617\rsid15084009}{\*\generator Microsoft Word 11.0.0000;}{\info{\title ==============================================}{\author .}{\operator .}{\creatim\yr2011\mo12\dy6\hr21\min54}{\revtim\yr2011\mo12\dy6\hr22\min18}
{\version4}{\edmins21}{\nofpages20}{\nofwords4105}{\nofchars23399}{\*\company .}{\nofcharsws27450}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}{\xmlns2 urn:schemas-microsoft-com:office:smart
tags}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\donotembedsysfont1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180
\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot5266641\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ==============================================
\par \hich\af0\dbch\af11\loch\f0 Davex v1.27 ProDOS command shell
\par
\par \hich\af0\dbch\af11\loch\f0 25-Mar-90 Copyright (c) 1990 David A. {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 Lyons{\*\xmlclose}{\*\xmlclose}
\par \hich\af0\dbch\af11\loch\f0 ==============================================
\par
\par \hich\af0\dbch\af11\loch\f0 [See the last page of this document for trademarks and other notices.]
\par
\par \hich\af0\dbch\af11\loch\f0 INTRODUCTION
\par
\par \hich\af0\dbch\af11\loch\f0 Davex is a command\hich\af0\dbch\af11\loch\f0
shell for ProDOS. ProDOS has no way to accept commands from you directly, so some sort of command interpreter is required. Davex includes a large number of "housekeeping" commands for managing your disks, directories, and files.
\par
\par \hich\af0\dbch\af11\loch\f0 Davex is also a startin\hich\af0\dbch\af11\loch\f0
g place for using other ProDOS programs. When you run another program from Davex (just by typing its name), you will normally be returned automatically to Davex when you Quit the other program.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 Note: This document is not a ProDOS tutorial. Please refe\hich\af0\dbch\af11\loch\f0
r to reference manuals or other introductory ProDOS texts for explanations of ProDOS basics like volume, file, pathname, directory, prefix, and filetype.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 HARDWARE REQUIREMENTS
\par
\par \hich\af0\dbch\af11\loch\f0 Any Apple II or compatible system that can run ProDOS and display lower case \hich\af0\dbch\af11\loch\f0
can run Davex. Davex will be much more convenient for you if you have at least one of the following: a hard drive, a large RAM drive, two 5.25 inch drives, or at least one 3.5 inch drive.
\par
\par \hich\af0\dbch\af11\loch\f0 Davex has been tested extensively on a variety of hardware. If y\hich\af0\dbch\af11\loch\f0
ou find that your hardware is not supported, contact me to see what can be done, or whether an updated version is already available to support your hardware.
\par
\par \hich\af0\dbch\af11\loch\f0 OPTIONAL HARDWARE
\par
\par \hich\af0\dbch\af11\loch\f0 Davex supports the Echo II and SlotBuster II speech synthesizers, using the TE\hich\af0\dbch\af11\loch\f0
XTALKER or SCAT software that you should already have if you own one of these boards. To use TEXTALKER, just put a copy of PT.OBJ in the same directory as Davex. PT.OBJ is part of the Textalker software which has been licensed from Street Electronics Co
\hich\af0\dbch\af11\loch\f0 r\hich\af0\dbch\af11\loch\f0 poration, the designers of the Echo, for distribution with Davex.
\par
\par \hich\af0\dbch\af11\loch\f0 For the SlotBuster, ProSCAT must already be installed in memory; Davex will recognize it but will not install it. (Note to SlotBuster users: Use ProSCAT 1.3 or higher. Reviewing the scree\hich\af0\dbch\af11\loch\f0
n will not work in 80 columns with ProSCAT versions less than 1.3.)
\par
\par
\par \hich\af0\dbch\af11\loch\f0 FILES NEEDED FOR DAVEX
\par
\par \hich\af0\dbch\af11\loch\f0 When you install Davex on a hard disk or RAM disk, you should create a subdirectory for Davex. The name of the subdirectory doesn't matter, bu\hich\af0\dbch\af11\loch\f0
t "DAVEX" is the obvious choice. From within Davex, this directory's name can always be abbreviated as "%".
\par
\par \hich\af0\dbch\af11\loch\f0 Davex itself is a SYS file in the % directory and is usually called DAVEX, although the name does not matter to Davex. %CONFIG is a BIN file; it \hich\af0\dbch\af11\loch\f0
stores configuration options like printer slot, your scan list, and a file type table. %HELP is a directory containing help files for individual commands. If you are short on disk space, you may want to leave %HELP off of your work disk. If you do, the
\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0
"help" command will report "directory not found" when you ask for help on a specific command. (You can also put the help directory on another disk; use the 'config' command to tell Davex the pathname of your help directory.)
\par
\par \hich\af0\dbch\af11\loch\f0 No other files are required i\hich\af0\dbch\af11\loch\f0
n the % directory. Typically there will be external commands (BIN files or $2E files) and other programs (SYS files) there. If you are using any aliases, there will be a TXT file called "aliases" in your % directory (see "help alias"). If you are using
\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0 the Echo speech synthesizer, there should also be a copy of PT.OBJ in the % directory.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 RECOMMENDED HARD DRIVE SETUP
\par
\par \hich\af0\dbch\af11\loch\f0 Copy the entire "%" directory onto your hard drive. Then, if you want your system to boot up directly into Davex, use the "sysalias" com\hich\af0\dbch\af11\loch\f0
mand (try "help sysalias") to create a one-block SYS program, with a name ending in ".SYSTEM", in your top-level directory.
\par
\par \hich\af0\dbch\af11\loch\f0 For example:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy % /hard1/davex
\par \hich\af0\dbch\af11\loch\f0 sysalias /hard1/davex/davex /hard1/davex.system
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 (If there are other ".SYSTEM" files earlier in t\hich\af0\dbch\af11\loch\f0
he directory than davex.system, copy the first one to another disk, delete it, create davex.system using the 'sysalias' command, and finally copy the ".SYSTEM" file back onto the disk. This way, davex.system will be the first program ProDOS sees when it
\hich\af0\dbch\af11\loch\f0 l\hich\af0\dbch\af11\loch\f0 ooks for a program to run.)
\par
\par \hich\af0\dbch\af11\loch\f0 Once you have Davex installed, you will probably want to use the "scan" command to tell Davex what directories to search when looking for programs to run. You may also want to (1) edit the %aliases file and (2) use the config
\hich\af0\dbch\af11\loch\f0 command to set miscellaneous options.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 RAM DISKS
\par
\par \hich\af0\dbch\af11\loch\f0 If your RAM disk is backed up by a battery, the instructions for hard disks apply to you. Just install it once, and you're all set.
\par
\par \hich\af0\dbch\af11\loch\f0 To set up a disk that will copy Davex to the RAM dis\hich\af0\dbch\af11\loch\f0
k and execute it there, first you need to understand the "copy" and "exec" commands. If there is a %autoexec file, it will be executed automatically when you boot Davex. A typical %autoexec file contains something like this:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy %=:sys /ram/davex
\par \hich\af0\dbch\af11\loch\f0 copy \hich\af0\dbch\af11\loch\f0 %=:bin /ram/davex
\par \hich\af0\dbch\af11\loch\f0 copy %aliases /ram/davex
\par \hich\af0\dbch\af11\loch\f0 copy %help /ram/davex/help
\par \hich\af0\dbch\af11\loch\f0 /ram/davex/davex
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 The first line copies all SYS files from the % directory to the RAM disk, and the second line copies BIN files. The third line copies the help directory (if you have a\hich\af0\dbch\af11\loch\f0
small RAM disk, you may not want to copy the help). The last line simply runs the copy of Davex from the RAM disk.
\par
\par \hich\af0\dbch\af11\loch\f0 (Note that it would be simpler to just "copy % /ram/davex". But this is a problem because the %autoexec file will be in use, causing the \hich\af0\dbch\af11\loch\f0 copy to fail.)
\par
\par \hich\af0\dbch\af11\loch\f0 Once you are running the copy of Davex from the RAM disk, your "%" directory is "/ram/davex".
\par
\par \hich\af0\dbch\af11\loch\f0 A different approach to moving Davex to a RAMdisk would use the "vrestore" command to copy an complete image of your RAMdisk from a file. See "h\hich\af0\dbch\af11\loch\f0 elp vrestore" for more information.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 APPLE IIGS USERS
\par
\par \hich\af0\dbch\af11\loch\f0 See your dealer for the most recent version of the System Software. The most recent version (as of February, 1990) is 5.0.2. Davex will work with older versions, but keeping up to date is always a g
\hich\af0\dbch\af11\loch\f0 ood idea for maximum compatibility with new software. The most recent version of ProDOS 8 is 1.8.
\par
\par \hich\af0\dbch\af11\loch\f0 If you have an Apple IIgs and wish to have your system boot into Davex through GS/OS (so you can run S16 and EXE programs without rebooting), the above ins\hich\af0\dbch\af11\loch\f0 tructions still apply to you.
\par
\par \hich\af0\dbch\af11\loch\f0 You will also need to delete or rename the START file in your SYSTEM directory. This forces the ProDOS loader to scan your root directory for a startup application instead of running START. You may want to rename START to F
\hich\af0\dbch\af11\loch\f0 INDER and type
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 scan -a /your.boot.disk/system
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 so that you can run FINDER (in the SYSTEM directory) just by typing its name.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 USING DAVEX
\par
\par \hich\af0\dbch\af11\loch\f0 When you enter Davex, you see (in 80 columns if your system supports it):
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Davex vX.XX
\par \hich\af0\dbch\af11\loch\f0 Type ? for help, $ for }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 Freew\hich\af0\dbch\af11\loch\f0 are}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
notice.
\par \hich\af0\dbch\af11\loch\f0 current_date_and_time
\par
\par \hich\af0\dbch\af11\loch\f0 prefix:
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Your current ProDOS prefix (the directory you're "in"), followed by a colon (:), is your prompt. Davex expects you to type a command and press RETURN. (If you press RETURN without typing anything, you just get
\hich\af0\dbch\af11\loch\f0 the current date and time and another prompt.) [You can use the 'date' or 'setdate' command to set the date and time if your machine doesn't have a clock.]
\par
\par \hich\af0\dbch\af11\loch\f0 Some commands can be executed just by typing their names. For example:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 help
\par \hich\af0\dbch\af11\loch\f0 online
\par \hich\af0\dbch\af11\loch\f0 quit
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Other c\hich\af0\dbch\af11\loch\f0
ommands require additional information (called "parameters") after the command name. You must type at least one blank space between a command name and the parameters that follow it. Examples:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 delete that.file
\par \hich\af0\dbch\af11\loch\f0 lock /disk3/standard.ltr
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 For some commands\hich\af0\dbch\af11\loch\f0 , parameters are optional.
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 help
\par \hich\af0\dbch\af11\loch\f0 help copy
\par \hich\af0\dbch\af11\loch\f0 info
\par \hich\af0\dbch\af11\loch\f0 info /my.disk/my.file
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 You may put more than one command on a line if you separate the commands with semicolons (;). If an error occurs during one command, the remaining commands are ignored.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 WHAT IS A CO\hich\af0\dbch\af11\loch\f0 MMAND?
\par
\par \hich\af0\dbch\af11\loch\f0 There are three kinds of commands:
\par
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 built-in commands
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
Built-in commands are part of Davex and are always available. When you type a command, Davex always checks first to see if it's an internal command. (The '?' or 'help' command displays a l\hich\af0\dbch\af11\loch\f0 ist of all internal commands.)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
If the command you typed is not internal, it looks on your disks, trying to find a file with the same name. You can tell Davex what directories to look in by using the 'scan' command. (See "help scan".)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 external comman\hich\af0\dbch\af11\loch\f0 ds
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
If the non-internal command is found to be a BIN file or a $2E file, Davex attempts to execute the file's contents as an external command. These files are usually found in the same directory as Davex, although they can be in any directory on your scan
\hich\af0\dbch\af11\loch\f0 list.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Davex features such as wildcards and shorthand pathnames are available with external commands.
\par
\par \hich\af0\dbch\af11\loch\f0 A number external commands are supplied with Davex, and an appendix describes how assembly language programmers can write additional external comma\hich\af0\dbch\af11\loch\f0 nds.
\par
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 3.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 SYS, S16, and EXE programs
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 If a non-internal command is found to be a SYS or S16 program, Davex runs the program. When you quit the other program, you are automatically returned to Davex.
\par
\par \hich\af0\dbch\af11\loch\f0 [You need the file BRIDGE.S16 in the same directory as Davex to run S16 and EXE programs directly from Davex. These work only on the Apple IIgs, and you need to boot through ProDOS 16 or GS/OS to run them.]
\par
\par
\par
\par \hich\af0\dbch\af11\loch\f0 SHORTHAND FOR PATHNAMES
\par
\par \hich\af0\dbch\af11\loch\f0 '%' is shorthan\hich\af0\dbch\af11\loch\f0 d for the name of the directory Davex is in. A '/' after the '%' is optional. Examples:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat %
\par \hich\af0\dbch\af11\loch\f0 cat %help
\par \hich\af0\dbch\af11\loch\f0 cat %/help
\par \hich\af0\dbch\af11\loch\f0 info %davex
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 You can specify a volume by slot and drive number like this:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 in}{\rtlch\fcs1 \af0 \ltrch\fcs0
\insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 fo .61/prodos <==> info /xxx/prodos, where /xxx is the nam\hich\af0\dbch\af11\loch\f0 e of the ProDOS volume in slot 6, drive 1
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
prefix .32 <==> prefix /xxx, where /xxx is the name of the ProDOS volume in slot 3, drive 2 (usually /RAM)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Finally, '.' is shorthand for the name of the current directory, and '..' is shorthand for the na\hich\af0\dbch\af11\loch\f0
me of the directory above the current directory. Slashes after '.' and '..' are optional, as with '%'.
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
cat .. display catalog of directory above
\par \hich\af0\dbch\af11\loch\f0 ./help run program called 'help'
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 WILDCARDS
\par
\par \hich\af0\dbch\af11\loch\f0 It is often convenient to execute one command (for example, delete, lock, or copy) on a group of files all at once, rather than on one file at a time. Davex provides wildcards as a convenient way to work with groups of files.
\par
\par \hich\af0\dbch\af11\loch\f0 '=' and '?' are wildcard cha\hich\af0\dbch\af11\loch\f0
racters; they "match" any number of characters in a file's name. You can use wildcards in the last segment of pathnames for many commands. Only one wildcard per pathname is permitted.
\par
\par \hich\af0\dbch\af11\loch\f0 Examples:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 l}{\rtlch\fcs1 \af0 \ltrch\fcs0
\insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ock = Locks all files in the current directory
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 d}{\rtlch\fcs1 \af0 \ltrch\fcs0
\insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 e\hich\af0\dbch\af11\loch\f0 lete =.old Deletes all files ending in ".old" from the current directory
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 '?' is like '=', but Davex asks you whether or not to operate on each matching file. Examples:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
lock ? For each file in the current directory, asks you "lock xxxxx? (Y/N)".\hich\af0\dbch\af11\loch\f0 Type Y to lock the file, or N to skip to the next one.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
delete ?.old For each file in the current directory whose name ends in ".old", asks whether or not to delete it.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 You can restrict a wildcard to match files only if they are of a particular type. \hich\af0\dbch\af11\loch\f0 Examples:
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
pg part?:txt For each "txt" file in the current directory beginning with "part", ask whether or not to "pg" the file ("pg" displays a file one screenful at a time)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 ALIASES (ABBREVIATIONS)
\par
\par \hich\af0\dbch\af11\loch\f0 Starting with Davex 1.2, t\hich\af0\dbch\af11\loch\f0
here is an "alias" mechanism available. Before Davex tries to find your commands (in the built-in list or on disk), it first checks your aliases. If there is an alias for a command word you typed, Davex replaces the word with what it stands for; then it
\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0 continues processing the command line.
\par
\par \hich\af0\dbch\af11\loch\f0 Type "alias" to see what aliases are defined; see "help alias" to learn how to create, remove, and save aliases.
\par
\par \hich\af0\dbch\af11\loch\f0 Alias expansion can happen up to ten times in a row--the expansion can start with a word that is itsel\hich\af0\dbch\af11\loch\f0 f an alias for something.
\par
\par \hich\af0\dbch\af11\loch\f0
A "~" as the first character of a command halts alias expansion right away--this is useful both from the keyboard and inside alias definitions. For example, "~cat" executes the 'cat' command even if there is an alias expanding "
\hich\af0\dbch\af11\loch\f0 cat" into something else. Also, an alias expanding "ls" into "~cat" means that "ls" always executes the 'cat' command, even if there is an alias expanding "cat".
\par
\par \hich\af0\dbch\af11\loch\f0 The aliases are stored in the TXT file %aliases. See Appendix C for an explanation of the a\hich\af0\dbch\af11\loch\f0
liases that come on the disk as shipped from DAL Systems. (Of course, you can change the supplied aliases and add your own--see "help alias".)
\par
\par \hich\af0\dbch\af11\loch\f0 Note: If you use wildcards with an alias, you may be surprised to see Davex refer to the command by its real n\hich\af0\dbch\af11\loch\f0 ame. For example, if you have an alias expanding "kill" into "delete":
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 /my.disk: kill a?
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 d}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 elete /my.disk/apple? (y/n)
\par \hich\af0\dbch\af11\loch\f0 delete /my.disk/apricot? (y/n)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 PAUSING AND ABORTING
\par
\par \hich\af0\dbch\af11\loch\f0 If you press SPACE while the screen is scrolling, it will freeze. Each SPACE pre\hich\af0\dbch\af11\loch\f0 ss will generally advance the display by one line. Press RETURN to continue scrolling.
\par
\par \hich\af0\dbch\af11\loch\f0 Ctrl-C or Apple-period will print "*** aborted" and will always return you to the command line prompt.
\par
\par \hich\af0\dbch\af11\loch\f0 ESC aborts the current operation, but does not necessarily retu\hich\af0\dbch\af11\loch\f0
rn you to command level. For example, if you are executing "pg =", ESC will abort paging the current file, but pg will begin executing on the next file matching the wildcard.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 CONTROL CHARACTERS AVAILABLE WHILE TYPING A COMMAND LINE
\par
\par \hich\af0\dbch\af11\loch\f0 (from "help cmdline")
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Ctrl-B = move to beginning of line
\par \hich\af0\dbch\af11\loch\f0 Ctrl-D = delete character at cursor
\par \hich\af0\dbch\af11\loch\f0 Ctrl-E/Ctrl-N = move to end of line
\par \hich\af0\dbch\af11\loch\f0 Ctrl-F = find forward; press ESC to exit
\par \hich\af0\dbch\af11\loch\f0 Ctrl-H (left arrow) = move left
\par \hich\af0\dbch\af11\loch\f0 Ctrl-I = insert (cancelled by arrows or Ctrl-D)
\par \hich\af0\dbch\af11\loch\f0 Ctrl-\hich\af0\dbch\af11\loch\f0 J (down arrow) = move down on the list of previous commands
\par \hich\af0\dbch\af11\loch\f0 Ctrl-K (up arrow) = move up on the list of previous commands
\par \hich\af0\dbch\af11\loch\f0 Ctrl-L = toggle Caps-lock on/off for Apple II+
\par \hich\af0\dbch\af11\loch\f0 Ctrl-M = return (accept whole line, even the part after the cursor)
\par \hich\af0\dbch\af11\loch\f0 Ctrl-O = if the foll\hich\af0\dbch\af11\loch\f0
owing character is a control character, inserts it (control characters can't normally be entered). If the following character is "K" to "O" or "k" to "o", a special character is inserted (useful only on the II+ keyboard):
\par
\par }\pard \ltrpar\ql \li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0\pararsid5266641 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 K L M N O k l m n o
\par \hich\af2\dbch\af11\loch\f2 [ \\ ] ^ _ \{ \hich\af2\dbch\af11\loch\f2 | \} ~ {\*\xmlopen\xmlns2{\factoidname State}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af2\dbch\af11\loch\f2 DEL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
{\*\xmlclose}{\*\xmlclose}
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Ctrl-Q = accept portion of line before cursor
\par \hich\af0\dbch\af11\loch\f0 Ctrl-R = re-edit previous input
\par \hich\af0\dbch\af11\loch\f0 Ctrl-U (right arrow) = move cursor right
\par \hich\af0\dbch\af11\loch\f0 Ctrl-X = cancel input
\par \hich\af0\dbch\af11\loch\f0 Ctrl-Y = erase from cursor to end of line
\par \hich\af0\dbch\af11\loch\f0 DELETE = erase character to left of cursor
\par
\par \hich\af0\dbch\af11\loch\f0 Apple-Y \hich\af0\dbch\af11\loch\f0 = same as Ctrl-Y
\par \hich\af0\dbch\af11\loch\f0 Apple-< = move to beginning of command line
\par \hich\af0\dbch\af11\loch\f0 Apple-> = move to end of command line
\par \hich\af0\dbch\af11\loch\f0 Apple-E = switch between insert and overstrike ("exchange")
\par
\par \hich\af0\dbch\af11\loch\f0 Apple-H = Hardcopy of screen (set printer slot with config)
\par \hich\af0\dbch\af11\loch\f0 (beeps twice if printer is busy)
\par \hich\af0\dbch\af11\loch\f0 Apple-Space = advance printer one line
\par \hich\af0\dbch\af11\loch\f0 Apple-Return = advance printer to next page
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 MUCH MORE INFORMATION ONLINE
\par
\par \hich\af0\dbch\af11\loch\f0 This document is intentionally short. Information on each command and on other topics can be fou\hich\af0\dbch\af11\loch\f0 nd using the 'help' command. Type 'help help' (or '??') to get started.
\par
\par \hich\af0\dbch\af11\loch\f0 The first line of each help file shows alternative names for the command, if there are any. Then the command's syntax is given, using square brackets around the parts you can leave \hich\af0\dbch\af11\loch\f0 out.
\par
\par \hich\af0\dbch\af11\loch\f0 DON'T IGNORE THE ONLINE HELP! Even if a command's purpose and use seem obvious, take a quick look at the help. Lots of commands have handy options that you won't know about if you skip the help.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 "DASH" PARAMETERS
\par
\par \hich\af0\dbch\af11\loch\f0 Many commands take optional para\hich\af0\dbch\af11\loch\f0
meters following a "-". A letter identifying the parameter follows the "-". In some cases, a value (a number, or string, for example) is expected after the letter, and in other cases nothing more is required.
\par
\par \hich\af0\dbch\af11\loch\f0 Starting with Davex 1.25, it doesn't matter \hich\af0\dbch\af11\loch\f0 whether you put the "-" parameters before or after the other parameters. (Older versions required the "-" parameters to come last.)
\par
\par \hich\af0\dbch\af11\loch\f0 Examples
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
cat -t /xyz The "-t" stands for "tree"; when a DIR appears in the listing, "-t" tells the catalog command t\hich\af0\dbch\af11\loch\f0 o indent two spaces and list the contents of the directory. No value is expected after the "-t".
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
cat /x -fsys The "-f" stands for "filetype"; a filetype must be specified after the "f". (In this example, files not of type SYS wi\hich\af0\dbch\af11\loch\f0 ll not appear in the listing.)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \page }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 INTERNAL COMMANDS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 This is just a list of commands. It tells you what commands are built into Davex, but it does not explain them. Consult the online help to find out how to use a specific command. (Start with "help hel
\hich\af0\dbch\af11\loch\f0 p" or "help topics".)
\par
\par \hich\af0\dbch\af11\loch\f0 help }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 | ?\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display command information
\par
\par \hich\af0\dbch\af11\loch\f0 cat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display directory
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 prefix\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change prefix
\par
\par \hich\af0\dbch\af11\loch\f0 top}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set prefix to parent volume
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 up\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change prefix to parent directory
\par \hich\af0\dbch\af11\loch\f0 over}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 move to another directory
\par \hich\af0\dbch\af11\loch\f0 online}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print names of online volumes
\par
\par \hich\af0\dbch\af11\loch\f0 copy}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy files or trees of files
\par \hich\af0\dbch\af11\loch\f0 update}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 replace outdated files
\par \hich\af0\dbch\af11\loch\f0 pg}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display files a screenful at a time
\par \hich\af0\dbch\af11\loch\f0 type}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display files
\par
\par \hich\af0\dbch\af11\loch\f0 rename}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change name
\par \hich\af0\dbch\af11\loch\f0 delete}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 destroy files
\par \hich\af0\dbch\af11\loch\f0 create}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 create a directory or other file
\par \hich\af0\dbch\af11\loch\f0 filetype}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 change file's type (and auxiliary type)
\par
\par \hich\af0\dbch\af11\loch\f0 config}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show or set various Davex options
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 ftype\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display or update filetype table
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 dev\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 list, add, or remove ProDOS devices
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 scan\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 examine or change the scan list
\par
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 exec\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 get keyboard input from a TXT file
\par {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 como}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 {\*\xmlclose}{\*\xmlclose}\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\hich\af0\dbch\af11\loch\f0 redirect command output to file or pri\hich\af0\dbch\af11\loch\f0 nter
\par \hich\af0\dbch\af11\loch\f0 size}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show size of file or directory
\par \hich\af0\dbch\af11\loch\f0 info}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print info on file
\par \hich\af0\dbch\af11\loch\f0 lock}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 make a file read-only
\par \hich\af0\dbch\af11\loch\f0 unlock}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 allow read, write, rename, delete
\par \hich\af0\dbch\af11\loch\f0 prot}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 protect file
\par \hich\af0\dbch\af11\loch\f0 spool}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 spool files for later printing
\par \hich\af0\dbch\af11\loch\f0 eject}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 eject a volume or all volumes from SmartPort
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 touch\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 tou\hich\af0\dbch\af11\loch\f0
ch a file, updating its modification date/time
\par }\pard \ltrpar\ql \li1440\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 (or set/clear backup bit)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 b}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ye}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 quit Davex
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ls}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 clear screen (or send Ctrl-L to file/printer)
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 rep\tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 repeat: execute a command several times
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 e}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 rr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print ProDOS error message from code
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 n}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 um}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 convert numbers betwee\hich\af0\dbch\af11\loch\f0 n decimal and hex
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 d}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 t}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print date and time
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 b}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 oot}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 boot the system
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 m}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 on}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 enter the Monitor
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 e}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cho}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 echo string
\par \hich\af0\dbch\af11\loch\f0 =}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 print pathnames
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 w}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 ait}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 wait for spooled files to finish printing
\par
\par
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 EXTERNAL COMMANDS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par
\par \hich\af0\dbch\af11\loch\f0 These commands ar\hich\af0\dbch\af11\loch\f0 e supplied with Davex. Other external commands can be written in 6502 assembly language (see Appendix).
\par
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \hich\af0\dbch\af11\loch\f0 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 lias}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0
\ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show or change aliases (abbreviations)
\par \hich\af0\dbch\af11\loch\f0 blist}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 list a BAS file in ASCII
\par \hich\af0\dbch\af11\loch\f0 brun}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 run a BIN file ['brun' is actually a small SYS file, not an extern
\hich\af0\dbch\af11\loch\f0 al command]
\par \hich\af0\dbch\af11\loch\f0 combine}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 join several files into one
\par \hich\af0\dbch\af11\loch\f0 conp}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set IIgs control panel options
\par \hich\af0\dbch\af11\loch\f0 date}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set the ProDOS date and time (if you have no clock)
\par \hich\af0\dbch\af11\loch\f0 deschw}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 describe system hardware
\par \hich\af0\dbch\af11\loch\f0 doscat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 catalog a DOS 3.3 disk in a 5.25" drive
\par \hich\af0\dbch\af11\loch\f0 du}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 summarize disk usage
\par \hich\af0\dbch\af11\loch\f0 expand}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 expand tabs into spaces
\par \hich\af0\dbch\af11\loch\f0 ffind}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
search directories or volumes for files (find by name, type, auxiliary type, need-backup)
\par \hich\af0\dbch\af11\loch\f0 find}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 search files for lines containing a given string
\par \hich\af0\dbch\af11\loch\f0 gsbuff}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set Apple IIgs printer/modem buffer sizes
\par \hich\af0\dbch\af11\loch\f0 hdr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show lines from the begi\hich\af0\dbch\af11\loch\f0 nning of a file
\par \hich\af0\dbch\af11\loch\f0 iw2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set up print options for ImageWriter II
\par \hich\af0\dbch\af11\loch\f0 modchk}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 compare modification dates on pairs of files
\par \hich\af0\dbch\af11\loch\f0 mx80}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set up print options for Epson MX80
\par \hich\af0\dbch\af11\loch\f0 pset}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 set u\hich\af0\dbch\af11\loch\f0
p print options for NEC8023 / ProWriter / ImageWriter
\par \hich\af0\dbch\af11\loch\f0 ptype}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display a Pascal Text file (type $03)
\par \hich\af0\dbch\af11\loch\f0 ram3}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 disconnect or reconnect slot 3 RAMdisk
\par \hich\af0\dbch\af11\loch\f0 setdate}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 sets date and time (only if no clock available)
\par \hich\af0\dbch\af11\loch\f0 setstart}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 examine or set the startup path of a SYS appl
\hich\af0\dbch\af11\loch\f0 ication
\par \hich\af0\dbch\af11\loch\f0 split}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 split a file into two pieces
\par \hich\af0\dbch\af11\loch\f0 strings}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 display legible strings in any file
\par \hich\af0\dbch\af11\loch\f0 sysalias}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 create an alias for a SYS or S16 file
\par \hich\af0\dbch\af11\loch\f0 tail}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 show lines from the end of a file
\par \hich\af0\dbch\af11\loch\f0 tr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 translate strings in file into other strings
\par \hich\af0\dbch\af11\loch\f0 viewdhr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 view a double high reso\hich\af0\dbch\af11\loch\f0 lution graphics file
\par \hich\af0\dbch\af11\loch\f0 viewhr}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 view a high resolution graphics file
\par \hich\af0\dbch\af11\loch\f0 wc}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 count the lines, words, and characters in a file
\par \hich\af0\dbch\af11\loch\f0 what}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641 \tab \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 determine what a file is (this can be really handy!)
\par
\par
\par \page \hich\af0\dbch\af11\loch\f0 SHORTCUTS
\par
\par \hich\af0\dbch\af11\loch\f0 If Davex is looking on disk for a command and finds a directory \hich\af0\dbch\af11\loch\f0
by that name, Davex simply sets your prefix to that directory. This is similar to using the 'prefix' command, except that the scan list is used.
\par
\par \hich\af0\dbch\af11\loch\f0 Typing a full pathname (beginning with a slash) always sets your prefix. Pathname shorthand works, too--path\hich\af0\dbch\af11\loch\f0
names beginning with a period (.) or percent sign (%) are expanded into full pathnames internally (try "= %", "= .61", etc).
\par
\par \hich\af0\dbch\af11\loch\f0 After an optional parameter that accepts no parameter value, additional parameters can follow without another "-". For example,
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy this that -fb
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 is the same as
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 copy this that -f -b
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 and
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -ta .61
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 is the same as
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -t -a .61
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 HOWEVER,
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat .61 -at
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 is NOT the same as
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat .61 -a -t
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 because the "-a" parameter takes a string value (in "cat .61 -ta" the string value following "-a" c\hich\af0\dbch\af11\loch\f0 onsists of 0 characters).
\par
\par \hich\af0\dbch\af11\loch\f0 Note that in
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -a .61
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
the ".61" string belongs to the "-a" option, and there is no pathname provided. You can get the desired effect by instead using
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -a"" .61
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 or
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 cat -an .61
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Some SYS files can take a pathname parameter; B\hich\af0\dbch\af11\loch\f0
ASIC.SYSTEM, for example, will run whatever BAS file you specify as its parameter (actually it does a '-' command, so you can also BRUN a BIN file, EXEC a TXT file, or launch a SYS file). If BASIC.SYSTEM is available in one of your scan directories, you
\hich\af0\dbch\af11\loch\f0 c\hich\af0\dbch\af11\loch\f0 an type
\par
\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 BASIC.SYSTEM MYPROGRAM
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 to run MYPROGRAM under BASIC.SYSTEM. To Davex, the parameter following the name of a SYS file is a STRING, not a pathname. This means you can't use the "%" or ".xx" shorthand notations in the parameter.
\par
\par \hich\af0\dbch\af11\loch\f0 (Note that BASIC.\hich\af0\dbch\af11\loch\f0
SYSTEM does not always preserve your prefix. If your prefix refers to a subdirectory, BASIC.SYSTEM will preserve it; otherwise it sets the prefix to be EMPTY and behaves like DOS 3.3--it goes by slot and drive numbers and defaults to the slot/drive that
\hich\af0\dbch\af11\loch\f0 B\hich\af0\dbch\af11\loch\f0 ASIC.SYSTEM was loaded from.)
\par
\par \hich\af0\dbch\af11\loch\f0 The 'what' command tells you whether a particular SYS file has a startup buffer.
\par \page
\par
\par \hich\af0\dbch\af11\loch\f0 Appendix A: Hardware Compatibility
\par
\par
\par \hich\af0\dbch\af11\loch\f0 Davex has been tested with the following Apple IIs and compatibles: Apple II+ (SmarTerm 80-column, shi\hich\af0\dbch\af11\loch\f0
ft-key mod), Apple //e (original and enhanced), Apple //c (original and UniDisk 3.5 ROM), Apple IIgs, and Laser 128.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 IIgs Support
\par
\par \hich\af0\dbch\af11\loch\f0 Davex is compatible with the IIgs but does not behave much differently than on an earlier Apple. Since Davex does not disa\hich\af0\dbch\af11\loch\f0
ble interrupts, you can use Classic Desk Accessories (including the Control Panel) with no problem. If you launch Davex from a GS/OS program like Finder, APW, or ECP16 you will return to it automatically when you quit Davex. You can launch a GS/OS appli
\hich\af0\dbch\af11\loch\f0 c\hich\af0\dbch\af11\loch\f0
ation (a file with type S16) by typing its name (assuming the directory it's in is in your scan list), and you still automatically return to Davex when you quit. (The file %BRIDGE.S16 is a tiny GS/OS application that makes this possible.)
\par
\par
\par \page \hich\af0\dbch\af11\loch\f0 Appendix B: \hich\af0\dbch\af11\loch\f0 AppleWorks Classic Compatibility
\par
\par
\par \hich\af0\dbch\af11\loch\f0 The pg and type commands recognize AWP files but have not been revised especially for AppleWorks 3.0. In future Davex versions, 'spool' and 'exec' may recognize AWP files.
\par
\par \hich\af0\dbch\af11\loch\f0 The 'cat' command displays AWP, ADB, and ASP fi\hich\af0\dbch\af11\loch\f0 lenames using the capitalization you used when naming the files in AppleWorks. (This information is stored in the files' auxiliary type fields.)
\par
\par
\par \page \hich\af0\dbch\af11\loch\f0 Appendix C: Standard Aliases
\par
\par \hich\af0\dbch\af11\loch\f0 This appendix lists and explains the aliases provided in the "%aliases" file.\hich\af0\dbch\af11\loch\f0
You can use the 'alias' command or a text editor to remove or change these aliases, and you can add your own. The maximum size of the %aliases file is currently 768 bytes; if your %aliases file is longer than that, Davex simply ignores the excess.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 q by\hich\af2\dbch\af11\loch\f2 e
\par \hich\af2\dbch\af11\loch\f2 quit q}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Explanation: "q" and "quit" stand for "bye" (leave Davex).
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 > {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af2\dbch\af11\loch\f2 como{\*\xmlclose}{\*\xmlclose}
\par \hich\af2\dbch\af11\loch\f2 < exec}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Explanation: ">" stands for "{\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 como{\*\xmlclose}{\*\xmlclose}
" (send output to a file or slot) and "<" stands for "exec" (get command input from a file)
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 cd prefix
\par \hich\af2\dbch\af11\loch\f2 pfx cd
\par \hich\af2\dbch\af11\loch\f2 down cd
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
Explanation: "cd" (change directory), "pfx", and "down" all stand for "prefix". "down" is appropriate because the 'prefix' command takes you down to a subdirectory if you use a partial pathname (example: "down mydir" or "down firstdir/xyz/abc").
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \\\hich\af2\dbch\af11\loch\f2 up
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Exp\hich\af0\dbch\af11\loch\f0 lanation: "\\" stands for "up", which takes you to the directory above.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid5266641 \hich\af2\dbch\af11\loch\f2 over up;prefix
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
Explanation: "over" stands for "up" followed by the directory name you type. Example: If your prefix is "/mydisk/dir1" and you type "over dir2", your prefix will then\hich\af0\dbch\af11\loch\f0
be "/mydisk/dir2". Wildcards are allowed, because they are not expanded until the "prefix" command is executed.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 or %;top
\par \hich\af2\dbch\af11\loch\f2 origin or}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Explanation: "origin" or "or" takes you to the top level directory of the disk Davex is running from. "%" takes you to t\hich\af0\dbch\af11\loch\f0 he Davex directory, and then "top" takes you to the top level directory.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 o online
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "o" stands for "online", which shows a list of all disks in your drives.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 home cls
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "home" stands for "cls", which clears the screen (or starts a \hich\af0\dbch\af11\loch\f0 new page on the printer).
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 more pg
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "more" stands for "pg", which displays the contents of a file one screenful at a time.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 mv rename
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "mv" (move) and "cname" (change name) stand for "rename", which changes the name of a file, dir\hich\af0\dbch\af11\loch\f0 ectory, or volume.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 mkdir create
\par \hich\af2\dbch\af11\loch\f2 md create}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Explanation: "mkdir" and "md" (make directory) stand for "create", which can be used to create subdirectories (as well as other files).
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 rm delete
\par {\*\xmlopen\xmlns2{\factoidname State}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af2\dbch\af11\loch\f2 del{\*\xmlclose}{\*\xmlclose} rm}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Explanation: "rm" and "{\*\xmlopen\xmlns2{\factoidname State}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af0\dbch\af11\loch\f0 del{\*\xmlclose}{\*\xmlclose}\hich\af0\dbch\af11\loch\f0
" stand for "delete", which erases files and directories.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 catalog cat
\par \hich\af2\dbch\af11\loch\f2 dir cat
\par \hich\af2\dbch\af11\loch\f2 ld cat
\par \hich\af2\dbch\af11\loch\f2 ls cat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par \hich\af0\dbch\af11\loch\f0 Explanation: "catalog", "dir" (directory), "ld" (list directory), and "ls" (list) all stand for "cat", which displays catalog listings.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 tree cat -t
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4679153 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: \hich\af0\dbch\af11\loch\f0
"tree" stands for "cat -t", which displays a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4679153 \hich\af0\dbch\af11\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
catalog listing including the contents of subdirectories.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 mod cat -am
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4679153 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
Explanation: "mod" stands for "cat -am", which displays a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4679153 \hich\af0\dbch\af11\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
catalog listing sorted by last-modification date (most recently modified files a\hich\af0\dbch\af11\loch\f0 ppear first).
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5266641 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 cp copy
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "cp" stands for "copy", which copies files and directories.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 e echo
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "e" stands for "echo", which prints the strings you feed it (useful from "exec" files).
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 ej eject
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "ej" stands for "eject", \hich\af0\dbch\af11\loch\f0 which ejects 3.5" disks from their drives.
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 print > &;
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0
Explanation: "print" stands for redirecting output to the printer, and the semicolon between commands is included in the alias, so you don't need to type one when you use it. Example: "print help re\hich\af0\dbch\af11\loch\f0
name", or "print cat -t", but NOT "print filename".
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid5266641\charrsid4679153 \hich\af2\dbch\af11\loch\f2 page > &;cls
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid5266641\charrsid3232662 \hich\af0\dbch\af11\loch\f0 Explanation: "page" does a clear-screen after sending output to the printer. Result: the printer advances to the top of the page.
\par
\par
\par \page \hich\af0\dbch\af11\loch\f0 The Conspicuous Last Page
\par
\par
\par \hich\af0\dbch\af11\loch\f0
WARRANTY AND LIMITATION OF LIABILITY. DAL Systems warrants that Davex can be a useful tool for some people in some situations, but not necessarily for you. The author uses Davex all the time and is reasonably sure it won't do anything destructive to
\hich\af0\dbch\af11\loch\f0
your data. But he DOES keep BACKUP COPIES of all important data, and so should you. DAL SYSTEMS AND DAVID A. LYONS SHALL HAVE NO LIABILITY OR RESPONSIBILITY TO THE PURCHASER OR ANY OTHER PERSON OR ENTITY WITH RESPECT TO ANY LIABILITY, LOSS OR DAMAGE CA
\hich\af0\dbch\af11\loch\f0 U\hich\af0\dbch\af11\loch\f0
SED OR ALLEGED TO BE CAUSED DIRECTLY OR INDIRECTLY BY DAVEX. THE EXCLUSION OF IMPLIED WARRANTIES IS NOT PERMITTED BY SOME STATES. THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY PROVIDES YOU WITH SPECIFIC LEGAL RIGHTS. THERE MAY BE OTHER RIGHT
\hich\af0\dbch\af11\loch\f0 S\hich\af0\dbch\af11\loch\f0 THAT YOU MAY HAVE WHICH VARY FROM STATE TO STATE.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 The following are registered trademarks of Apple Computer, Inc.: Apple, AppleTalk, AppleWorks, Disk II, ImageWriter, LaserWriter, ProDOS.
\par
\par \hich\af0\dbch\af11\loch\f0 The following are Apple trademarks pending registration: ProFi\hich\af0\dbch\af11\loch\f0 le, UniDisk, Apple IIgs.
\par
\par
\par \hich\af0\dbch\af11\loch\f0 APPLE COMPUTER, INC., MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING THE ENCLOSED COMPUTER SOFTWARE PACKAGE, ITS MERCHANTABILITY OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. THE EXCLUSION OF IMPLIED WARRANTIES IS N
\hich\af0\dbch\af11\loch\f0 OT PERMITTED BY SOME STATES. THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY PROVIDES YOU WITH SPECIFIC LEGAL RIGHTS. THERE MAY BE OTHER RIGHTS THAT YOU MAY HAVE WHICH VARY FROM STATE TO STATE.
\par
\par \hich\af0\dbch\af11\loch\f0 ----------
\par \hich\af0\dbch\af11\loch\f0 Mike Lutz suggested the name "Davex." If you don't like it,\hich\af0\dbch\af11\loch\f0 blame him.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12387617
\par }}

171
doc/DavexNotes1.27.rtf Normal file
View File

@ -0,0 +1,171 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
{\f88\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f256\froman\fcharset238\fprq2 Times New Roman CE;}{\f257\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f259\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f260\froman\fcharset162\fprq2 Times New Roman Tur;}{\f261\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f262\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f263\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f264\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f368\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f366\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
{\f367\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f369\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
{\f370\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f373\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f1138\fmodern\fcharset0\fprq1 @MS Mincho Western;}
{\f1136\fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f1137\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f1139\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f1140\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f1143\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025
\ltrch\fcs0 \fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 \snext0 \styrsid9897202 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af11\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}
{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid-216892416\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713
\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715
\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713
\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715
\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713
\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715
\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid140509197}}{\*\listoverridetable{\listoverride\listid140509197\listoverridecount0\ls1}}{\*\rsidtbl \rsid9897202\rsid12387617
\rsid15084009}{\*\generator Microsoft Word 11.0.0000;}{\info{\title =============================}{\author .}{\operator .}{\creatim\yr2011\mo12\dy6\hr21\min49}{\revtim\yr2011\mo12\dy6\hr21\min53}{\version1}{\edmins3}{\nofpages2}{\nofwords607}
{\nofchars3464}{\*\company .}{\nofcharsws4063}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\donotembedsysfont1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180
\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot9897202\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 =============================
\par \hich\af0\dbch\af11\loch\f0 Davex v\hich\af0\dbch\af11\loch\f0 1.27\hich\af0\dbch\af11\loch\f0 Release notes
\par
\par \hich\af0\dbch\af11\loch\f0 David A\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Lyons \hich\af0\dbch\af11\loch\f0 25\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 Mar\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 90
\par \hich\af0\dbch\af11\loch\f0 =============================
\par
\par \hich\af0\dbch\af11\loch\f0 This is a summary of the changes made to Davex since version \hich\af0\dbch\af11\loch\f0 1\hich\af0\dbch\af11\loch\f0 .23\hich\af0\dbch\af11\loch\f0 .
\par
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Dash \hich\af0\dbch\af11\loch\f0 ("-")
\hich\af0\dbch\af11\loch\f0 parameters no longer have to come afte\hich\af0\dbch\af11\loch\f0 r all the positional parameters\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Use whatever order you like\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 "." \hich\af0\dbch\af11\loch\f0 and
\hich\af0\dbch\af11\loch\f0 ".." \hich\af0\dbch\af11\loch\f0 at the beginning of a pathname stand for the current directory and the directory above the current directory \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 see
\hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help pathnames\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 or \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help path\hich\af0\dbch\af11\loch\f0 ").\line \line
\hich\af0\dbch\af11\loch\f0 "*" \hich\af0\dbch\af11\loch\f0 works as a wil\hich\af0\dbch\af11\loch\f0 dcard character just like \hich\af0\dbch\af11\loch\f0 "=".
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 3.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 There are more Apple\hich\af0\dbch\af11\loch\f0 -
\hich\af0\dbch\af11\loch\f0 key sequences during command entry \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 see \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help cmdline\hich\af0\dbch\af11\loch\f0 ").
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 4.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Any time Davex is watching the keyboard
\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 pressing Apple\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 Space sends a linefeed to the printer\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and pressing Apple
\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 Return sends a for\hich\af0\dbch\af11\loch\f0 mfeed\hich\af0\dbch\af11\loch\f0 . (\hich\af0\dbch\af11\loch\f0 Apple\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0
H still prints the text screen\hich\af0\dbch\af11\loch\f0 .)\line \line \hich\af0\dbch\af11\loch\f0 These work when screen is frozen \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 by hitting Space\hich\af0\dbch\af11\loch\f0 )
\hich\af0\dbch\af11\loch\f0 and any time the Davex cursor is visible\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 5.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 The space for aliases is now \hich\af0\dbch\af11\loch\f0 768
\hich\af0\dbch\af11\loch\f0 bytes \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 was \hich\af0\dbch\af11\loch\f0 512\hich\af0\dbch\af11\loch\f0 ). \hich\af0\dbch\af11\loch\f0 Aliases are considerably more useful now that th
\hich\af0\dbch\af11\loch\f0 e dash parameters are allowed to come first \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 because there\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0
s still no provision for getting a pathname get substituted into the middle of an alias expansion\hich\af0\dbch\af11\loch\f0 ).
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 6.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 The \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0
alias\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 command is no longer built in\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 It\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 s external\hich\af0\dbch\af11\loch\f0 ,
\hich\af0\dbch\af11\loch\f0 and it has options for adding\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 removing\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 loading\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0
and saving aliases \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 see \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 help alias\hich\af0\dbch\af11\loch\f0 ").\line \line \hich\af0\dbch\af11\loch\f0 A \hich\af0\dbch\af11\loch\f0 "
\hich\af0\dbch\af11\loch\f0 ~\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 at the beginning of a command prevents further alias expansion\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 You can use this directly on the command line
\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and you can also use it inside alias definitions to halt the expansion\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 7.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 sysalias
\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 can now create aliases for S\hich\af0\dbch\af11\loch\f0 16\hich\af0\dbch\af11\loch\f0 applications as well as SYS applications\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 8.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Quitting from Davex back to the program that launched Davex
\hich\af0\dbch\af11\loch\f0 now works reliably even if a SYS application has been launched\hich\af0\dbch\af11\loch\f0 . (\hich\af0\dbch\af11\loch\f0 v\hich\af0\dbch\af11\loch\f0 1.23\hich\af0\dbch\af11\loch\f0 usually quit back to itself by accident
\hich\af0\dbch\af11\loch\f0 .)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 9.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 exec\hich\af0\dbch\af11\loch\f0
' \hich\af0\dbch\af11\loch\f0 files may now contain control characters\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Also\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0
an extra blank line is no longer printed to the screen after each line in an e\hich\af0\dbch\af11\loch\f0 xec file executes\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Having the Apple key down when an \hich\af0\dbch\af11\loch\f0 "
\hich\af0\dbch\af11\loch\f0 h\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0 or \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 H\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0
is encountered in an exec file no longer prints the screen to the printer\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Finally\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0
the date and time is no longer automatically shown when an exec file finishes\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 10.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 cat\hich\af0\dbch\af11\loch\f0 '
\hich\af0\dbch\af11\loch\f0 displays auxil\hich\af0\dbch\af11\loch\f0 iary types after filetypes\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and it displays invisible files only with the \hich\af0\dbch\af11\loch\f0 -
\hich\af0\dbch\af11\loch\f0 i option\hich\af0\dbch\af11\loch\f0 . "\hich\af0\dbch\af11\loch\f0 cat \hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 t\hich\af0\dbch\af11\loch\f0 " \hich\af0\dbch\af11\loch\f0
keeps all the columns except the filename column lined up\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 11.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 update
\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 asks if it\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 s okay to replace a file of a different type\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 12.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 touch\hich\af0\dbch\af11\loch\f0
' \hich\af0\dbch\af11\loch\f0 can make fil\hich\af0\dbch\af11\loch\f0 es visible and invisible\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and it can enable and disable files of certain Apple IIgs filetypes\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 13.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Limit of \hich\af0\dbch\af11\loch\f0 63
\hich\af0\dbch\af11\loch\f0 filetype names expanded\hich\af0\dbch\af11\loch\f0 --\hich\af0\dbch\af11\loch\f0 now you can have \hich\af0\dbch\af11\loch\f0 63\hich\af0\dbch\af11\loch\f0 of your own in addition to the built\hich\af0\dbch\af11\loch\f0 -
\hich\af0\dbch\af11\loch\f0 in ones\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 14.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 type\hich\af0\dbch\af11\loch\f0
' \hich\af0\dbch\af11\loch\f0 and \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 pg\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 can sort of display tabs now\hich\af0\dbch\af11\loch\f0 \hich\af0\dbch\af11\loch\f0 (
\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ).
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 15.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Some revised commands \hich\af0\dbch\af11\loch\f0 (
\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ): \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 what\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 dump\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0
ffind\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 vstore\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 iw\hich\af0\dbch\af11\loch\f0 2\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 deschw
\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 16.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 External commands by Jeff Ding \hich\af0\dbch\af11\loch\f0 (
\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ): \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 viewhr\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 viewdhr\hich\af0\dbch\af11\loch\f0 ', '
\hich\af0\dbch\af11\loch\f0 date\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 tr\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 wc\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 split\hich\af0\dbch\af11\loch\f0 ', '
\hich\af0\dbch\af11\loch\f0 combine\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 ram\hich\af0\dbch\af11\loch\f0 3\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 expand\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0
tail\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 . (\hich\af0\dbch\af11\loch\f0 If you go\hich\af0\dbch\af11\loch\f0 t Davex \hich\af0\dbch\af11\loch\f0 1.25\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 you have a bad version of
\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 date\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 --\hich\af0\dbch\af11\loch\f0 use the one with \hich\af0\dbch\af11\loch\f0 1.26\hich\af0\dbch\af11\loch\f0 .)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 17.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 Other new external commands \hich\af0\dbch\af11\loch\f0 (
\hich\af0\dbch\af11\loch\f0 see help\hich\af0\dbch\af11\loch\f0 ): \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 strings\hich\af0\dbch\af11\loch\f0 ', '\hich\af0\dbch\af11\loch\f0 doscat\hich\af0\dbch\af11\loch\f0 ', '
\hich\af0\dbch\af11\loch\f0 ptype\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 18.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 External commands can now have filetype
\hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 E and auxiliary type \hich\af0\dbch\af11\loch\f0 $8001\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 The indexed\hich\af0\dbch\af11\loch\f0 .\hich\af0\dbch\af11\loch\f0 help file has fi
\hich\af0\dbch\af11\loch\f0 letype \hich\af0\dbch\af11\loch\f0 $58\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 auxiliary type \hich\af0\dbch\af11\loch\f0 $8002\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0
The configuration file has filetype \hich\af0\dbch\af11\loch\f0 $5\hich\af0\dbch\af11\loch\f0 A\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 auxiliary type \hich\af0\dbch\af11\loch\f0 $8005\hich\af0\dbch\af11\loch\f0 .
\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 vstore\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 creates saved\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 volume files with filetype \hich\af0\dbch\af11\loch\f0 $
\hich\af0\dbch\af11\loch\f0 E\hich\af0\dbch\af11\loch\f0 0\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 auxiliary type \hich\af0\dbch\af11\loch\f0 $8004\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 19.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 In most cases\hich\af0\dbch\af11\loch\f0 ,
\hich\af0\dbch\af11\loch\f0 filenames are now displayed with appropriate uppercase and\hich\af0\dbch\af11\loch\f0 lowercase if they were created by the ProDOS FST under GS\hich\af0\dbch\af11\loch\f0 /\hich\af0\dbch\af11\loch\f0 OS
\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 20.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 In Davex \hich\af0\dbch\af11\loch\f0 1.25
\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 getting any keyboard input while an \hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0 exec\hich\af0\dbch\af11\loch\f0 ' \hich\af0\dbch\af11\loch\f0 file was active but suspended
\hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 for a yes\hich\af0\dbch\af11\loch\f0 /\hich\af0\dbch\af11\loch\f0 no question\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 for example\hich\af0\dbch\af11\loch\f0 )
\hich\af0\dbch\af11\loch\f0 would abort with an I\hich\af0\dbch\af11\loch\f0 /\hich\af0\dbch\af11\loch\f0 O error message\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 This is fixed in \hich\af0\dbch\af11\loch\f0 1.26
\hich\af0\dbch\af11\loch\f0 and later\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 21.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960 \hich\af0\dbch\af11\loch\f0 In Davex \hich\af0\dbch\af11\loch\f0 1.27
\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 the built\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 in list of \hich\af0\dbch\af11\loch\f0 3\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0
character filetype abbreviations is up\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 to\hich\af0\dbch\af11\loch\f0 -\hich\af0\dbch\af11\loch\f0 date with the March \hich\af0\dbch\af11\loch\f0 1990\hich\af0\dbch\af11\loch\f0
File Type Notes from Apple Developer Technical Support\hich\af0\dbch\af11\loch\f0 .
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9897202 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9897202\charrsid10164960
\par \hich\af0\dbch\af11\loch\f0 Davex omits most of the Apple \hich\af0\dbch\af11\loch\f0 /// \hich\af0\dbch\af11\loch\f0 names to save space\hich\af0\dbch\af11\loch\f0 . \hich\af0\dbch\af11\loch\f0 Also\hich\af0\dbch\af11\loch\f0 ,
\hich\af0\dbch\af11\loch\f0 the names for types \hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 A\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 B\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0
$2\hich\af0\dbch\af11\loch\f0 C\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 and \hich\af0\dbch\af11\loch\f0 $2\hich\af0\dbch\af11\loch\f0 D are nonstandard because Davex can\hich\af0\dbch\af11\loch\f0 '\hich\af0\dbch\af11\loch\f0
t parse a filetype name that begins with a digit \hich\af0\dbch\af11\loch\f0 (\hich\af0\dbch\af11\loch\f0 use \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 sc\hich\af0\dbch\af11\loch\f0 8\hich\af0\dbch\af11\loch\f0 "
\hich\af0\dbch\af11\loch\f0 in place of \hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 8\hich\af0\dbch\af11\loch\f0 sc\hich\af0\dbch\af11\loch\f0 "\hich\af0\dbch\af11\loch\f0 , \hich\af0\dbch\af11\loch\f0 etc\hich\af0\dbch\af11\loch\f0 ).
\par
\par \hich\af0\dbch\af11\loch\f0 --------------------------
\par \hich\af0\dbch\af11\loch\f0 end of Davex release notes
\par \hich\af0\dbch\af11\loch\f0 --------------------------}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12387617
\par }}

70
doc/Echo Notes.rtf Normal file
View File

@ -0,0 +1,70 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f11\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}
{\f37\fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}{\f48\froman\fcharset238\fprq2 Times New Roman CE;}{\f49\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f51\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f52\froman\fcharset162\fprq2 Times New Roman Tur;}{\f53\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f54\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f55\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f56\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f160\fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};}{\f158\fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}
{\f159\fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}{\f161\fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};}{\f162\fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}
{\f165\fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}{\f420\fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f418\fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f419\fmodern\fcharset204\fprq1 @MS Mincho Cyr;}
{\f421\fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f422\fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f425\fmodern\fcharset186\fprq1 @MS Mincho Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1041\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041
\snext0 \styrsid10974642 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\loch\f0\hich\af0\dbch\af11\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}
{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid-2095052126\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703
\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid40716567}{\list\listtemplateid-1634536590\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1260601419}}{\*\listoverridetable
{\listoverride\listid1260601419\listoverridecount0\ls1}{\listoverride\listid40716567\listoverridecount0\ls2}}{\*\rsidtbl \rsid5137232\rsid10974642\rsid12387617\rsid15084009}{\*\generator Microsoft Word 11.0.0000;}{\info{\title April 12, 1988}{\author .}
{\operator .}{\creatim\yr2011\mo12\dy6\hr22\min24}{\revtim\yr2011\mo12\dy6\hr22\min24}{\version2}{\edmins0}{\nofpages1}{\nofwords178}{\nofchars1015}{\*\company .}{\nofcharsws1191}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.micr
osoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\donotembedsysfont1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180
\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot10974642\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl9\pnlcrm\pnqc\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
\fs24\lang1033\langfe1041\loch\af0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1041 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 April 12, 1988
\par
\par \hich\af0\dbch\af11\loch\f0 Notes on using Davex with an Echo speech synthesizer
\par
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0
Put a copy of PT.OBJ in the same directory as Davex, and it will be loaded automatically. PT.OBJ is part of the Textalker software which has been licensed from Street Electronics Corpor\hich\af0\dbch\af11\loch\f0
ation, the designer of the Echo, for distribution with Davex.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0
Hold down the plain Apple key (the left-hand Apple on the 2 e, and the wide key to the left of the space bar on the GS) if you need to force Davex to reload PT.OBJ--this may be necessary while \hich\af0\dbch\af11\loch\f0
returning to Davex from some programs which partly overwrite the speech software.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 3.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0
On the GS, turn off keyboard buffering for best results. You can turn keyboard buffering off using the "conp" command from Davex. Type "help conp" for details.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 4.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 Davex uses\hich\af0\dbch\af11\loch\f0
some characters that are not pronounced in "Some punctuation" mode. Type control e M to change to "most" mode. Most notably, hyphens are very important to Davex, and square brackets are used in the help files to show things that are optional.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 5.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955 \hich\af0\dbch\af11\loch\f0 Because i\hich\af0\dbch\af11\loch\f0
ndentation is not audible, the "cat -t" command pronounces ">" when it indents for a subdirectory and "<" when it unindents out of a subdirectory.
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10974642 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10974642\charrsid4356955
\par \hich\af0\dbch\af11\loch\f0 (End of Echo Notes)
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12387617
\par }}

1
doc/help/Alias Normal file
View File

@ -0,0 +1 @@
alias -- display or modify command aliases syntax: alias [-s] [-l] [-r] <alias-name> <expansion> ex: alias alias foo "cat -am" alias -r foo alias -s alias -l With no parameters, displays a list of all current aliases. These are stored in the file %aliases (which you can edit with a text editor if you want). Given two strings, 'alias' creates a new alias so that the first string, when used as a command, expands into the second string. If there are blanks in the second string, you need to put quotation marks around it. If the named alias already exists, 'alias' asks for permission to replace it. Given -r and a single string, 'alias' removes an existing alias. Creating or removing an alias does not automatically save it to disk. To save your aliases to %aliases, use 'alias -s'. (Note that if you create or remove an alias and use -s in the same command, the saving happens -after- any changes to your aliases.) To re-load your aliases from %aliases, use 'alias -l'. Davex automatically loads aliases from there, so this is not normally needed. See Davex.Doc for an explanation of aliases and a description of the pre-made aliases provided.

1
doc/help/BList Normal file
View File

@ -0,0 +1 @@
blist -- list a BAS file in ASCII (EXTERNAL) [v1.2] syntax: blist <pathname> [-w <integer>] ex: blist this como &;blist ?:bas -w70 como edit.this;blist myprog List a BAS file in readable form. Wildcards are allowed. Intended for redirecting to a TXT file to allow editing with a word processor. The edited file can then be EXECed in BASIC.SYSTEM, turning it back into an Applesoft program which can be SAVEd and RUN. The -w option specifies the wrap margin. 'blist' will start a new line and indent 6 spaces when this margin is hit, or when a blank is printed within 10 columns of the margin. If you are using 'blist' to send a listing to your printer, you may need to use -w to prevent long lines from overprinting themselves. Version 1.2 fixes a spacing bug in REM and DATA statements that didn't begin with a blank.

1
doc/help/BRun Normal file
View File

@ -0,0 +1 @@
brun -- run a BIN file syntax: brun pathname ex: brun myprogram 'brun' is a SYS file that accepts a parameter (in its startup buffer). The pathname must specify a BIN file. 'brun' will load and execute the BIN file at its auxiliary type address. Many BIN files are intended to be executed in a certain environment, such as BASIC.SYSTEM. 'brun' is useful only for BIN files that do NOT expect an environment to be set up for them. Kyan Pascal programs, for example, can be run with 'brun'. Be careful! Not all BIN files are suitable for running with 'brun'. If you're not sure if a particular BIN file will run OK or not, write-protect your disks (turn off a hard drive, save RAM disks to real disks, etc) before trying to run it. If a ProDOS error occurs while 'brun' is loading the BIN file, a two-digit error code is displayed, and you will be returned to Davex (if you ran 'brun' from there) when you hit a key. To find out what the error was, you can type "err $xx" from Davex. If the specified file is not a BIN file, error $FF is reported. Note: 'brun' with a last-modified date of 12-Dec-87 or later supports BIN files that RTS or JMP to $3D0, $3D3, or $BE00 rather than doing a ProDOS QUIT. Previous versions worked only with BIN files that did a QUIT. Also, 'brun' stores a BRK instruction at $BE03 and $BE70. If you get dropped into the monitor at $BE03 or $BE70, the BIN file you were trying to run probably requires BASIC.SYSTEM.

1
doc/help/Boot Normal file
View File

@ -0,0 +1 @@
boot -- boot the system syntax: boot [-s<slotnum>] [-i] ex: boot boot -s6 Boots the system. If -s is given, boots from the specified slot, which should contain a disk controller. Otherwise the system scans for a startup device the same way it does at power-up. The -i option is meaningful only on a IIgs. If present, an ICE COLD reboot is done, erasing everything in RAM (including /RAM5). -s is ignored when -i is used. [NOTE--'boot -i' takes advantage of an undocumented aspect of the keyboard microcontroller and is NOT guarranteed to work in the future. Test it with any hardware or system software upgrades before trusting it.]

1
doc/help/Bye Normal file
View File

@ -0,0 +1 @@
bye -- quit Davex syntax: bye ex: bye Quits Davex. (Does a ProDOS QUIT to whatever Quit code was in place when you entered Davex.) If you have different copies of Davex in different directories, you can run one copy from another one, and Quit will return you to the one you were in previously. (The old quit code is stored in %config when you enter Davex. When you quit, it loads the old quit code from %config, so you need to have your Davex disk online.)

1
doc/help/Cat Normal file
View File

@ -0,0 +1 @@
cat -- display directory syntax: cat [pathname] [-t] [-s] [-f filetype] [-a sort_keys] [-i] ex: cat cat -a cat /disk -it cat -fbas cat /mydisk -tfSYS cat .62 -s cat ?:dir Displays the contents of the directory specified by pathname; wildcards are allowed. (If no pathname is given, displays the contents of the current directory.) The following options are available: -t: tree format--show contents of directories indented under the directory names -i: show files and directories even if they are invisible (use the 'touch' command to make a file visible or invisible) -s: short form--display name and filetype only -f: show only files of given type (if -t is given, DIRs are also shown) -a: arrange--sort the listing according to the characters following '-a'. If no characters follow, the listing is sorted alphabetically by filename. The following sorting keys may be combined by listing the most significant keys first. Capitalizing a letter reverses the order of the sort on that key. n: name (a to z) m: modified date/time (newest to oldest) f: filetype ($00 to $ff) t: same as f s: size in bytes (largest to smallest) x: auxiliary type ($0000 to $ffff) b: list files needing backup before files not needing backup Examples: cat -a cat -an arrange by name from a to z cat -aN arrange by name from z to a cat -afX arrange by increasing filetype and decreasing auxiliary type within each filetype Note that '-t' is ignored when '-a' is used.

1
doc/help/Cls Normal file
View File

@ -0,0 +1 @@
cls -- clear screen syntax: cls ex: cls como &;cls -- new page on printer Clears the screen. If redirected to the printer, as in the last example, begins a new page. ('cls' just outputs a Ctrl-L.)

1
doc/help/CmdLine Normal file
View File

@ -0,0 +1 @@
The following features are available during line input: Ctrl-B = move to beginning of line Ctrl-D = delete character at cursor Ctrl-E/Ctrl-N = move to end of line Ctrl-F = find forward; press ESC to exit Ctrl-H (left arrow) = move left Ctrl-I (tab) = insert (cancelled by arrows or Ctrl-D) Ctrl-J (down arrow) = move down on the list of previous commands Ctrl-K (up arrow) = move up on the list of previous commands Ctrl-L = toggle Caps-lock on/off for Apple II+ Ctrl-M = return (accept whole line, even the part after the cursor) Ctrl-O = if the following character is a control character, inserts it (control characters can't normally be entered). If the following character is "K" to "O" or "k" to "o", a special character is inserted (useful only on the II+ keyboard): K L M N O k l m n o [ \ ] ^ _ { | } ~ DEL Ctrl-Q = accept portion of line before cursor Ctrl-R = re-edit previous input Ctrl-U (right arrow) = move cursor right Ctrl-X = cancel input Ctrl-Y = erase from cursor to end of line DELETE = erase character before cursor Apple-< = move to beginning of line Apple-> = move to end of line Apple-E = switch between insert and overstrike ("exchange") Apple-Y = erase from cursor to end of line (same as Ctrl-Y) Apple-H = print hardcopy of screen Apple-Space = advance printer one line Apple-Return = advance printer to next page

1
doc/help/Combine Normal file
View File

@ -0,0 +1 @@
combine -- combine files together (EXTERNAL) [v1.0] Written by Jeff Ding syntax: combine <input pathname1> [<input pathname2..5>] [-o<output pathname>] [-w<margin>] ex: combine text -m60 combine game.part1 game.part2 game.3 -o game combine =.header =.doc -o documents 'Combine' combines files together. The input file is always appended to the output file. A total of 5 input files on the same command line is supported. Wildcards are supported in the first two input files only. When using an output pathname, it is sometimes useful to use a wildcard in the input pathname. This allows you to append several files onto one output pathname. A special case happens when using two wildcards in the input files. The text matching the first wildcard is substituted into the second wildcard. This makes it possible to include a special header or footer file for each actual input file. The third example above demonstrates the use of a header file. Combine will work with any file type, but the files are treated only as raw collections of bytes. This means, for example, that if you combine two complete AWP files you will get a big mess. However, you can always use 'combine' to reconstruct files that have been split up using 'split'. Options are as follows: -o <pathname>: Copy of input file gets saved to this file. If not specified, output goes to the screen. If the file exists, the data will be appended and the type not modified. If the output file does not exist, it will be created with the same type as the original file. -w <margin>: wrap margin. Affects output to the screen only. This forces a carriage return when either the margin or a space within 9 characters of the margin is reached. Allowed values are 0 through 255. A 0 value has the same effect as not using the option. (see also: split)

1
doc/help/ConP Normal file

File diff suppressed because one or more lines are too long

1
doc/help/Config Normal file
View File

@ -0,0 +1 @@
config -- display or change Davex configuration syntax: config [-p slot] [-b y|n] [-4 y|n] [-c y|n] [-h string] [-q integer] ex: config -- show current settings config -p1 -- printer slot 1 config -by -- use system bell config -p7 -bn -- printer slot 7, "blat" bell config -4n -cy -- 80 columns, show IIgs clock config -h .62help -- set location of help directory config -q2 -- don't print "welcome" message 'config' with no parameters displays the current values of all options that you can set with this command. The -p option sets the default printer slot. This slot number is used when you specify "&" as the pathname for a "como" or ">" command. Also, 'spool' and Apple-H (hardcopy of screen) always print to the slot you set with 'config'. -b is a yes/no option that determines whether the system beep will be used. If -bn is given, the standard ProDOS buzz is used. IIgs users especially may want to use -by, since the pitch is configurable through the control panel (or through the 'conp' external command). -4 is a yes/no option. When set to yes, it restricts your display to 40 columns (while in Davex) even if you have an 80-column card. Note that some things are not formatted well in 40 columns--most notably, the help files. (The new display setting takes effect when you hit RESET or re-enter Davex.) -c is a yes/no option that has effect only on an Apple IIgs. When set to Yes, the date and time that appear when you hit Return without typing a command will include seconds and will be in the format you have selected in the Control Panel. -h sets the pathname of the Help directory. The default is "%help". The string can be a full pathname, or it can start with "%" or with a slot/ drive specification (ex: ".62help"). This option is useful if several people are running Davex from separate directories on the same hard drive and want to keep just one copy of the help files. -q controls whether the "welcome" message is printed when you enter Davex. The default is 0, and the message is always printed. Set to 2 and the message will not be printed; set to 1 and it will be printed only if no speech synthesizer is being used. IIgs users: If your machine is on an AppleTalk network with a LaserWriter and you have the appropriate files in your SYSTEM/SYSTEM.SETUP directory and you have run CHOOSER.II (supplied on your system disk) to download the ImageWriter emulator to the LaserWriter, you can treat the LaserWriter as an ImageWriter in slot 7. (Slot 7 must be set to "Built-in Appletalk," not "Your card.") (see also: como, spool)

1
doc/help/Copy Normal file
View File

@ -0,0 +1 @@
copy -- copy files or directories syntax: copy <pathname1> <pathname2> [-f] [-d] [-b] ex: copy thing /otherdisk/blah copy this /backup copy %= /backup/= -fb copy /system.disk/system /ram5/system Copies files from first path to second path. Unless -f (force) is given, ask for permission to replace the old copy. If the old file is LOCKED (access is not "rwnd"), copy asks for permission even if you use -f. -d deletes the original after a successful copy. -b clears the backup bit of the original after a successful copy. If the first pathname refers to a file and the second pathname refers to a directory, 'copy' puts the file INTO the directory. (It does not replace the directory with the file.) If you omit the second pathname completely, 'copy' behaves as though you supplied the current prefix. Result: "copy pathname" copies a file into the current directory, using the original file's filename. If the first pathname refers to a DIRECTORY, the directory and everything in it (files and/or directories) is copied to the second pathname. The second pathname must not refer to an existing directory ("ProDOS error: duplicate file" results). 'copy' will copy sparse files, but the new files will no longer be sparse. 'copy' can't copy extended files (storage type 5). You get a "bad storage type" error for trying. (Extended files have two forks and are created under GS/OS.) (see also: update)

1
doc/help/Create Normal file
View File

@ -0,0 +1 @@
create -- create a directory or other file syntax: create <path>[:<filetype>] ex: create mydir create myfile:sys create something:bad Creates a file with the given filetype or, if no filetype is given, of type DIR.

1
doc/help/DOSCat Normal file
View File

@ -0,0 +1 @@
doscat -- catalog a DOS 3.3 disk (EXTERNAL) by Kevin Cooper and Dave Lyons syntax: doscat <device> [-v] [-f filetypes] [-l y|n] [-o string] ex: doscat .61 doscat .62 -v -fTA -ly 'doscat' displays the catalog listing of a 5.25" DOS 3.3 disk. -v stops the volume number from appearing. -f restricts the listing to files of the specified types (the eight possible filetypes are called T, I, A, B, S, R, X, and Y). -ly ("locked yes") restricts the listing to files that are locked, and -ln ("locked no") restricts the listing to files that are not locked. -o takes a string and prints it for each filename selected, substituting the filename for all "=" signs in the string. See "help =" to see how this can be useful.

1
doc/help/DT Normal file
View File

@ -0,0 +1 @@
dt -- print date and time (if available) syntax: dt ex: dt como %log;dt Prints date and time. This is fairly useless used alone, since you can get the same information by just hitting RETURN. But it may be handy if output is redirected. The second example above, if placed in %AUTOEXEC, will keep a log of all times Davex was entered.

1
doc/help/DU Normal file
View File

@ -0,0 +1 @@
du -- summarize disk usage (EXTERNAL) [v1.4] syntax: du [pathname] ex: du du /mydisk du .61 du % When used without the optional pathname, 'du' prints a table showing K free and percent used for all online volumes; then totals the K free and % used and prints the number of volumes online. If a pathname is given, du prints the name of the volume specified in the pathname; then it prints the number of free blocks, used blocks, and total blocks on the volume. Note that a "K" is 1024 bytes (characters) of storage space, which is the same as 2 blocks on a ProDOS disk; a block is 512 bytes.

1
doc/help/Date Normal file
View File

@ -0,0 +1 @@
date -- interactive date and time setting program (EXTERNAL) [v1.2] Written by Jeff Ding syntax: date [-p] {[-s] [-d] [-t]} [-f<pathname>] ex: date date -p date -s -t date -s -t -f"%time.stamp" 'Date' is a program to set the date and time of your computer if you do not have a clock built in to your computer. This program will not change the date on your clock but only change the bytes in ProDOS. This program was designed to be included in the %autoexec file. For example, add the following line to your file: "date -s." See below for the explanation of the -s option. With no options, 'date' will print the current date and time and ask for the new date and the new time. The format for the date is DD-MMM-YY. The format for the time is HH:MM in 24 hour format. If the date or time is entered incorrectly, or you just press return when prompted, 'date' will not change the current values. Options are as follows: -p: print only -- When this option is used, 'date' will only print the date and time currently on the system. -s: set date/time only if not already set -- This option will only prompt you to set the date and time if the date and time have not already been set. This option is useful in the %autoexec startup file. You will be prompted once on bootup to set the date and time. When you re-enter Davex after quitting from an application, 'date' will not ask you to change the date since you already set it on bootup. -d: date -- Use this option in conjunction with the -s option. This will force the program to always set the date even if the date has already been set. Time setting remains the same as with the -s option. -t: time -- Use this option in conjunction with the -s option. This will force the program to always set the time even if the time has already been set. Date setting remains the same as with the -s option. -f: get date/time stamp from file -- This option will set your system's date and time equal to the last modification date and time field from the file given after the option. This option is only effective when the date and time is not set. Use this option in your autoexec file to set the your system time on bootup. Example autoexec file: date -s -t -f"%time.stamp" touch %time.stamp The first line will grab the time from the file "time.stamp" in the Davex directory when first booting up the computer. Every time you rerun Davex after exiting from a sys program, you will be prompted to change only the time. The second line keeps the date current on the file "time.stamp" so it reads in the most current date when you reboot the computer. Notes: If the -p option is included along with the -s option, 'date' will ignore the -s option and only print the date and time. When you use the -t option and the newly entered hour is less than the current hour, 'date' version 1.2 will increment the date by one day, changing the month and year if necessary. The command 'date -s -d -t' performs the same functions as the command 'date' with no options.

1
doc/help/Delete Normal file
View File

@ -0,0 +1 @@
delete -- destroy files or directories syntax: delete <pathname> [-u] ex: delete this delete =.0 -u delete ?:dir Permanently destroys the specified file or directory. Wildcards are allowed. Before destroying a directory, the 'size' command is automatically used to compute the total size of the directory and everything in it, and you are given a chance NOT to destroy the directory. -u unlocks a file before trying to destroy it. When deleting a directory, -u unlocks each file before it is destroyed; otherwise any locked file in a directory will cause delete to stop with only some of the files deleted.

1
doc/help/Deschw Normal file
View File

@ -0,0 +1 @@
deschw -- describe hardware (EXTERNAL) [v1.2] syntax: deschw [-c] [-s] [-t] ex: deschw deschw -t deschw -ct deschw -s Describes system hardware. Giving no options has the same effect as giving them all. -t displays the system type. Possible types are: Apple IIgs; ROM version $xx [Machine ID = $xx] (reports total RAM, too) Apple IIe (enhanced) Apple IIe (unenhanced) Apple ][+ Apple /// (in emulation mode) Apple IIc (version 1: original) Apple IIc (version 2: 3.5" disk ROM) Apple IIc (version 3: memory expandable) Apple IIc (version 4: revised mem. expandable) Apple IIc Plus -c tries to identify the cards (and/or ports) in your system. -s displays information about all SmartPort (=Protocol Converter) cards/ports in your system, and all devices in their chains.

1
doc/help/Dev Normal file
View File

@ -0,0 +1 @@
dev -- list, add, or remove ProDOS devices syntax: dev [-r<devnum>] [-a<devnum>] [-z] ex: dev dev -z dev -r.62 dev -a.32 With no options, prints list of device numbers ProDOS scans when looking for an unknown volume. With -r, removes the specified device from the list. With -a, adds the specified device to the list. -z (zap) scans all devices in the device list and REMOVES the ones that don't have ProDOS volumes mounted. This is especially useful if you have Disk IIs that you will not use for a while. (The next time you re-enter ProDOS 8, all your disk devices will again be present in ProDOS's scan list.) Note: with -a, the low nybble of the device number is always set to 0. This is not usually a problem.

1
doc/help/Dump Normal file
View File

@ -0,0 +1 @@
dump -- display file contents in hex/ASCII (EXTERNAL) [v1.2] syntax: dump <pathname> [-a] [-h] [-o] [-s <start_pos>] [-e <end_pos>] ex: dump that.file dump ?:sys -o dump my.file -s$100 -e512 'dump' displays the contents of a file in hex and/or ASCII. Wildcards are allowed. -h display in hex -a display in ASCII If neither -h nor -a is given, the dump is in BOTH hex and ASCII. Non-printable characters in the ASCII dump are displayed as periods. Each line begins with an "offset" in hex from the beginning of the file (the first byte has offset 0). Use -o to stop the offsets from appearing. You can use the -s option to begin the dump somewhere other than the beginning of the file (offset 0), and you can use -e to end the dump somewhere other than the end of the file. Note: 'dump' is useful for looking at the exact contents of directories (both subdirectories and volume directories), not just for standard files. (This is no extra work for 'dump'; ProDOS simply allows directories to be opened and read the same way as other files.)

1
doc/help/Echo Normal file
View File

@ -0,0 +1 @@
echo -- echo string to output syntax: echo <string> [-n] ex: echo "This is a test of ECHO" como %n;echo "Don't forget to feed the dog!" echo "scan -a" -n; = % 'echo' just outputs the same string you give it. The -n option prevents a carriage-return from being printed after the string. 'echo' is useful only when output is redirected to a file or to a printer. For example, if your %autoexec file contains "pg %n", you can use como %n;echo "text here" to record a message you will see whenever you enter the shell. If you do something like that, you may want to create an alias called "note" (for example) that stands for como %n;echo " This alias could be used like this: note Finish report for saturday! [No closing quote is necessary.] (see also: como, alias)

1
doc/help/Eject Normal file
View File

@ -0,0 +1 @@
eject -- eject a volume or all volumes from SmartPort syntax: eject [pathname] ex: eject eject /mydisk eject .52 Ejects the specified 3.5" volume from a UniDisk 3.5 or Apple 3.5 drive. If no volume name is given, all 3.5" disks are ejected. Note that the parameter is a PATHNAME, so a command like "eject .52" makes Davex try to find the name of the volume in slot 5, drive 2 before searching all drives to find that volume. So 'eject' will not help you eject individual non-ProDOS disks or individual plastic shipping disks.

1
doc/help/Equal Normal file
View File

@ -0,0 +1 @@
= -- print a complete pathname or a string built from a template syntax: = <pathname> [<template>] ex: = % = xyz como my.list;= =:bas = .61prodos Prints a complete pathname. Wildcards are allowed. The first example prints the pathname of the Davex directory. The second builds a complete pathname by appending the given partial path to the current prefix. The third prints, into a file called "my.list", complete pathnames for all BAS files in the current directory. The fourth prints the pathname of a file PRODOS in slot 6, drive 1. When '=' is used without wildcards, as in the fourth example, files with the printed pathnames do not necessarily exist. The Power of Templates When the second parameter is given, wildcard expansion still takes place on the first parameter, but the _second_ parameter is printed, once all wildcard characters have been replaced. Suppose you want to use the "blist" external command to list a group of BAS files into TXT files with corresponding names in another directory. como cmd.file;= ?:bas "como /disk/listings/=;blist =" If this looks complicated, don't worry--it is. First, ">" is used to redirect output to the file "cmd.file"--we are building a list of commands to be executed with "exec cmd.file" later. The rest of the line is a single use of the "=" command. The first parameter is "?:bas"--so you are prompted yes or no for each bas file. For the ones you respond Yes to, a string is printed to cmd.file. The string is bulit from the third parameter to "=", which is "como /disk/listings/=;blist =". Suppose you responded Yes to three files: grapes, apples, and banjos. Then cmd.file would contain the following: como /disk/listings/grapes;blist grapes como /disk/listings/apples;blist apples como /disk/listings/banjos;blist banjos

1
doc/help/Err Normal file
View File

@ -0,0 +1 @@
err -- print ProDOS error message syntax: err <integer> ex: err 70 err $46 Prints the ProDOS error message corresponding to the given error code. 'err 0' prints a list of all the errors in the table. Davex never prints an error number if a message is available instead. This command is useful if you get an error code from a program that doesn't have a table of ProDOS error messages built in. (Applications created by 'sysalias' will print two-digit error codes if something goes wrong; use "err $xx" to see what they mean.)

1
doc/help/Exec Normal file
View File

@ -0,0 +1 @@
exec -- get keyboard input from a file syntax: exec <pathname> ex: exec foo.bar Makes keyboard input come from the specified file until an error occurs or until end of file is reached. Wildcards are allowed. The file must be of type TXT ($04), SRC ($B0), or $C6/$8001 (Davex 8 Script). If %autoexec exists, Davex automatically execs it on entry. (If another pathname is passed to Davex in its startup buffer, Davex attempts to exec the specified file instead of %autoexec.) Command prompts and commands will not appear on the screen while the file is being exec'ed (but the commands DO get stored in the History buffer, so you can use the up arrow to see what commands were executed; this is useful if an error occurs during the exec). (see also: setstart)

1
doc/help/Expand Normal file
View File

@ -0,0 +1 @@
expand -- Expand tabs (EXTERNAL) [v1.1] Written by Jeff Ding syntax: expand <pathname> [-c<ascii number>] [-t<number>] [-s"<tabstop 1,tabstop 2,tabstop 3,....,tabstop 16>"] ex: expand file.w.tabs expand merlin.s -c160 -s"14,20,35" > file.no.tabs ; expand file 'Expand' expands up to 16 definable tab stops per line in the given pathname. Line lengths of up to 255 characters are supported. Longer lines are split into multiple lines. Use output redirection on the command line to save output in a file (last example). The second example works great for viewing Merlin source files. Options are as follows: -c: character for tab. Enter the ascii value of the character to use for the tab expansion. The default character is value 9 for ctrl-I. The tab character is hi-bit sensitive. -t: tab spaces. This is the number of spaces between two consecutive tab stops, normally 8. Can be any number from 1 to 255. -s: tab stops. Up to 16 tab stops can be defined manually. Each stop must be greater than the previous with no value exceeding 255. If less than 16 stops are defined, the remaining stops are constructed from the defined tab spaces.

1
doc/help/FFind Normal file
View File

@ -0,0 +1 @@
ffind -- find files by name/filetype/auxtype/etc (EXTERNAL) [v1.2] syntax: ffind [<pathname>] [-n <string>] [-e] [-f <filetype>] [-x <integer>] [-o <string>] [-q] [-p] [-d] [-b y|n] [ -i y|n] [-s <integer>] ex: ffind .61 -n foo --find pathnames of all files on volume in slot 6, drive 1 with names containing "foo" ffind . -fsys --find all sys files in current directory ffind --find all files on all volumes 'ffind' is a flexible command for locating files. It is especially useful if you have a lot of subdirectories, since it will look inside any subdirectories it finds. The various options can be combined in a large number of useful ways; no attempt is made here to illustrate all the possible combinations. pathname: Tells 'ffind' where to look. If you leave this out, it looks on all the ProDOS volumes in your system. Wildcards are not currently allowed. -n: Specifies a string which must be contained in a filename before 'ffind' will print it. Example: ffind -n copy finds all files having "copy" somewhere in their names. -e: Forces -n to find only exact matches (not files whose names merely *contain* the specified string). [This option is meaningful only if you use -n.] -f: Tells 'ffind' what filetype to look for. Example: ffind -fawp finds AppleWorks Word Processor files. -x: Tells 'ffind' what auxiliary type to look for. Example: ffind -fbin -x$800 finds binary files that load at $800. -b: Tells 'ffind' to look for files that have their "need backup" flag set (-by) or clear (-bn). (The backup bit is displayed in 'cat' listings and by the 'info' command; it gets set whenever a file is changed, and you can clear it with the -b option of the 'copy', 'update', or 'touch' commands.) -d: 'ffind' normally prints detailed information on each match found, like this: filetype auxtype last-modified-date pathname The -d option tells 'ffind' NOT to print this detailed information about each file. (Note that earlier versions of 'ffind' defaulted to no detailed information, and the -d option forced its inclusion.) -q: Stands for "query"--forces 'ffind' to stop after every match and ask "Continue search? (y/n)" -p: Sets your prefix to the directory containing the last match found. -o: The string following "-o" will be printed for each pathname found, but the pathname found will be printed in place of any "=" characters in the string. [This is useful for generating script files to be 'exec'ed later. See 'help =' for more discussion, since the '=' command has a similar feature.] -i: Tells 'ffind' to look for files that have their "invisible" flag set (-iy) or clear (-in). (The invisible flag is displayed in 'cat' listings (use -i to see invisible files) and by the 'info' command. You can set or clear it with the -i option of the 'touch' command.) -s: Tells 'ffind' what storage type to look for. Example: ffind -s5 finds all GS/OS "extended" files. This might come in handy when copying lots of files, since Davex (and ProDOS 8) can't work with extended files.

1
doc/help/FP Normal file
View File

@ -0,0 +1 @@
fp -- text formatter (EXTERNAL) (Based on an early version of FreePrinter by Elliot Lifson) syntax: fp <wildpath> [-1] [-c] ex: como &;fp mypaper -1 fp -c [Note--'fp' is offered in its current form because it is better than nothing. It isn't cleanly implemented and may have some problems. It isn't going to crash your system or fry your disk, but I wouldn't recommend trying to print your thesis with it.] Outputs formatted text generated from text and imbedded "dot commands" in a file. -c prints credits; -1 is the same as including ".sp1" in the file. The dot commands 'fp' recognizes are similar to the ones AppleWriter recognizes. They are (defaults in parentheses): .lm# (10) -- left margin .rm# (70) -- right margin .pm# (0) -- paragraph margin (may be negative) .tm# (0) -- top margin .tl ("") -- top line text (*=delimeter) .li# (1) -- line spacing (NOT IMPLEMENTED) .sp# (0) -- single page (1=prompt for each page) .pi# (66) -- page interval: # of lines per page .pl# (60) -- printed lines per page .lj -- left justify (default) .cj -- center justify .rj -- right justify .fj -- fill justify (left and right) .ff -- formfeed -- begin new page .ff# -- begin new page if fewer than # lines remain on this page # is a number from 0 to 255. Most values can be ADJUSTED up or down by putting a "+" or "-" in front of the number. Example: .lm+5 moves left margin right 5 spaces

1
doc/help/FType Normal file
View File

@ -0,0 +1 @@
ftype -- display or update your filetype name table syntax: ftype [-r<ftype>] [-a<string> -v<ftype>] [-z] ex: ftype ftype -rbas ftype -r1 ftype -aLNK -v$F8 ftype -z Davex has two lists of filetype names: one is in your %config file (maximum of 63 entries), and the other one is built into Davex. Entries in your table can override built-in entries. 'ftype' with no options displays all filetypes in your %config file, followed by all the filetypes in the internal list. -r removes the given filetype from your list. -a and -v are used together to add one filetype to your list. Case is unimportant when looking for a filetype in the table, BUT the types are displayed with the case you use in the -a option. 'ftype -z' (zap) wipes out any extra filetypes you have added (with ftype -a) to your %config file, leaving only the built-in table.

1
doc/help/Filetype Normal file
View File

@ -0,0 +1 @@
filetype -- change file's type (& auxtype) syntax: filetype <pathname> <filetype> [-x<integer>] ex: filetype myfile sys filetype ? bin -x$2000 Changes the file type (NOT the storage type) of a file. If -x is given, also sets the auxiliary type (subtype) as specified. NOTE: Although you can change a DIR file into another type, and you can change a non-DIR file into a DIR file, this changes ONLY the file type and will cause much confusion--it is not recommended. (The storage type is not affected.)

1
doc/help/Find Normal file
View File

@ -0,0 +1 @@
find -- search a file for lines containing a string (EXTERNAL) [v1.1] syntax: find <pathname> [<string>] [-L<integer>] [-w<integer>] [-c] [-n] ex: find phones frank find .61= -n find /info/addresses "John S" -L5 'find' searches files for lines containing a specified string. Each matching line (each one containing the string) is displayed (non-printable characters appear as periods). pathname: Specifies what file to search. Wildcards are allowed. Note: 'find' is appropriate for searching (AppleWorks Word Processor (AWP) files as well as "plain text" files (TXT and SRC, for example). string: Specifies what to search for. If this string contains blanks or begins with a "-", you must put quotation marks around it (use either ["] or [']). (If you omit the string, all lines in the file will be counted as matches.) Uppercase and lowercase letters are considered the same. -c: Count the number of matching lines instead of displaying them. (Use -L1 to display matches *and* the count.) -L: Specifies the number of consecutive lines to display starting with each matching line. If you do not give this option, only the matching lines are displayed. (If -c is given, no lines are displayed unless you also use -L.) [An additional line printed after a match may itself be a matching line. In cases like this, 'find' continues printing lines until the requested number of lines have been printed after the last match.] -n: Causes line numbers to appear before every line displayed. The line numbers may not correspond exactly to the line numbers you see in AppleWorks, since 'find' ignores lines containing formatting commands. -w: Sets the wrap margin for breaking a file into lines. You will probably have no need for this option unless the files you are searching use carriage-return to mark *paragraphs* rather than lines (for example, most AppleWriter files). The wrap margin defaults to 70. You can specify your own margin with the -w option (your margin must be in the range 11 to 254). A line ends when (1) it hits the wrap margin, (2) at a carriage return, or (3) at a blank within 9 characters of the wrap margin (whichever comes first). [Note--find v1.0 failed to find strings at the beginning of a line.]

1
doc/help/GSBuff Normal file
View File

@ -0,0 +1 @@
gsbuff -- examine or set sizes of IIgs serial port buffers syntax: gsbuff <portnum> [-i <integer>] [-o <integer>] ex: gsbuff 1 --shows printer buffer info gsbuff 2 --shows moddem buffer info gsbuff 1 -o 20000 --sets printer output buffer size to 20000 bytes gsbuff 2 -i 65535 --sets modem input buffer size to 65535 bytes 'gsbuff' lets you change the size of the input and output buffers on the Apple IIgs serial ports (normally, port 1 is used for a printer and port 2 is used for a modem). You should turn on buffering in the control panel (under Printer Port or Modem Port) before setting up buffers with 'gsbuff'. (When you do this, the ROM allocates bufers that are only 2048 bytes long.) Use -i to set the input buffer size and -o to set the output buffer size. Buffer sizes must be in the range 1 to 65535 bytes. Note that 'gsbuff' always allocates NEW memory for buffering and never frees up previously-allocated memory. After allocating a buffer with 'gsbuff', it is recommended that you use Apple-Ctrl-RESET or "boot -i" if you restart your system (rather than "PR#n" from BASIC or "boot -sn" from Davex). This will insure that the ROM does not try to use a buffer that is no longer present. NOTE: Printer buffering has very limited usefullness with the current Apple IIgs ROM (version 01; see 'deschw'), since the ROM empties your printer buffer whenever something new is printed. If you are willing to always wait until your previous document is done printing before printing anything else, then buffering will be useful to you.

1
doc/help/Hdr Normal file
View File

@ -0,0 +1 @@
hdr -- print a file's header (the first n lines) (EXTERNAL) syntax: hdr <pathname> [-Ln] ex: hdr thatfile hdr %help/= -L2 Displays lines from the beginning of a file. Wildcards are allowed. If -L is given, the specified number of lines is displayed. If -L is omitted, the first 5 lines are displayed. 'hdr' works for AWP files and for any file type that contains plain text (for example, txt or src).

1
doc/help/Help Normal file
View File

@ -0,0 +1 @@
help | ? -- display command information syntax: help [string] ex: help ? help topics ?cat 'help' or '?' alone prints a list of built-in commands. 'help' or '?' followed by a command name or topic prints information on that command or topic. Type "help topics" for a list of available help topics. It is not necessary to put a blank after the '?' command. Note about ALIASES: 'help' doesn't currently understand aliases. To get help on a "command" like "dir" (really an alias for 'cat') you have to type "help cat" (or "?cat"), not "help dir". ['Help' may be more intelligent about aliases in a future version of Davex; for now, you'll have to type "alias" to see what the real name for your command is.] To save disk space, most of the help files have been compressed and included in the file "indexed.help" in the help directory. The help directory is normally %help, but the 'config' command can be used to put the help somewhere else. When you ask for help on a given topic, 'help' always looks for a file with the same name in the help directory before consulting the indexed help file. (see also: config, "help topics")

1
doc/help/IW2 Normal file
View File

@ -0,0 +1 @@
iw2 -- set options for ImageWriter II (EXTERNAL) [v1.1] syntax: iw2 [-n] [-1 y|n] [-b y|n] [-u y|n] [-8 y|n] [-s y|n] [-l <integer>] [-p <integer>] [-r y|n] [-q <integer>] [-c <integer>] [-0 y|n] [-h <integer>] [-f <integer>] [-i y|n] [-e <integer>] [-t] [-x] ex: iw2 -n iw2 -p12 -by -un iw2 -sy -1n -l10 Sets print options, assuming an ImageWriter II is connected to the printer slot (see 'config'). Each option is explained below: -n (normal) reinitialize printer to power-up state -1 y|n -1y set unidirectional printing; -1n sets bidirectional -b y|n boldface: yes or no -u y|n underlining: yes or no -8 y|n eight lines per inch: yes or no (no=6 lines per inch) -s y|n skip to new page every 60 lines: yes or no -l # set left margin in characters (normally 0) -p # set pitch; may be 4..10, 12, 13, 15, 17 -r y|n reverse formfeed direction; y=reverse, n=forward -q # print quality (0=standard, 1=draft, 2=near-letter-quality) -c # color (0..6) -0 y|n slashed zeroes: yes or no -t set top of form to here [ -h nnnn form height (in n/144 inches) NOT IMPLEMENTED ] -f # font (0=American...7=Spanish) -x cancel unprinted text (send ctrl-x) -i y|n ignore out-of-paper sensor: yes or no -e # 0: enable ROM character set; 1=enable downloaded charset, low half; 2=enable downloaded charset, high half Note: -s and -n reset the printer's top of form, so they should be used only when the printer is at the top of a page. Note: In version 1.0 of 'iw2', the -f, -x, -i and -e options did not work. Now they do. (see also: config)

1
doc/help/Index Normal file
View File

@ -0,0 +1 @@
index -- create, add to, and view sections of indexed files [EXTERNAL] (v1.0) syntax: index <pathname> [-s <index-size>] [-a <filename>] [-e <string>] [-v <string>] ex: index %help/indexed.help -s1200 index %help/indexed.help -aprefix -ecd index %help/indexed.help -vprefix 'index' is used to build the %indexed.help file containing most of the help files for Davex. Use the -s (size) option to create a new file, reserving the specified number of bytes for the index. Use the -a option with a filename to append the contents of a file to an existing indexed file. The -e option is used if you want to add an alternative key to the index for a file--the second example above adds the contents of a file called "prefix" to an index file, and the text can later be accessed with a key of either "prefix" or "cd", since "cd" appears after the -e (extra key) option. The -v option lets you look up things in an indexed file; it's equivalent to what the 'help' command does with %help/indexed.help if it doesn't find a particular file first.

1
doc/help/Info Normal file
View File

@ -0,0 +1 @@
info -- print info on file, directory, or volume syntax: info <pathname> ex: info myfile info =:sys info .61 info %help/= Displays info for file, subdirectory, or volume. Wildcards are allowed. The information printed is: * complete pathname * device number of the drive containing the file/directory * storage type (seedling, sapling, tree, Pascal area, extended, directory, or volume) * file type * access (r=read, w=write, n=rename, d=delete, B=changed since backup, I=invisible) * auxilary type (default load address for BIN, record length for TXT, saved location for BAS; total blocks for VOLUME) * number of blocks used * date/time created (for a volume, even!) * date/time last modified (see also: size, what)

1
doc/help/Init Normal file
View File

@ -0,0 +1 @@
init -- initialize a ProDOS disk (EXTERNAL) [v1.2] syntax: init device-number [volume-name] [-p] [-b] [-1] [-w] ex: init .52 /mydisk init .61 -b init .61 -p init .51 -1 -b init .71 -w Initializes a ProDOS volume. If the volume in the specified device has already been initialized, init warns you that the existing volume will be destroyed. If no volume name is specified, the new volume is named "/blank". If -p is given, init prompts you to insert the disk to be formatted. If -b ("batch") is given, 'init' prompts you to insert another disk after each successful format. If -1 is given and a disk in an Apple 3.5 or Unidisk 3.5 drive is being formatted, the disk will be formatted SINGLE SIDED and will have a capacity of 400K (800 blocks). If -w is given, no formatting is done--instead, just the "boot blocks" (blocks 0 and 1) are written to the disk. This is necessary, for example, to make a RAM disk (or a disk formatted in AppleWorks) bootable. (The program contained in blocks 0 and 1 finds and loads a file called PRODOS in the main directory of the disk.)

1
doc/help/Lock Normal file
View File

@ -0,0 +1 @@
lock -- make a file read-only syntax: lock <pathname> ex: lock this lock =:txt Disallows rename, delete, and write for file. Wildcards are allowed. (see also: unlock, prot)

1
doc/help/MX80 Normal file
View File

@ -0,0 +1 @@
mx80 -- set up print options for Epson MX80 (EXTERNAL) [v1.1] syntax: mx80 [-z] [-n] [-1 y|n] [-b y|n] [-e y|n] [-i y|n] [-u y|n] [-8 y|n] [-s <integer>] [-l <integer>] [-p <integer>] ex: mx80 -z mx80 -p17 -by -in -uy mx80 -s6 Set print options, assuming an Epson MX80 is connected. Each option is explained below: -z (zap) set all options to power-up defaults (including top of form) -n (normal) turn off special modes and set 10 cpi -1 y|n -1y set unidirectional printing; -1n sets bidirectional -b y|n boldface: yes or no -e y|n emphasized: yes or no (double strike) -i y|n italics: yes or no -u y|n underlining: yes or no -8 y|n eight lines per inch: yes or no (no=6 lines per inch) -s # set number of lines to skip over at end of page -l # set page size in lines (normally 66) -p # set pitch; may be 5, 8 (really 8.5), 10, or 17 (really 17.16) 'mx80' v1.0 didn't work with recent versions of Davex.

1
doc/help/ModChk Normal file
View File

@ -0,0 +1 @@
modchk -- compare modification dates on pairs of files (EXTERNAL) syntax: modchk <pathname1> <pathname2> [-q] [-o] [-n] [-s] ex: modchk thisfile thatfile modchk /disk/= /backup/= -o -n modchk =.s = -n Checks the last-modification dates on a pair of files. Wildcards are allowed. If none of -o (older), -n (newer), or -s (same) is given, a message of the form <pathname1> <relation> <pathname2> is displayed. Relation is "<" (older), "=" (same), or ">" (newer). If one or more of -o, -n, or -s appears, pathname1 is displayed only if the files satisfy one of the specified conditions. The second example above displays the names of files on /disk which are older OR newer than the files with the same names on /backup. The third example above displays the names of ".s" files that have been modified since their corresponding files without the ".s" suffix. This is useful for insuring that you have not changed an assembly language source file without recompiling it. If -q (quiet) is given, no complaint is displayed if the second file doesn't exist.

1
doc/help/Mon Normal file
View File

@ -0,0 +1 @@
mon -- enter the Monitor syntax: mon ex: mon Dumps you into your Apple's monitor. Ctrl-Y or RESET or 3D0G will get you back to Davex. (On an Apple IIgs, Q will do it, too.) (If the only kind of "monitor" you care about is the one you're looking at right now, this command isn't for you--it's for people addicted to machine language.)

1
doc/help/Move Normal file
View File

@ -0,0 +1 @@
move -- copy, deleting the original Alias for: copy -d syntax: move <source pathname> [<dest pathname>] ex: move this.file that.dir move =.0 /disk2/extras move /disk1/that 'move' is an alias for 'copy -d'. It has the effect of "moving" a file from one directory to another, on a different volume or the same volume. Wildcards are allowed. Note: Before Davex v1.25, move was a built-in command, but it still worked exactly like 'copy -d'. (see also: copy)

1
doc/help/Num Normal file
View File

@ -0,0 +1 @@
num -- print a number in decimal and hex syntax: num <integer> ex: num $FF1800 num 65385 'num' accepts a number from 0 to 16777215 and prints it in base 10 and base 16.

1
doc/help/Online Normal file
View File

@ -0,0 +1 @@
online -- show names of online volumes syntax: online [-o] ex: online online -o Shows names and locations of online volumes. If -o is given, only ProDOS volumes are shown. Sample output: .32 = /ram .61 = /thatdisk .62 = <not ProDOS volume>

1
doc/help/Origin Normal file
View File

@ -0,0 +1 @@
origin | or -- set prefix to the volume Davex is running from Alias for "%;top" syntax: origin ex: origin or This is just an alias for "%;top"--it sets your prefix to the top directory of the disk Davex is running from. (see also: prefix, over, top, up)

1
doc/help/Over Normal file
View File

@ -0,0 +1 @@
over -- move to another directory Alias for: up;prefix syntax: over <pathname> ex: over that over a/b Changes prefix to another directory at the same level. 'over' does an 'up' and then does 'down <path>'. (see also: up, down, prefix, origin)

1
doc/help/PG Normal file
View File

@ -0,0 +1 @@
pg -- display plain text or AWP file a page (screen) at a time syntax: pg <pathname> [-h] [-f] [-u] [-l] [-t tab_string] ex: pg this pg ?:txt -h como newfile;pg oldfile -l pg that -t" " Types contents of a file (any type, not just TXT). Wildcards are allowed. -h generates a header giving the date/time the file was last modified. -f disables filtering of control characters; normally they are filtered out. -u and -l force all alphabetic characters to display in uppercase or lowercase, respectively. -p begins a new page after the file is printed. -t lets you specify a string to be printed in place of each TAB character (Ctrl-I). You may want to make an alias for 'pg' with a tab string. At the bottom of each screen, you are prompted --- xx% --- more? (Y/N) where xx is the percent of the file (calculated by counting characters, not lines) you have read so far. When output is redirected to a file or to the printer, no prompting takes place. Note: many file types do not contain plain text. This command knows how to interpret AWP files, but simply displays all other files byte-for-byte. If you type a SYS file, for example, you will get a lot of garbage and (probably) a few readable messages. (see also: type, como, strings, alias)

1
doc/help/PSet Normal file
View File

@ -0,0 +1 @@
pset -- set up print options for NEC8023/ProWriter/Imagewriter (EXTERNAL) syntax: pset [-n] [-1 y|n] [-b y|n] [-u y|n] [-8 y|n] [-s y|n] [-l <integer>] [-p <integer>] [-r y|n] ex: pset -n pset -p12 -by -un pset -sy -1n -l10 Sets print options, assuming a NEC 8023 or ProWriter or ImageWriter is connected. Each option is explained below: -n (normal) turn off special modes and set 10 cpi -1 y|n -1y set unidirectional printing; -1n sets bidirectional -b y|n boldface: yes or no -u y|n underlining: yes or no -8 y|n eight lines per inch: yes or no (no=6 lines per inch) -s y|n skip to new page every 60 lines: yes or no -l # set left margin in characters (normally 0) -p # set pitch; may be 5, 6, 8, 10, 12, or 17 -r y|n reverse formfeed direction; y=reverse, n=forward Note: -s and -n reset the printer's top of form, so they should be used only when the printer is at the top of a page.

1
doc/help/PType Normal file
View File

@ -0,0 +1 @@
ptype -- display a Pascal Text file ($03) (EXTERNAL) syntax: ptype <pathname> ex: ptype foo.bar ptype .61=:$03 'ptype' displays the contents of a Pascal Text file (filetype $03). The first 1024 bytes are ignored; the rest of the file is plain text except that Ctrl-P ($10) means the next byte represents a number of blanks.

1
doc/help/Pathnames Normal file
View File

@ -0,0 +1 @@
SHORTHAND FOR PATHNAMES '%' stands for the name of the directory Davex is in. A period (.) followed by a slot and drive number stands for the name of the volume in the specified slot and drive. '.' stands for the current directory, and '..' stands for the directory above the current one. Examples: info .61/prodos info .61prodos ../help ..help info %/davex info %davex ffind . -f sys

1
doc/help/Prefix Normal file
View File

@ -0,0 +1 @@
prefix -- change prefix syntax: prefix <pathname> ex: prefix /disk/dir prefix x/y prefix %help prefix .62blah prefix m= /mydisk/dir1 .61 Changes the prefix (which is displayed as your prompt in Davex). (Typing 'prefix' with no pathname makes your prefix empty; this is not usually desirable.) Note that an IMPLIED prefix command is done if you type a complete pathname (including one starting with "%" or ".xx"), or if a partial pathname is found in your scan list. If a partial pathname is given, it is appended to the current prefix. So "prefix letters" when your prefix is already "/disk" will make your prefix "/disk/letters". You can also set your prefix just by typing the name of a directory. The process is not quite the same--if you type a partial pathname, Davex uses your scan list to find the directory. It follows the same rules as for launching SYS or S16 files, but if it finds a DIR, it just sets your prefix. For example, if the first entry in your scan list is "*", you can always change to a subdirectory of the current directory just by typing the subdirectory's name (unless that name is an internal Davex command!). (see also: origin, up, top, over, scan)

1
doc/help/Prot Normal file
View File

@ -0,0 +1 @@
prot -- protect file syntax: prot <pathname> [-r] [-w] [-n] [-d] ex: prot this prot ? -rwn Allows only the specified rights to a file: r)ead, w)rite, ren)ame, and d)elete. Wildcards are allowed. prot x -r = lock x prot x -rwnd = unlock x (see also: lock, unlock)

1
doc/help/RAM3 Normal file
View File

@ -0,0 +1 @@
ram3 -- disable/enable ram drive (EXTERNAL) [v1.1] Written by Jeff Ding syntax: ram3 {[-r] [-f]} {[-a] [-vxxxxx] [-ixx]} ex: ram3 ram3 -r -f ram3 -a ram3 -a -v65280 -i15 'ram3' is used to disable the ram driver in slot 3 drive 2. Once disabled, you can then use the auxiliary memory in your computer for programs or for double hi-res. 'ram3' with no options will tell you if it is installed or not. Other options are as follows: -r: remove -- This option will remove the driver in slot 3 drive 2. You will be notified and asked to remove the volume if it is not empty. If the vector or the identification of the ram driver is different from the standard, it will be printed along with a message stating the driver has been removed. See -v and -i for the description of the vector and identification. Be sure to keep track of these values so that when you want to re-install the driver you can use the original values. -f: force removal -- This option used in connection with the -r option will remove the driver even if the volume is not empty. Use this option with caution! -a: add -- This option alone will re-install the standard ProDOS 64k /ram driver. This option alone will not work on a II+ because it does not have the necessary auxiliary memory and driver. If you want to install a driver for a third party ram card on a II+, you must use the -a option in conjunction with the -v option. -v: vector -- This option used in connection with the -a option will allow you to install a driver at a specific location xxxxx. This vector points to the entry point of the driver routine. The location for the standard /ram driver is 65280. -i: identification -- This option used in connection with the -a option will allow you to set the identification of the /ram drive. The identification is the lower nybble of the device number. The standard identification is 15.

1
doc/help/Rename Normal file
View File

@ -0,0 +1 @@
rename -- change name of file, directory, or volume syntax: rename <pathname> <pathname> ex: rename this that rename /blank /mydisk rename letter= ltr.= Changes the name of a file, directory, or volume. Wildcards are allowed, as in the third example. A wildcard in the second pathname expands to the same text the wildcard in the first pathname is matching. The third example changes the names of files beginning with "letter" to begin with "ltr." instead. If you change the name of an AppleWorks file (filetypes AWP, ADB, and ASP) from Davex, you may find the capitalization to be strange. This is because AppleWorks stores the capitalization information in the file's Auxiliary type, which is not affected by this command. Use Apple-N while editing the file in Appleworks to fix the capitalization.

1
doc/help/Rep Normal file
View File

@ -0,0 +1 @@
rep -- repeat: execute a command several times syntax: rep <integer> ex: rep 10;echo "Ten!" como &;rep 5;type handout= -p Executes the next command the specified number of times. 'rep 0' has no effect, and the largest number 'rep' accepts is 65535. 'rep' will not repeat another 'rep' command. The second example prints 5 copies of all files beginning in "handout" to the printer. All repetitions are executed for each file matching the wildcard before Davex looks for another wildcard match.

1
doc/help/Scan Normal file
View File

@ -0,0 +1 @@
scan -- examine or change the scan list syntax: scan [-r<string>] [-a<string>] [-z] ex: scan scan -z scan -a /ram scan -a * scan -a .61 scan -a .62utils scan -r /hard2/sys/ With no options, prints the list of directories Davex scans when you type something that isn't an internal command. Use the -a and -r options to add or remove a paths from the list. The special path '*' in the scan list tells Davex to scan the directory your prefix is set to. Use 'scan -z' to reset the scan list to the default (the default is "%" followed by "*"). Note: If '%' and '.##' shorthand forms are used in the scan list, they are expanded during scanning, not when they are entered into the list. This lets you specify that Davex should scan certain _drives_ (or directories on whatever volumes are found in them) rather than certain volumes.

1
doc/help/SetDate Normal file
View File

@ -0,0 +1 @@
setdate -- a crude way to set the date syntax: setdate <month> <day> <year> <hours> <minutes> [-p] ex: setdate 4 10 88 22 40 --April 10, 1988 at 10:40 pm setdate 4 10 88 10 40 -p --same date setdate 3 28 67 0 10 --March 28, 1967 at 12:10 am 'setdate' is a straightforward command for setting the ProDOS date and time. -p means "p.m." and is the same as adding 12 to the hours value. 'setdate' is useful only if your Apple does not have a clock card. (The Apple IIgs has a clock built in; if ProDOS does not know the time on your GS, it's because you are using ProDOS 1.1.1 or earlier.) If you want to be weird, you can type BF06:60 from the monitor to disconnect the clock driver from ProDOS.

1
doc/help/SetStart Normal file
View File

@ -0,0 +1 @@
setstart -- examine or set a SYS file's startup path syntax: setstart <pathname> [-s <string>] ex: setstart /disk1/basic.system setstart my.program -s /disk1/foo.bar Displays or changes the default startup pathname of the specified SYS file. Wildcards are allowed. If the -s parameter is given, the default startup path is changed to the string you specify. Example: setstart basic.system would print Startup path is "startup" on an unmodified copy of BASIC.SYSTEM, because STARTUP is the file BASIC.SYSTEM tries to run when you don't specify another path. To make BASIC.SYSTEM run a different file by default, use setstart basic.system -s your.prog.name Possible errors (in addition to ProDOS errors): *** not a SYS file *** SYS file does not have a startup buffer *** path too long for the startup buffer

1
doc/help/Shareware Normal file
View File

@ -0,0 +1 @@
$ -- print copyright notice and shareware notice syntax: $ ex: $ The '$' command prints a copyright notice and a shareware notice for Davex. You may want to type Apple-H when the notice is on your screen to print a hard copy to your printer.

1
doc/help/Size Normal file
View File

@ -0,0 +1 @@
size -- show size of file or directory syntax: size <pathname> ex: size this size =:sys size .61=:dir For a non-directory file, prints file size in blocks and in bytes. For a directory, compute and print the sum of the sizes of all the files and directories within the directory. Wildcards are allowed. The total size in BYTES of a directory is often MUCH smaller than 512 times its size in BLOCKS, even though all blocks are 512 bytes long. This is because not all the bytes of a file's last block are used. As an extreme example, a directory containing 12 files of one byte each would have a size of 13 blocks (1 for the directory and 1 each for the files), but only 524 bytes (512 for the directory block and 1 each for the files). (Note that the size reported for a volume directory includes actual directory blocks but omits the 2 boot blocks and the bitmap block(s). There is one bitmap block for every 4096 blocks on the volume.)

1
doc/help/Split Normal file
View File

@ -0,0 +1 @@
split -- split off sections of files (EXTERNAL) [v1.1] Written by Jeff Ding syntax: split <input pathname> [<output pathname>] [-s<number>] [-e<number>|-l<number>] [-b y|n] [-f] [-d<number>] [-w<margin>] ex: split infile outfile -s0 -e1023 split infile -s50 -e100 -bn split file1 -s50 -l100 -bn -m60 'Split' splits off a section of the input file into the output file. If the output file is not specified, output goes to the screen. The input file is never modified. Wildcards are supported. 'Split' works with any file type, but the input file is always treated as a raw collection of bytes. This means, for example, that you can split off a piece of an AWP file, but the resulting smaller file will not be a valid AWP file. However, you can always use 'combine' to put a big file back together from pieces created with 'split'. The starting position is determined by the number after -s. The ending position is determined by either -e (end) or -l (length). Note that length = end - start + 1. The starting/ending/length parameters are measured in either bytes or lines. Use the -b (count by bytes) parameter with a yes/no value to choose: -by to count by bytes; -bn to count by lines. If you don't use the -b option, 'split' counts by bytes. Options are as follows: output pathname: split section is saved to this file. If not specified, output goes to the screen. The output file type will always be the same as the input file type. -s: starting offset position. The first byte in a file has an offset of 0. The first line in a file has an offset of 1. If not specified, the start position is set to the beginning of the file. -e: ending offset position. Maximum offset is 16777214. If not specified, the ending position is set to the end of the file. -l: length of section. Maximum length is 16777214. Use either -e OR -l. If -e is given, -l is ignored. -b y|n: measurement in bytes (yes) or lines (no). Bytes is the default. -f: force overwrite. Skips the "Okay to overwrite" question if the output file already exists. -d <ascii number>: this determines what character is used for the line delimiter. Use the ascii value for the character. -w <margin>: wrap margin. Affects output to the screen only. This will force a carriage return when either the margin or a space within 9 characters of the margin is reached. Allowed values are 0 through 255. A 0 value has the same effect as not using the option. Version 1.1 fixes a bug when specifying an output file and not using the -e option. (see also: combine)

1
doc/help/Spool Normal file
View File

@ -0,0 +1 @@
spool -- spool files for later printing syntax: spool [<pathname>] [-z] [-x <int1>] ex: spool ?:txt spool spool -z spool -x3 Queues files for background printing. Wildcards are allowed. You must remain in Davex until the printing completes, and you may not redirect output to the printer (see 'como'), since that would make a mess. Use the 'config' command to set the slot 'spool' will print to. 'spool -z' Zaps the spool queue (cancels printing of all spooled files) and formfeeds the printer. 'spool' shows a numbered list of files waiting to print. 'spool -x' cancels one file in the queue by number. NOTE: The text of spooled files is sent directly to the printer. This is fine for TXT files (and SRC files, and possibly some other filetypes). It is NOT fine for AWP files (try it if you want...it's sort of entertaining). A future Davex version will probably support spooling AWP files. For now, create a temporary file, 'pg' the AWP file into it, and spool the temporary file. Example: como temp;pg my.awp.file spool temp Spool does not work well with speech synthesizers; Davex does not have control while the system is waiting for keyboard input. Speech synthesizer users can use the 'wait' command to let spooled files print. (SPOOL stands for Simultaneous Peripheral Operation On-Line.)

1
doc/help/Strings Normal file
View File

@ -0,0 +1 @@
strings -- find printable strings in a file (EXTERNAL) [v1.0] syntax: strings <pathname> [-L <minimum_length>] [-o] [-m] ex: strings thatfile strings ?:sys -o -l10 Searches for and displays possibly readable ASCII strings in a file of any type. Wildcards are allowed. The -L option specifies the minimum number of consecutive printable characters that qualifies as a printable string; the default is 6. The -o option stops the offsets of the found strings from being displayed. The -m option allows strings to have mixed low-ASCII (bit 7 clear) and high-ASCII (bit 7 set) characters in them.

1
doc/help/SysAlias Normal file
View File

@ -0,0 +1 @@
sysalias -- create an alias for a SYS or S16 file (EXTERNAL) [v1.3] syntax: sysalias <existing_program> <alias_to_create> [-p prefix] [-s startpath] ex: sysalias /disk/davex/davex.system /disk/dvx.system sysalias davex.dir/davex /disk/start.system sysalias /disk/awks/aplworks.system %aw sysalias /work/applewr/awd.system %awr -p /work/applewr sysalias /disk1/basic.system basic -s /disk1/tons.o.fun sysalias /awgs.program/appleworks.gs awgs -s /ss/my.budget Creates a one-block program file (name = alias_to_create) which runs a given SYS or S16 file (name = existing_program). Wildcards are allowed. This allows program files to appear to be in more than one place at a time without taking up much extra disk space. (S16 files are useful only on the Apple IIgs.) In most cases, you will want to specify a complete pathname for <existing_program>. If you specify a partial pathname, the one-block SYS or S16 file created may or may not be able to find the program it's looking for, depending on the prefix at run time. If you use -p, the file created will set the prefix as specified before running its program file. When you sysalias a SYS file that has a startup buffer, the alias will have one, too; the alias passes the startup information along to the original program. The -s option can be used with SYS files to put a default "startup pathname" in the alias's startup buffer. This name will be passed on to the application being aliased. The fifth example above creates a file called "basic" which is an alias for "/disk1/basic.system". If you type "basic" without a parameter, Davex will run BASIC.SYSTEM, and BASIC.SYSTEM will run "/disk2/tons.o.fun", because this was specified with the -s option. This alias can still accept a startup path. If you type "basic /disk3/more.fun" BASIC.SYSTEM will run the program you specified instead. Note: It is advisable to use COMPLETE pathnames as startup parameters to BASIC.SYSTEM. Here's why: BASIC.SYSTEM handles the Prefix as you would expect ONLY if it refers to a subdirectory. If the Prefix is set to a disk's top-level directory, BASIC.SYSTEM will behave as if you are Prefixed TO THE DISK BASIC.SYSTEM IS RUNNING FROM. This can be confusing. (Alternatively, you could use a partial pathname AND use the -p option to set a particular subdirectory prefix.) When you sysalias a S16 application, the -s option tells the alias to put the specified string in a "files to open" message in the Apple IIgs Message Center, the same way the Finder does. In the last example above, the S16 file AWGS is created. When you type AWGS on the Davex command line, Davex launches the file /awgs.program/appleworks.gs AND creates a "files" message containing the path /ss/my.budget. Then AppleWorks GS automatically opens the file /ss/my.budget, just like you clicked on that file's icon in the Finder.

1
doc/help/TR Normal file
View File

@ -0,0 +1 @@
tr -- translate strings (EXTERNAL) [v1.2] Written by Jeff Ding syntax: tr <input pathname> [<output pathname>] -s<search string> [-r<replace string>] [-f] [-d] [-w<margin>] [-c<number>] [-h<number>] ex: tr infile outfile -s^j tr infile temp -s^m -r^m^j -fd tr infile -s" " -r"" -m60 'Tr' looks for every occurrence of the <search string> in the input file and replaces it with the <replace string>. The translated data is saved to the output file. If the <output pathname> is not specified, output goes to the screen. Wildcards are supported. 'Tr' works with any file type, but the input file is always treated as a raw collection of bytes; no special processing is done for AWP files. If you use 'tr' on an AWP file, you are not guaranteed to get a valid AWP file as a result (and if the search and replace strings have different lengths, you are guaranteed *not* to!). The search and replace strings are specified in text. The text normally has the hi-bits off. To turn the hi-bit of a character on, use the hi-bit delimiter, default "~", before the character. To specify a control character, use the control character delimiter, default "^", before the character. To specify both, use both delimiters in succession; any order works. Use "^?" to specify the delete key. Use "^>" to specify the control character delimiter. Use "^=" to specify the hi-bit delimiter. With these options, it is possible to specify any byte from 0 to 255. Here are some examples: "^j^m" - "ctrl-j ctrl-m" (case for control characters is ignored) "~A~B~C" - "ABC" with hi-bits on. "AbC" - "AbC" with hi-bits off. "~^m^~m" - "ctrl-m ctrl-m" with hi-bits on. "^>^=" - "^~" Options are as follows: output pathname: translated data is saved to this file. If not specified, output goes to the screen. The output file type will always be the same as the input file type. -s: search string. (REQUIRED) See above for description. This string cannot be null. You must search for at least a 1 byte string. The string can be at most 63 characters long AFTER control characters and hi-bit characters are translated. -r: replace string. See above for description. The string can be at most 63 characters long AFTER control characters and hi-bit characters are translated. Omitting this option is the same as specifying the null string (matches of the search string are replaced by nothing, the null string). -f: force overwrite. Skips the "Okay to overwrite" question if the output file already exists. -d: delete original. Deletes the original file and renames the output file to the original name. The output file is needed as a temporary storage. Version 1.1 fixes a bug that caused this option not to work. -c <ascii number>: determines what character is used for the control delimiter character. Use the ascii value for the character. -h <ascii number>: determines what character is used for the hi-bit delimiter character. Use the ascii value for the character. -w <margin>: wrap margin. Affects output to the screen only. This forces a carriage return when either the margin or a space within 9 characters of the margin is reached. Allowed values are 0 through 255. A 0 value has the same effect as not using the option. Version 1.2 fixes a bug when the search string was more than one character long.

1
doc/help/Tail Normal file
View File

@ -0,0 +1 @@
tail -- Display end of file (EXTERNAL) [v1.0] Written by Jeff Ding syntax: tail <pathname> [-l<number>] [-w<number>] [-d<ascii number>] ex: tail long.file tail read.me -l10 > & ; tail wide.file -w132 'Tail' displays the ending of a file without having to wait for the beginning part to scroll by on the screen. This command is useful for quickly displaying the ending of any file that is very long. Wildcards are supported. Options are as follows: -l: number of lines to print. This defaults to 5 lines. You can specify 'tail' to print any number of lines from 1 to 255 off the end of a file. A 0 value has the same effect as not using the option. -w: wrap margin. Use this option to force the number of lines to increment at either a specific margin or a space within 9 characters of the margin. This option is good for files that use a carriage return to specify paragraphs instead of lines. Allowed values are 0 through 255. A 0 value has the same effect as not using the option. The default wrap margin is set to 79. -d: delimiter for end of line. Enter the ascii value of the character after the -d. (see also: hdr)

1
doc/help/Top Normal file
View File

@ -0,0 +1 @@
top -- set prefix to parent volume syntax: top ex: top 'top' performs 0 or more 'up' commands until the prefix is a volume name (or until the prefix is null). (see also: prefix, up, over, origin)

1
doc/help/Topics Normal file
View File

@ -0,0 +1 @@
(Type "help xxx" for more information, where "xxx" is one of the items listed below. For example, type "help cat" or "help ls" for information on the catalog command.) general info: topics help/? shareware/$ pathnames/path cmdline version working with volumes and directories: cat/ls init create/mkdir vstore online du eject/ej vrestore doscat miscellaneous: boot mon dt deschw echo/e cls/home rep err equal/= num setdate date ram3 viewdhr viewhr I/O redirection: como/> exec/< setting prefix (working directory): prefix/cd up top origin/or over finding and examining files and their attributes: cat/ls what ffind find wc info size modchk hdr tail ptype viewing contents of files: pg/more type blist dump strings expand tr fiddling with files: touch rename delete/rm tr copy/cp move update split lock unlock prot combine setstart sysalias filetype expand Davex environment: ftype dev scan config alias bye/quit brun index Apple IIgs only: conp gsbuff printers: pset iw2 spool wait mx80 fp como/> cls/home Use 'config' to find out what directory contains your help files. There may be information there not listed here. See Davex.Doc for discussion of general topics like wildcards and slot/drive shorthand.

1
doc/help/Touch Normal file
View File

@ -0,0 +1 @@
touch -- touch a file's last-mod date, backup bit, invisible bit, or disable bit syntax: touch <pathname> [-b y|n] [-d y|n] [-i y|n] ex: touch myfile touch =:bin -iy touch ?:cda -dn touch ? -bn 'touch' with no options sets a file's modification date/time to the current date and time without actually modifying the file's contents. Wildcards are allowed. This is intended for use with recently-created files that, for some reason, are not properly date- and time-stamped. (Some DOS 3.3-to- ProDOS conversion programs, for example, stamp files with an invalid date and time.) The -b option lets you set or clear the "needs backup" bit on a file. Use -by to set the bit or -bn to clear it. See also 'copy', 'update', 'cat', and 'ffind'. The -i option lets you set or clear a file's "invisible" bit. Invisible files don't show up in Davex catalog listings unless the catalog command's -i option is used. The "invisible" bit has been recently defined by Apple, and other programs may or may not pay attention to the invisibility of a file. The -d option lets you ENABLE or DISABLE certain types of Apple IIgs files. A disabled file is not loaded automatically at boot time. The filetypes that can be disabled are $B6 (permanent init file), $B7 (temporary init file), $B8 (new desk accessory), $B9 (classic desk accessory), $BB (driver), $BC (generic load file), and $BD (GS/OS file system translator). [Bit 15 of the auxiliary type for these filetypes is the disable bit.]

1
doc/help/Type Normal file
View File

@ -0,0 +1 @@
type -- display plain text file or AppleWorks (AWP) file syntax: type <pathname> [-h] [-f] [-u] [-l] [-p] [-t tab_string] ex: type this type ?:txt -h como that;type this -l Types contents of a file (any type, not just TXT). Wildcards are allowed. -h generates a headergiving the date/time the file was last modified. -f disables filtering of control characters; normally they are filtered out. -u and -l force alphabetic characters to display as uppercase or lowercase, respectively. -p begins a new page after the file is printed (useful when redirecting to printer) -t lets you specify a string to print in place of each TAB character (Ctrl-I). You may want to make an alias for 'type' with a tab string. Note: many file types do not contain plain ASCII text. This command knows how to interpret AWP files, but simply displays all other files byte-for-byte. If you pg a SYS file, for example, you will get a lot of garbage and a (probably) few readable messages. (see also: pg, como, strings, alias)

1
doc/help/Unlock Normal file
View File

@ -0,0 +1 @@
unlock -- allow read, write, rename, delete syntax: unlock <pathname> ex: unlock this unlock =:txt Allows read, write, rename, and delete for file. Wildcards are allowed. (see also: lock, prot)

1
doc/help/Up Normal file
View File

@ -0,0 +1 @@
up -- change prefix to parent directory syntax: up ex: up Removes one segment from the end of the prefix. If the prefix is a volume directory, 'up' makes the prefix null. If the prefix is already null, up has no effect. (see also: over, prefix, origin, top)

1
doc/help/Update Normal file
View File

@ -0,0 +1 @@
update -- replace outdated files syntax: update <pathname> <pathname> [-f] [-b] ex: update %help /otherdisk/davex/help -f update /work /backup update /that/? /there/? 'update' takes two pathnames (original path first, target path second) and updates old files, reporting on its progress as it goes. If the pathnames are DIRECTORIES, update descends into them and updates corresponding files. [Note: If one of the pathnames refers to a directory, the other one should, too. A command like "update /disk1/dir1/? /disk2/dir2" will result only in a series of "filetypes differ" messages. So use a wildcard on both pathnames or don't use one at all.] For files, here's what happens. If the target file does not exist, update asks for permission to create it. If the target file does exist, three conditions are possible. If the modification dates and times match exactly, you see "current" and 'update' takes no further action on that pair of files. If the target file is older, you see "outdated" and are asked for permission to replace the old file. If the target file is NEWER, you get a warning message and update takes no further action on that pair of files. -f (force) bypasses the "Okay to replace" question, just like for the copy command. (In fact, update USES the copy command.) -f also bypasses the "Okay to create new file" questions. -b clears the Backup bit on the source original files. See "help copy" for more information.

1
doc/help/VRestore Normal file
View File

@ -0,0 +1 @@
vrestore -- restore a ProDOS volume from a file (EXTERNAL) [v1.1] syntax: vrestore <pathname> <device number> [-f] ex: vrestore /my.disk/image.of.ram .32 vrestore .61/ram5.image .52 -f 'vrestore' reconstructs a ProDOS volume from a file. The file must have been created earlier with 'vstore'. The reconstructed volume completely replaces any information on the destination device. The -f option forces 'vrestore' to destroy any existing data on the destination disk without asking. If you don't use -f, it asks for permission first. 'vstore' and 'vrestore' are especially useful with RAM disks that have no battery backup. If the stored image was too big to fit on one disk, 'vrestore' will prompt you to insert the next disk in the same drive as the first one. 'vrestore' v1.1 assumes that the destination device has the same number of blocks as the original volume (the one the image was created from). [A future version of 'vrestore' may allow the destination device to be larger, provided the number of bitmap blocks is the same. One bitmap block is needed for every 4096 blocks.] Note: v1.1 actually doesn't even check the number of blocks on the destination device. You can restore to a bigger device if you want to, but the extra blocks will not be available for file storage. (see also: vstore)

1
doc/help/VStore Normal file
View File

@ -0,0 +1 @@
vstore -- store a ProDOS volume into a file (EXTERNAL) [v1.1] syntax: vstore <volume name> <pathname> ex: vstore /ram /my.disk/image.of.ram vstore /ram5 .61/ram5.image 'vstore' stores an image of a ProDOS volume into a file (or several files on different disks). 'vrestore' is used to restore the volume from the stored image. 'vstore' and 'vrestore' are especially useful with RAM disks that don't have a battery backup. 'vstore' will prompt you to insert another disk whenever one is full. This means you can store a large RAM disk (or even a hard disk) on a number of smaller disks. 'vstore' and 'vrestore' are not intended to replace your normal backup procedures. You should still keep normal copies of your files somewhere, in case the large device you are storing becomes unavailable. For example, a stored image of your 1024K RAM disk will not be useful if you have to send in your RAM board for repair--but normal copies of the files would be useful. Note that a file created by 'vstore' is normally "sparse," so that its physical length is less than its logical length. (This is because 'vstore' leaves gaps in the file corresponding to unused blocks on the volume being stored.) However, many file-copy commands (including Davex's copy command at present) don't preserve the sparseness when you copy a file. The resulting files may be much larger than the originals, so you will probably not want to copy files created by 'vstore'. (Copying *disks* containing sparse files is no problem, though.) The 'what' command recognizes files created by 'vstore' and displays some useful information about them. The files are now stored with filetype $E0 and auxiliary type $8004. (see also: vrestore, what)

1
doc/help/Version Normal file
View File

@ -0,0 +1 @@
version -- print Davex version information syntax: version ex: version The 'version' command reprints the header you normally see when you enter Davex. (Depending on the 'config -q' setting, you may not see the header when you enter.) The version number and serial number on your copy of Davex are displayed. This header also appears when you press Ctrl-RESET (*not* Apple-Ctrl-RESET).

1
doc/help/ViewDHR Normal file
View File

@ -0,0 +1 @@
viewdhr -- view a double hi-res picture (EXTERNAL) [v1.1] Written by Jeff Ding syntax: viewdhr <pathname> [-f] [-r] ex: viewdhr /picture.disk/pic.1 viewdhr /picture.disk/pic.1 -f viewdhr /picture.disk/pic= 'viewdhr' displays a double hi-res picture on the screen without leaving the Davex command shell. Wildcards are accepted in the pathname.Once the picture is displayed, any key will exit. Ctrl-C will abort wildcard expansions. 'viewdhr' will not work on a II+ or 64k //e because they do not have the auxiliary memory needed to display double hi-res pictures. This program will work on a //c, //e compatible with an extended 80 column card, and the //gs. In order for 'viewdhr' to work you have to uninstall the ram driver in slot 3 drive 2. To do that you have to use the 'ram3' external command. The following options are available: -f: force load -- This option will force the program to load the picture regardless of the status of the ram drive. Use this option with caution as it will destroy any files that might be stored in that memory -r: reverse pages -- This option will load the picture in reversed format. Normally the first half of the file is loaded into the auxiliary memory and the second half into the main memory. Using this option will switch the main and auxiliary pages in memory. 'viewdhr' makes sure the filetype is BIN or FOT and the auxtype is set to $2000. It then loads the file and displays it on the screen. It will not load the picture if the length is less than $2001 bytes. (see also: ram3)

1
doc/help/ViewHR Normal file
View File

@ -0,0 +1 @@
viewhr -- view a hi-res picture (EXTERNAL) [v1.1] Written by Jeff Ding syntax: viewhr <pathname> ex: viewhr /picture.disk/pic.1 viewhr /picture.disk/pic= 'viewhr' displays a hi-res picture on the screen without leaving the Davex command shell. Wildcards are accepted in the pathname. Once the picture is displayed, any key will exit. Ctrl-C will abort wildcard expansions. 'viewhr' makes sure the filetype is BIN or FOT and the auxtype is set to $2000 or $4000. It then loads $2000 bytes of the file and displays it on the screen. It is possible to view double-hires pictures but you will only see half of the picture.

1
doc/help/WC Normal file
View File

@ -0,0 +1 @@
wc -- character/word/line count program (EXTERNAL) [v2.0] Written by Jeff Ding syntax: wc <pathname1..5> [-c] [-w] [-l] [-t] [-d<number>] [-e<number>] [-m<number>] ex: wc text.file1 text.file2 text.file3 wc apple.txt -lw -m60 wc read.me -d138 'Wc' with no options prints the number of characters, words, and lines in the given file. The file type is not checked so any file of any type can be given on the command line. Up to five file names can be given on the command line at any one time. AppleWorks word processor files are supported. The standard delimiter between two words is a space. The standard end of line delimiter is a carriage return. If more than one file is given on the command line, 'wc' version 2.0 will print the grand total of characters, words, and lines. If wildcards are used, the grand total will be printed after every file matching the wildcard starting with the second file. Printing of the grand total is also subject to the -c,-w, and -l options. Options are as follows: -c: print character count. -w: print word count. -l: print line count. -t: print grand totals only. -d: delimiter for end of line. Enter the ascii value of the character after the -d. -e: delimiter between words. Enter the ascii value of the character after the -e. -m: wrap margin. Use this option to force the number of lines to increment at either a specific margin or a space within 9 characters of the margin. This option is good for files that use a carriage return to specify paragraphs instead of lines. Allowed values are 0 through 255. A 0 value has the same effect as not using the option. Note: You can mix the -c, -w, -l options in different combinations. The hi-bit of each character in the file is ignored.

1
doc/help/Wait Normal file
View File

@ -0,0 +1 @@
wait -- wait for spooled files to finish printing syntax: wait ex: wait;ej;park 'wait' simply sits there and does nothing until files spooled with the 'spool' command are done printing. Press any key to abort the wait and return to the command prompt. (The example assumes that 'park' is available as a SYS or S16 file or external Davex command; it would presumably park the heads on your hard drive.)

1
doc/help/What Normal file
View File

@ -0,0 +1 @@
what -- determine what a file is (EXTERNAL) [v2.1] syntax: what <pathname> [-m] [-c] [-x] [-l] [-s] [-b] [-a] [-n] ex: what thatfile what %=:bin -a what =:src -n what .62 -amc 'what' examines a file's type, auxiliary type, and first 512 bytes and prints whatever interesting information it can about the file. Wildcards are allowed. Output is, at minimum, the file's type and name. For many filetypes, additional information appears. Options: -n: no blank lines (prevents 'what' from printing a blank line before each file's information) -a: print All information (modification date/time, creation date/time, auxiliary type, length in bytes, length in blocks, storage type) -m: modification date and time -c: creation date and time -x: auxiliary type (load address for BIN files, total blocks for a volume, etc.--meaning depends on filetype) -l: length in bytes -s: storage type (seedling, sapling, tree, Pascal area, subdirectory, or volume) -b: length in blocks Note: 'what foo -a' is the same as 'what foo -mcsxlb'. Also, you can print ALL BUT certain pieces of information by specifying -a AND the options to omit. For example, 'what foo -ac' prints all information EXCEPT the creation date/time. For BIN or $2E files that are external Davex commands, version information, a one-line summary, and the command's execution address are displayed. SYS files created by the 'sysalias' command are identified, and the pathname of the aliased application is displayed. If there is a startup buffer, its size is displayed. SYS files -not- created by 'sysalias' are identified as ProDOS 8 applications. If there is a startup buffer, its length and default contents will be displayed (for example, BASIC.SYSTEM normally has a 65-byte startup buffer containing "startup"). BAS files are identified as Applesoft BASIC programs. 'what' computes the correct Aux-type for the file and prints a warning message if the file has a different Aux-type. (Use 'filetype' with -x to correct the problem.) [Some DOS 3.3-to-ProDOS conversion programs (including Apple's CONVERT utility) always give BAS files an Aux-type of $0801, which is typically correct. But if the DOS program had been saved from an address other than $801, nastiness will result when you try to load or run the converted program under ProDOS.] Apple IIgs TOL files (TOOLnnn) are identified as specific system tools by the last 3 digits of their names. For all GS/OS Object Module Format files (types $B1 through $BE), the OMF Version number is displayed. Version 1 is the first version and will work under all versions of ProDOS 16 and GS/OS.

1
doc/help/como Normal file
View File

@ -0,0 +1 @@
como -- redirect command output to file or printer syntax: como <pathname> ex: como listing;type =:txt -h como &;cat -t como 2;type davex.doc For commands on the same line only, redirects output that would normally appear on the screen. If the specified file exists, output will be appended to it. If it does not exist, it will be created as a TXT file. Output can be redirected to a device by slot number, as in the third example. '&' (or '0') represents the printer slot set by 'config'. Even while spooled files are printing, you can redirect output to a slot. (Not to the SAME slot 'spool' is printing to.) Note: If no pathname is specified, output redirection is cancelled; output returns to the screen. (The same thing happens automatically after the whole command line is processed, so this feature is rarely needed.) A standard alias "print" is provided; it stands for "como &;", so you can do things like print help (same as "como &;help") print;pg foo (same as "como &;;pg foo" [extra ";" doesn't matter]) (see also: exec, config)

View File

@ -0,0 +1,74 @@
;
; Apple II ROM/hardware
;
;
; Zero-page ROM usage
;
ch = $24
cv = $25
basl = $28
invflg = $32
csw = $36
ksw = $38
range_strt = $3c
range_end = $3e
move_to = $42
himem = $73
curlin = $75
;
; Stack, keyboard buffer, reset vector
;
stack = $100
kbuff = $200
reset = $3f2
;
; Hardwae locations
;
keyboard = $c000
off80col = $c00c
on80col = $c00d
kbdstrb = $c010
spkr = $c030
grafix = $c050
text = $c051
page1 = $c054
page2 = $c055
lores = $c056
hires = $c057
button0 = $c061
button1 = $c062
button2 = $c063
;
; ROM routines
;
f8rom_init = $fb2f
pwrdup = $fb6f
machine = $fbb3
bascalc = $fbc1
home = $fc58
wait = $fca8
crout = $fd8e
prbyte = $fdda
cout = $fded
move = $fe2c
inverse = $fe80
normal = $fe84
outport = $fe95
monitor = $ff69
;
; ASCII constants
;
ctrl = $40
cr = $8d
space = $a0
esc = $9b
null = $00
nul = null
bs = $88
lf = $8a
tab = $89

79
src/common/2/Globals2.asm Normal file
View File

@ -0,0 +1,79 @@
.include "Common/Globals.asm"
IsDavex2 = 1
IsDavex3 = 1-IsDavex2
;
; file levels
;
spoollevel = 5
redir_level = 10
close_level = 13 ;close at cmd level
wildlevel = 15
stdlevel = 20
;
; high-RAM stuff
;
; dum $B100
shell_gp = $b100
scanlist = $b100 ;ds 128
appl_list = $b180 ;ds 128 ;reserved for 'appl' command
filetypes = $b200 ;ds 256
filetyp = filetypes
fileasc = filetypes+64
misc = $b300 ;ds 256
print_slot = misc
cfg40 = misc+1
cfgbell = misc+2
cfgclock = misc+3
cfgquiet = misc+4
cfghelp = misc+5 ;ds 64!
chk77 = misc+255
cfg_expansion = $b400 ;ds 256
cfg_end = $b500
config_len = cfg_end-shell_gp
; end of stuff for CONFIG file
spool_list = $b500 ;ds 256
; ds 768 ;for string buffers (build down)
string_buffs = $b600+$300 ;previous 3 pages = strings
History = $b900 ;ds 256
Aliases = $ba00 ;ds 768
; $BD00 page -- available for use?
;
; $BE00 page
;
; NOT for xc use!
;
; dum $BE00
maxparms = 16
parms = $be00 ;ds maxparms*4
num_parms = $be40 ;ds 1
parmtypes = $be41 ;ds maxparms
;
; RAM globals from $800 to $1FFF
;
filebuff = $800 ;ds $400
filebuff2 = $C00 ;ds $400
filebuff3 = $1000 ;ds $400
wildbuff = $1400 ;ds $400 ;not for xc use
pagebuff = $1800 ;ds $100
; ds 1
string = $1901 ;ds $100 ;not for xc use
; ds 1
catbuff = $1A02 ;ds $80
; ds 1
command = $1A83 ;ds maxlen ;not for xc use
; ds 1
string2 = $1B7E ;ds $80 ;not for xc use
direcpath = $1BFE ;ds 65 ;not for xc use
wildstring1 = $1C3F ;ds 128
wildstring2 = $1CBF ;ds 128
wildseg = $1D3F ;ds 16
;next address = $1D4F
; $1F80 buffer is used when launching a SYS program -- search for $1F80

Some files were not shown because too many files have changed in this diff Show More