<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE EDL PUBLIC "-//OPENEMULATOR//DTD EDL 1.0//EN" "http://www.openemulator.org/DTD/edl-1.0.dtd">
<edl version="1.0" creator="OpenEmulator" framework="787" label="Videx Videoterm" image="images/Videx/Videx Videoterm.png" description="The Videx Videoterm is an 80-column video card for Apple II computers. It must be installed in slot 3.">
    
    <device id="videxVideoterm" label="Videx Videoterm" image="images/Videx/Videx Videoterm.png">
        <setting ref="videxVideoterm.io" name="characterSet1" label="Character Set" type="select" options="Normal,NormalUppercase|Normal Uppercase,Inverse,French,German,Katakana,Spanish,Symbol,SuperSub|Super and Subscript,APL,Epson"/>
        <setting ref="videxVideoterm.io" name="characterSet2" label="Alt. Character Set" type="select" options="Normal,NormalUppercase|Normal Uppercase,Inverse,French,German,Katakana,Spanish,Symbol,SuperSub|Super and Subscript,APL,Epson"/>
        <setting ref="videxVideoterm.io" name="videoOutput" label="Video Output" type="select" options="Auto,On,Off"/>
    </device>
    <connector id="videxVideoterm.connector" type="Apple II Slot">
        <inlet ref="videxVideoterm.ram" property="controlBus" outletRef="controlBus"/>
        <inlet ref="videxVideoterm.io" property="controlBus" outletRef="controlBus"/>
        <inlet ref="videxVideoterm.io" property="floatingBus" outletRef="floatingBus"/>
        <inlet ref="videxVideoterm.io" property="video" outletRef="video"/>
        <inlet ref="videxVideoterm.io" property="gamePort" outletRef="gamePort"/>
        <inlet ref="videxVideoterm.memory" property="memoryBus" outletRef="memoryBus"/>
        <inlet ref="videxVideoterm.disableC800" property="memoryBus" outletRef="memoryBus"/>
    </connector>
    <component id="videxVideoterm.ram" class="VRAM">
        <property name="memoryImage" data="${packagePath}/${id}.bin"/>
        <property name="controlBus" ref=""/>
        <property name="size" value="0x800"/>
        <property name="videoBlockSize" value="0x800"/>
        <property name="videoMap" value="0x000-0x7ff"/>
        <property name="videoObserver" ref="videxVideoterm.io"/>
    </component>
    <component id="videxVideoterm.io" class="VidexVideoterm">
        <property name="controlBus" ref=""/>
        <property name="floatingBus" ref=""/>
        <property name="horizTotal" value="0x7b"/>
        <property name="horizDisplayed" value="0x50"/>
        <property name="horizSyncPosition" value="0x5e"/>
        <property name="horizSyncWidth" value="0x29"/>
        <property name="vertTotal" value="0x1b"/>
        <property name="vertTotalAdjust" value="0x8"/>
        <property name="vertDisplayed" value="0x18"/>
        <property name="vertSyncPosition" value="0x19"/>
        <property name="modeControl" value="0x0"/>
        <property name="scanline" value="0x8"/>
        <property name="cursorStart" value="0xe0"/>
        <property name="cursorEnd" value="0x8"/>
        <property name="startAddress" value="0x0"/>
        <property name="cursorAddress" value="0x0"/>
        <property name="addressRegister" value="0"/>
        <property name="ram" ref="videxVideoterm.ram"/>
        <property name="bankSwitcher" ref="videxVideoterm.bankSwitcher"/>
        <property name="video" ref=""/>
        <property name="gamePort" ref=""/>
        <property name="characterSet1" value="Normal"/>
        <property name="characterSet2" value="Inverse"/>
        <property name="videoOutput" value="auto"/>
        <property name="cellWidth" value="9"/>
        <property name="ramBank" value="0"/>
        <property name="fontAPL" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM APL.bin"/>
        <property name="fontEpson" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Epson.bin"/>
        <property name="fontFrench" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM French.bin"/>
        <property name="fontGerman" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM German.bin"/>
        <property name="fontInverse" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Inverse.bin"/>
        <property name="fontKatakana" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Katakana.bin"/>
        <property name="fontNormalUppercase" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Normal Uppercase.bin"/>
        <property name="fontNormal" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Normal.bin"/>
        <property name="fontSpanish" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Spanish.bin"/>
        <property name="fontSuperSub" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Super and Subscript.bin"/>
        <property name="fontSymbol" data="${resourcePath}/roms/Videx/Videx Videoterm Character ROM Symbol.bin"/>
    </component>
    <component id="videxVideoterm.memory" class="AppleIISlotController">
        <property name="memory" ref="videxVideoterm.rom"/>
        <property name="en" value="0"/>
        <property name="memoryBus" ref=""/>
        <property name="refROM" ref="videxVideoterm.rom"/>
        <property name="mapROM" value="0xc800-0xcbff"/>
        <property name="refRAM" ref="videxVideoterm.bankSwitcher"/>
        <property name="mapRAM" value="0xcc00-0xcdff"/>
        <property name="refDisableC800" ref="videxVideoterm.disableC800"/>
        <property name="mapDisableC800" value="0xce00-0xcfff"/>
    </component>
    <component id="videxVideoterm.rom" class="ROM">
        <property name="memoryImage" data="${resourcePath}/roms/Videx/Videx Videoterm ROM 2.4.bin"/>
    </component>
    <component id="videxVideoterm.bankSwitcher" class="AddressOffset">
        <property name="memory" ref="videxVideoterm.ram"/>
        <property name="size" value="0x200"/>
        <property name="blockSize" value="0x200"/>
    </component>
    <component id="videxVideoterm.disableC800" class="AppleIIDisableC800">
        <property name="memory" ref="videxVideoterm.memory"/>
        <property name="memoryBus" ref=""/>
    </component>
    
</edl>
