www.pudn.com > taxi_counter.rar > taxi.jam


' Copyright (C) 1988-2000 Altera Corporation 
' Any megafunction design, and related net list (encrypted or decrypted), 
' support information, device programming or simulation file, and any other 
' associated documentation or information provided by Altera or a partner 
' under Altera's Megafunction Partnership Program may be used only to 
' program PLD devices (but not masked PLD devices) from Altera.  Any other 
' use of such megafunction design, net list, support information, device 
' programming or simulation file, or any other related documentation or 
' information is prohibited for any other purpose, including, but not 
' limited to modification, reverse engineering, de-compiling, or use with 
' any other silicon devices, unless such use is explicitly licensed under 
' a separate agreement with Altera or a megafunction partner.  Title to 
' the intellectual property, including patents, copyrights, trademarks, 
' trade secrets, or maskworks, embodied in any such megafunction design, 
' net list, support information, device programming or simulation file, or 
' any other related documentation or information provided by Altera or a 
' megafunction partner, remains with Altera, the megafunction partner, or 
' their respective licensors.  No other licenses, including any licenses 
' needed under any third party's intellectual property, are provided herein. 
 
'Device #1: EPM7128S - e:\myworks\taxi\taxi.pof Wed Sep 27 08:45:00 2006 
 
NOTE "CREATOR" "Altera Jam/STAPL Composer Version 10.0 10/5/2000"; 
NOTE "DATE" "2006/09/27"; 
NOTE "DEVICE" "EPM7128S"; 
NOTE "FILE" "taxi.pof"; 
NOTE "TARGET" "1"; 
NOTE "IDCODE" "071280DD"; 
NOTE "UES" "FFFF"; 
NOTE "CHECKSUM" "001B8952"; 
NOTE "SAVE_DATA" "DEVICE_DATA"; 
NOTE "SAVE_DATA_VARIABLES" "V0, A12, A13, A21, A22, A25, A43"; 
NOTE "STAPL_VERSION" "JESD71"; 
NOTE "JAM_VERSION" "2.0"; 
NOTE "ALG_VERSION" "10"; 
ACTION PROGRAM = PR_INIT_PROGRAM, DO_BLANK_CHECK OPTIONAL, DO_VERIFY RECOMMENDED, DO_SECURE OPTIONAL, 
DO_READ_UES OPTIONAL, 
PR_EXECUTE; 
ACTION BLANKCHECK = PR_INIT_BLANKCHECK, PR_EXECUTE; 
ACTION VERIFY = PR_INIT_VERIFY, PR_EXECUTE; 
ACTION READ_UES = PR_INIT_READ_UES, PR_EXECUTE; 
DATA DEVICE_DATA; 
INTEGER V0 = 1; 
INTEGER V1 = 0; 
INTEGER A12[1] = 4; 
INTEGER A59[1] = 288; 
INTEGER A60[1] = 1; 
INTEGER A61[1] = 118653149; 
INTEGER A13[1] = 5; 
INTEGER A25[1] = 10; 
INTEGER A43[1] = 0; 
BOOLEAN A21[104320] = @ 
mB300uxzQtlt@l@U@Nt@@__@txz@_lx@xzs@dtl@t@T@tR@_U@tz@zUR@txrz@@l 
@@@V@@@@_@@lz@xzx@@tm@zUl@@@T@Vlt_xz@t91@@@tsxzV3D1@U@yXQWtx@Vt@ 
@_wz@lj@x@xUhtFK9y@T@7AFyhztR@@@rz@hTeCGtt@E@llJ@@z_E@@xvy_lhtx@ 
tp@@VGPmV@thxz@Fl@_jy_jtxB31D1txi_UptwzT_lv@xzslltlV@lV@txC_U@tz 
zyUR@txrzx@l@V@@GvXmBa0D1lt@@_@@@rx@VJxt@tjUllpxz_0z1@@t_wzU@ztx 
txMl@Beg8aPWp@@UeOGWQG8NHGHYy@z_WwXG97lVxzXdA2AmuVgdoR@MhFzR9@U_ 
zs@@VT@@vxz@ldtVtMuX4r@@@1qD2U6u@zVp@txD@VlN@@@@Ult@zy_l7QJm@V@V 
er0@zU@1lS2Py4eMYVFzhJ@V@0A61U6y@@Tw_txtVxVZ_nz_GBCwz@f31nm@xzV8 
u6_@ld36Jmx@VR053Ux@xvj_l7CAX@UZNt@@@U@TxvzNl7C_WVl@xGcD26hm@@@d 
lxzU_@tx_@Ml3t298J2ltxr1e9u@FzZQj@l@@fVfMx@1eRutxjc_lvhw@6RlzRzX 
RUuwlVN@d@lvMktWHOCVdx5qYX_lxFVtxzythtyUjUxhtxDy84dt@@s@@@rR@V7M 
oGGc1XH6u@VQFCgY0g4yxz@Rx@@DOK2lz@zyMxt2Bzmlz@VuMNk@@l2kDmltllzR 
@@0K9iUlt5SdW@@_Fgr@@1ZRuzRlFCF1tV@_U@zxfr@lgUl@s@@MBl@QTl@xrqU@ 
trxz@x@@lFa_1tl@@Qz@hfzVlxUl@FCd1@U@y1yCulxzEyTZ0F3qtz_eVSlN@@xi 
@FdR@z_U5y94KyGuhG_dQf26zWq@@_0Pjmh@QD8u6sV@t3knGGB62kX1@Mx@mXFu 
s@zpR@UVWH3i@xl7S36h@@@16Vmd@zSG162pnWd@@UUE@poz_@3ufYRlVV@z_lk@ 
Rzzclr7af2Q@UlX_KnUl@Qe53y__@7WIbWRHvF@xD0g1y_lN3WoWjNxL@QzV_xrV 
TzUxxtVjtVh@g@jtx0ZRu@@toxjMll@@D@MhrXIbm@@@LGL3q_lsx@r@tlN@lzV@ 
VNxz@X8VmxzQT8oJy@twPzVlt@@jkVh@VR@@lkz@z3fzGuL3qRj@7wx7t@tlkltV 
yz_lxVxyEmJ5w7rx2qcWR@@@GfRuUl@rxT@h@x@VTE@t1LJ80w9_@hz2fzWt_zUU 
xzQX8D8KQ5_s@trV@tpl@RrT_xbtVls0PXu@wzEiK8_x@V27kXx@zFlzxzyM@tuR 
r@R@t_tzUxUOJ32lYHG13qwz@72oWmXL4an0t@z_XN39eG8_zsFvtJ@6acXmm6u@ 
Udttx@k@dpPx@UlkV@t3vYX@Ux@mmXuzkltR_UlE@vRxV_titxzzUltx_@tFWiDU 
@txvztl76_1zQ@@XXX9mO2_lUl3qcG0vSq_lt7A8X0jEvzVhFaRHkzxz3mRGmeAA 
wmG8y7ytxj7QM2FzxvUV@t337bR@V@0tFuztlDe@3__@r2h7Y@U@qmwLOxzVFyF9 
ydxz7k66_@@k3@B1zk@t_v_VD@p@xUF@tpvzl@@@Rz_@tqFz@38p0@@@_XrHY@@U 
El@RjXRyGG1I4q7CXrLXtwz@0oCWslrQ0K9u@@xazltVGB6m_@VFuGCy_ht7Wt9_ 
@xz34y4x@@h1z1PG6C4_t6Ultw3h36@U_@12MaldRj0yCmzMhUm8Cu@@OszTkdlt 
@S@Blt1M_W@Tl@W8Dm@@jUWbFu@@zE8DFezxVx6dttvTUV8Xmutx@d_@zR0K6mx@ 
FN@@@6_llJvzjsE@VP3Tq3U@Nx1RMXxVUVlxxz1oaW@d@@W8Jm_ltPGapu@zxF0q 
4yUlz7EP21zLH8c6uztVNzU@L0eFuzJlFq2F2g2ZW_cnsxtUGfLmzx@BipPqx@NR 
@tVFSD9yU@t5Oa71gQ0z@ttWDdXN@zUm3O4ifG_@@hjrR@w_@@px@MVOdguz_ln@ 
@zlUl@FV@_x1FyW@vUkWMs8eKCq@x@7ymC_lr@zz_lw@xzowlMR0j9u@@zEarSqw 
@V7svI15OWt@7_0GtBe0pOz@l7UwX15GI83E5ymaX7WnmI64oWY1KSkVhdR@@U@U 
@t@zVElxpvVtVdxTGpgKdD3__@tn@@@hl@xDMR3uTVldkj1nPPG0tCuz_@p@@yFU 
l@@0kbm@lthxzUF@t@zyUldrxxyRltxn@yEdtx@TUVdpwxzljtxzwV@@p@z_Fltx 
zHlJmpzUEk@@V@TVdcx@@zk@tpv_Ed@@@@tt9u@_ltt@@k@l@Rx@zlEl@@y_Vtht 
x_tld@lxTk7l@@@U@@xZzo0xz_l1XpWzVlFttxz_lttzzyUhdpzFe06yx@@x@@xt 
@_@NC2du@dxrvz@d@@vVSU@@XZBnIt6u@_@t@@@i_VdV@@VV_ltvz@@lx@vysVlx 
l@_@@uoJG@@xjzUlNtxzUU_tp3Km0t@_@E@@xvzVlxxzUNltxTF06uzUld@xzl_l 
tVxzzlUl@@y@V@htx_FwS6Y1t0xz@@1AmW@_@7tpvSXeRGW2C4oW1n3OWdxzSSlt 
xwvUEDtxzwSldZpzS_v09iFG2H1SYtx@UUltpwzS_jtxzuUUdBK03qpxUtNW11FO 
WU@t@u1amvUFVy0F4yW1_z_lj@t@wyk@px@TlEdxV@U_@cpvVSk@@vz@lttx@k@l 
@@Y4IWtxzj@VlVxzUFkdtxzUldxxvyEoW7A8m0tx@UUkttnzU@hd@vqS@tltz_EU 
ttv_Vl@rx@Uxltxze232Pm0xzT@1KmWxSkFdx@@XC81@txPz_E@sx@U2jm0UFdtw 
xTljt@zwV@tpxz_Fltx@W7I8aX4Ctx@xS@lZpzTUq2v4tG8yUl@ZOFa8vD8izJy@ 
x@Ujl1nXqIe0G5FWGX7eYVl@x50Am@F@V056epxUt@l@lxT_7d@z@U@@xzzVlx@x 
@FA032BnWW@Jmx@@Ua176emOXlKHe0G5K0e1AGb@@@lu_nukZ7Y28XOOCmy@@Vm@ 
CiDZ1lVdGS@Li2U2bxpW@VlxOEMA833y@Vthtx_t@l@TaG9iEq3__@lz@vz7nk1_ 
@@pZmnWL@Jmt@@l@l@R@@V@H1aW__lpmSIm@@zVF09iUG2n3mW_V@RtxzVE@@@E2 
m0z@@@_xz_tHm0@@ttw@z_3Wt0@t@x_@Ulztv@7ul1_@@xNK8XO4Umx@VN8I9ul@ 
@VH16YIf5@zVV_lpxZ3H5l@@Tn8mW@@@Vlt@@b6OGa1C4HIxX70VWCbwxxzEkV3E 
v8XA0I8WiG2GPZeKgm@dtl@_@lOEI80b7MG9XOytO156y@pz7yl1wy_@3IpZeKC8 
ah4qtxVV1Y1_l@@ZNnWmIC8K53qt@zw_txFaB3wCXXT_J8Ie4YxF1d@@@N2OGg@6 
4Pm3XgOGm@6qPI2_@l@r@@@7Gc1_k@tr@V@hl@xrz@tlp@@kOOOO7162XxaWMImz 
zUVqH9S9r3xrOGm@U4vY1H1mGq2X4eV2_@@pZb8XGQ_9aVCsXnWu_D8KbJyz@d7c 
Z11G5I8394er9XqOGqMjSFH2X@fIaL64tF31FiH4Omu@@kFcZAM8BXWwb8_76M@B 
1t@@@11nG0Pg4E46HuyVWRv4MI5w@zlTltzvyl@xg93y@@Vx@@xt@V@d@x@UV@tt 
HaOGO99ulp@tVltlx@_F@t@z__l@RTFXufCmV@tfx_@@84DeHb4MMYXW@JGdt@l@ 
F@xmNI8SDi3BnZOJg8G16YmXXmSIG@@@l@klpuzYo@zVUW7L4m361ZuHqbF45m6U 
l@tZ@nWxTImt@zVmN64yV8L_RGuB64if11f5IWHa4@Z1H2TIy0ICnw3niHL4Os7I 
J2HlPGShF45b1XmbGeZ64273bamGOT64ah1nsPG0A640L2XrPGi9645G2kpx_2hp 
0V@t@w@@lzt@@3; 
 
BOOLEAN A22[65920] = @ 
m0200u@@@t@t@l@@@V@@@_F3y@@@xt@@FqWS3yl_@VBXAAis0XSoEMZvFb62@x@c 
dmRa@@KIu@@zt@s@F@@@@UJ836cb1x@@@XY1DVnRXo0@@jrkt@@tP2yF@@r@@@R@ 
@@t@VzVMJOl6Ku42A3sPDc2g1kmC2y@@@xVtxt_zyvrJm@@tgt@xF@@@t7t3B562 
v4Ka6pV4KCu@@@@GJOIDm@@dd@@@V@V@Vlv39p31w31b13v6BC6XC6153tU2Nr3t 
b4X2OkXFiSg8euX_@@@wP2_Nbov@@htGPONz0zRx@DA3_7aI2ZFuVt@t@@xVeB1@ 
@VhUl@@7Lg8aJGnQC_eqGuV@Ny5X7I2P25yGoVh@l@@@Vgqs@1K3ExIm_@@FGn0y 
t_@0L57ULqZTI8u6_@@tV6Dm@@zl@VlV@@@@U@xzZ5PuTqWcW426bm1lHU4961Z6 
4kzmQv31468aIs9SxX0I6YEPGnVy@8Q2_@l@J_Um@@Nll@@@0K62ZC8tmWmK6mQg 
@NNPmqc71E6u@GE1AfmiFJ31@@VJ6uDodPDm@Ny@Xd4_@N@bm_@Fpompr3XB64CA 
X@@@U@@@z__@@UsCm@@@l@@DlzJ9IDVm@@ZVun3XCLuVLQt_@@l@VFz2F6wZPW_j 
@VW76kuDI3tkw6YXcR3S@@@xyV@F6BXeKC2Uae2N2@xz@9lFWX7oZ@V@l@@tCUy@ 
@XvLepKG8m3Zgy4y@lytb@mJl1bt90@lDZ7@@VGBC@iU48B4@ZIR3osGv@@VGhGy 
@@@p@@zVKO5_ly@@l5ImDFy@@@fz@@_ss91ti9mu3_lz@z@@@xza@FHf11ZO8me1 
ZcUm@@tg@@@Vld@@fBDm@Vx@sFF4o9f4YyXBbCu@@@kjf1d1F9asFviOuDg111Xn 
@gqM8A3y@@0PX@@FSeGg@szyt@@x@V_F4fD1229O99_Vk@y@@@xlr_lB63_@Nk7f 
bW_@z@GLR4KD1lHs@_@@@z@@RhpF@lSB3nsy8ah41LP8aM2@uI0hf7k@@@V@@Vlu 
EZzNZ9HmN9WIACwnqG8Cd41oIevb4fOh8Gs31Pmmxj__8K3yBt@h@@@t@@@thN6w 
Y_GOJ62oyGmD66UjHBn42kbWTIZv0oFO@U@9mS2_hz@Z6cGMH6EIdGmj74I9x4ou 
1@@@taww@BLpW@xxV@Rz@L_OuK16XHU8ST5Feh8f16_FaJipAC7kcX0ZI8r_@FGR 
BIZn735iX@PDz@ng4ksWGpU4G1Zm3dSR@X5f6S9rWLu6yAr3XSIEXrJmR4@@lz7y 
@@g4UyXAzF4QM2bioQ1kzmV@@l@@wV@@@vXmBQ_k4Q@pW9yCuelA2Hw4@@@@_@@w 
6nxXVyIm@_@FMJlnalI8ikGy@Fjddd452nWzR@@mDa80gA2Q91@@@xUFv@zVlSp@ 
@@V_F62l23hnyZX4Q0t8@@mxW9CnDay5l5cO5Z2qIGVZ5aH5fRSI8XX4anC1H_W@ 
VlV@NnjtLcWJQdLf@V_hCoWz@@Vv@x@BJcG0P9qUf12f4K2V91dH_@REQW@@owoB 
P88D329CXX6tm@@3IWbIu@xf8eW42Wo0zct@bQoGuB9Sne4XOAX@T@VV@@@VOymU 
bd4AL5RnKX_@@V@@@d5WcGiCO40g1Oypq2d43@@z@ZYaW@@x@0oQ9el7M9S3@R@@ 
Rp9H@c64ce77kLHWHdefBUBuhAwcSZ9Ab8yK9w@adGQU88o7y@@@x@@LlLp4yt@R 
6cw3HPAHu1I4q261CYHuV9qpe1XToGm3Oing41hbG0jRuVcl8eKCIQHb0LnOom7y 
zl@@hq91WQMG1T5IRBX7K7@@@tG6_9q1F2U0om389qO32eeE@x@t1KuT0PmmlEo9 
SDFq@l@7uh1_@V0K0AeW9EGJ2_@FWluTa@@@gsovOtyupsVqt@@IlC3@@0aJm@@3 
db@@V@@l@wdzUzpR@x@60WShRlF000WKoU_x@@zlF@xVW6m@b@l@1000000B0KG5 
060020180W0GI05000004000GrIQABcXOMQ300u7W3H0000G4229efQI2050WYlu 
Da3000f4Ka23D854Q000D0p80WF1U000yVgtFG_@@VBS621uX8nbWqIR5hyNQMPl 
qjWYH7bdK7i4110I8n6aqj1y@@@y@V@w@@@B3T3y@z@N2k4y@klr@@@x@llt@t@j 
@@_QTVVti@lhrz@tp@xwsTTt7_lhV@t@zu@k@z@t@xl_@B4y4y@@@fR@@VOT3ytt 
@xVkxhZQLwdMeZkneb93IJc1@z@T_@l@zt@@FWG2u@x@xNt0@zVNkl@xrztzZ@gl 
Mt_@F@@@Vtt@tu@_@Tt@@X@xwN@zrlw_@lhpJm@VVlxz@V_@@@xdRW@l_lRrJm@N 
@VnwIel@xl7W4MYt0@r@@Z6@W@@l@WrJmr@@VWiFu@x@p@@zVcR9e_x@@Y9IEM@4 
@x@@y@@kLrtVhhgwJT@V7ggwVVzzNk@@xrtz@x@llAgzMEmt0@@l@_@_@zt@@v@x 
lkL@7Abs0t@@@VM@W@uxVzVL@9zRW@v@Vzz@@VpdW@@@lB7IeRU3gT8X4vpn@t@l 
x@@V_VV@_t@xn@zthlxxttTzj_lkBVt@Nwxgk0; 
 
ENDDATA; 
DATA TEMP_DATA; 
INTEGER A0[28] = 
96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 15, 791, 791, 791, 791, 317, 293, 281, 273, 261, 253, 237, 791; 
INTEGER A1[28] = 
3144, 1574, 716, 360, 183, 1574, 716, 360, 183,3144, 0,1574, 716, 360, 183, 64, 280, 240, 200, 160, 640, 480, 400, 320, 240, 160, 80,3144; 
INTEGER A2[28] = 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 165, 165, 165, 0, 0, 0, 0, 0, 0, 0, 165; 
INTEGER A3[28] = 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 96, 80, 64, 0, 0, 0, 0, 0, 0, 0, 112; 
INTEGER A4[28] = 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 600, 552, 504, 0, 0, 0, 0, 0, 0, 0, 648; 
INTEGER A5[28] = 
3144, 1574, 716, 360, 183, 1574, 716, 360, 183,3144, 0,1574, 716, 360, 183, 64, 56, 48, 40, 32, 128, 96, 80, 64, 48, 32, 16,3144; 
INTEGER A6[28] = 
32, 16, 8, 4, 2, 16, 8, 4, 2, 32, 24, 16, 8, 4, 2, 0, 0, 0, 0, 0, 16, 12, 10, 8, 6, 4, 2, 32; 
INTEGER A7[28] = 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 5, 4, 0, 0, 0, 0, 0, 0, 0, 7; 
INTEGER A8[28] = 
512, 256, 128, 64, 32, 256, 128, 64, 32, 512, 384, 256, 128, 64, 32, 0, 560, 480, 400, 320, 256, 192, 160, 128, 96, 64, 32, 560; 
INTEGER A9[21] = 
12, 3, 131, 8, 3, 131, 0, 0, 0, 6, 3, 131, 0, 0, 0, 3, 1, 118, 1, 3, 126; 
INTEGER A10[14] = 
12, 3, 8, 3, 8, 3, 6, 3, 0, 0, 3, 1, 1, 1; 
INTEGER A51[15] = 
294, 148, 38, 20, 2, 148, 38, 20, 2, 294, 0, 148, 38, 20, 2; 
INTEGER A49[14] = 
12, 114, 8, 114, 8, 114, 6, 114, 0, 0, 3, 109, 1, 109; 
INTEGER A11[5 * 3 * 27] = 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,1025, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,1025, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,1025, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,1025, 0, 0, 
0, 0, 0, 0, 0, 0,1025, 4, 0, 1, 1, 0,1025, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 99, 1, 0, 99, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 99, 1, 0, 99, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 99, 1, 0, 98, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 99, 1, 0, 98, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 98, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 99, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 99, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 98, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 98, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 98, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 97, 0, 1, 94, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 97, 0, 1, 94, 
0, 0, 0, 1, 0, 98, 2, 1, 96, 1, 0, 97, 0, 2, 96, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 97, 0, 0, 96, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 98, 
129, 10, 98, 1, 0, 98, 2, 1, 96, 1, 0, 97, 0, 0, 96, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 1, 1, 97, 1, 0, 97, 0, 2, 96, 0, 1, 96, 
0, 0, 0, 0, 0, 0, 1, 31, 97, 4, 31, 98, 1, 0, 98; 
INTEGER A14[64] = 
8600,6400,4800,3600,2800,2000,1540,1140, 860, 640, 480, 360, 280, 200, 154, 116, 
86, 64, 50, 36, 28, 24, 20, 16, 14, 12, 11, 9, 7, 5, 4, 3, 
2000,1600,1300,1000, 900, 800, 720, 660, 600, 560, 520, 480, 440, 400, 380, 360, 
340, 300, 280, 260, 240, 220, 200, 180, 160, 140, 120, 100, 80, 60, 40, 20; 
INTEGER A15[16] = 
60000,28000,10800,4200,1660, 660, 260, 100, 500, 200, 100, 60, 40, 30, 20, 10; 
INTEGER A54[30] = 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 0, 0, 0, 32, 0, 32, 255, 65, 255, 82, 255, 69, 255, 84, 255, 76, 255, 65; 
INTEGER A55[30] = 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 16, 0, 32, 0, 32, 255, 65, 255, 82, 255, 69, 255, 84, 255, 76, 255, 65; 
INTEGER A56[8] = 
255, 1, 255, 56, 255, 57, 255, 65; 
' VARIABLES 
INTEGER A17[1]; 
INTEGER A48[1]; 
INTEGER A52[1]; 
BOOLEAN A32[60]; 
BOOLEAN A33[10]; 
BOOLEAN A39[10]; 
BOOLEAN A26[1600]; 
BOOLEAN A27[5]; 
BOOLEAN A28[273]; 
BOOLEAN A45[320]; 
BOOLEAN A29[320]; 
BOOLEAN A30[320]; 
BOOLEAN A31[640]; 
BOOLEAN A57[640]; 
BOOLEAN A34[50]; 
BOOLEAN A35[50]; 
BOOLEAN A36[50]; 
BOOLEAN A37[50]; 
BOOLEAN A38[70]; 
INTEGER V2 = 0; 
INTEGER V3 = 0; 
INTEGER V4 = 32; 
BOOLEAN b; 
INTEGER i; 
INTEGER j; 
INTEGER k; 
INTEGER l; 
INTEGER V10; 
INTEGER V11; 
INTEGER V12; 
INTEGER V13; 
BOOLEAN A18[21]; 
BOOLEAN A19[20]; 
BOOLEAN A20[10]; 
INTEGER V14; 
INTEGER V15; 
INTEGER V89; 
INTEGER V16; 
INTEGER V87; 
INTEGER V17; 
INTEGER V18; 
INTEGER V19; 
INTEGER V20; 
INTEGER V21; 
INTEGER V88; 
INTEGER V94; 
INTEGER V22; 
INTEGER V23; 
INTEGER V24; 
INTEGER V25; 
INTEGER V26; 
INTEGER V27; 
INTEGER V28; 
INTEGER V29 = 1; 
INTEGER A16[15]; 
INTEGER V30; 
INTEGER V31; 
INTEGER V32 = 0; 
INTEGER V33 = 0; 
INTEGER V34 = 1; 
INTEGER V35 = 0; 
INTEGER V36 = 0; 
INTEGER V37 = 0; 
INTEGER V38 = 0; 
INTEGER V72 = 0; 
INTEGER V73 = 0; 
BOOLEAN V39 = 0; 
BOOLEAN V40 = 0; 
INTEGER V41 = 0; 
INTEGER V42 = 0; 
BOOLEAN V43 = 0; 
BOOLEAN V44 = 0; 
BOOLEAN V45 = 0; 
INTEGER V46; 
INTEGER V47; 
INTEGER V48; 
BOOLEAN V49 = 0; 
INTEGER V51 = -1; 
INTEGER V52 = -1; 
BOOLEAN V74 = 0; 
BOOLEAN V75 = 0; 
BOOLEAN V56 = 0; 
BOOLEAN V57 = 0; 
BOOLEAN V58 = 1; 
BOOLEAN A40[10]; 
BOOLEAN A41[10]; 
BOOLEAN A44[10]; 
BOOLEAN V76 = 0; 
BOOLEAN V80 = 1; 
BOOLEAN V81 = 0; 
BOOLEAN V82 = 0; 
INTEGER V83 = 5; 
INTEGER V84 = 0; 
INTEGER V86 = 0; 
BOOLEAN V91 = 0; 
INTEGER V68 = 0; 
INTEGER V69 = 0; 
INTEGER V96 = 94; 
BOOLEAN V97 = 1; 
BOOLEAN V102 = 0; 
BOOLEAN V100 = 0; 
BOOLEAN V103 = 0; 
BOOLEAN V108 = 0; 
BOOLEAN V104 = 0; 
BOOLEAN V105 = 0; 
BOOLEAN V107 = 0; 
BOOLEAN V106 = 0; 
BOOLEAN V101 = 0; 
BOOLEAN USE_EXTEND_IR_DELAY_METHOD = 0; 
BOOLEAN USE_FIXED_ALGORITHM = 0; 
ENDDATA; 
PROCEDURE PR_INIT_PROGRAM USES TEMP_DATA; 
V102 = 1; 
V103 = 1; 
ENDPROC; 
PROCEDURE DO_BLANK_CHECK USES TEMP_DATA; 
V100 = 1; 
ENDPROC; 
PROCEDURE DO_VERIFY USES TEMP_DATA; 
V108 = 1; 
ENDPROC; 
PROCEDURE DO_SECURE USES TEMP_DATA; 
V107 = 1; 
V106 = 1; 
ENDPROC; 
PROCEDURE DO_READ_UES USES TEMP_DATA; 
V104 = 1; 
ENDPROC; 
PROCEDURE PR_INIT_BLANKCHECK USES TEMP_DATA; 
V100 = 1; 
ENDPROC; 
PROCEDURE PR_INIT_VERIFY USES TEMP_DATA; 
V108 = 1; 
ENDPROC; 
PROCEDURE PR_INIT_READ_UES USES TEMP_DATA; 
V104 = 1; 
ENDPROC; 
PROCEDURE PR_EXECUTE USES DEVICE_DATA, TEMP_DATA, L6, L26, 
L96, 
L97, L75, L55, L82, 
L257, 
L41, L35, L21; 
CALL L6; 
V3 = 0; 
V4 = 1; 
CALL L26; 
IF (V2 == 0) THEN GOTO L2; 
IF (V42 == 0) THEN CALL L97; 
IF ((V42 == 0) && V102) THEN CALL L75; 
IF ((V42 == 0) && V100) THEN CALL L96; 
IF ((V42 == 0) && V103) THEN CALL L55; 
IF ((V42 == 0) && V108) THEN CALL L82; 
IF ((V42 == 0) && V107) THEN CALL L257; 
L2: 
IF ((V42 == 0) && V104) THEN CALL L41; 
CALL L21; 
EXIT V42; 
ENDPROC; 
PROCEDURE L6 USES DEVICE_DATA, TEMP_DATA, L30, L276, L32; 
INTEGER V66 = 0; 
INTEGER V90 = 0; 
INTEGER V95 = 0; 
INTEGER V67 = 0; 
IF (V103) THEN V102 = 1; 
IF (V106) THEN V107 = 1; 
IF ((V102 || V100) && !V103 && 
(V108 || V107)) THEN V42 = 1; 
IF (V42 != 0) THEN GOTO L16; 
V21 = 0; 
FOR i = 0 TO V1; 
j = 1; 
k = 1; 
IF (((A13[i] & 1) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L7; 
V2 = A12[i]; 
j = A1[V2]; 
k = A5[V2]; 
L7: 
V21 = V21 + j; 
V66 = V66 + k; 
NEXT i; 
l = 0; 
FOR i = 4 TO 0 STEP -1; 
FOR j = 0 TO V1; 
IF (((A13[j] & 1) == 0) || 
((A13[j] & 4) == 0)) THEN GOTO L8; 
V2 = A12[j]; 
FOR k = 0 TO (A1[V2] - 1); 
IF ((k % 5) == i) THEN A26[l] = 1; 
l = l + 1; 
NEXT k; 
GOTO L9; 
L8: 
l = l + 1; 
L9: 
NEXT j; 
NEXT i; 
V88 = 0; 
FOR i = 0 TO V1; 
j = 1; 
k = 1; 
IF (((A13[i] & 256) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L10; 
V2 = A12[i]; 
j = A1[V2]; 
k = A5[V2]; 
IF ((V2 >= 23) && (V2 <= 27)) THEN 
V96 = 95; 
L10: 
V88 = V88 + j; 
V90 = V90 + k; 
NEXT i; 
V94 = 0; 
FOR i = 0 TO V1; 
j = 1; 
k = 1; 
IF (((A13[i] & 512) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L11; 
V2 = A12[i]; 
j = A1[V2]; 
k = A5[V2]; 
L11: 
V94 = V94 + j; 
V95 = V95 + k; 
NEXT i; 
V22 = 0; 
FOR i = 0 TO V1; 
j = 1; 
k = 1; 
IF (((A13[i] & 2) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L12; 
V2 = A12[i]; 
j = A1[V2]; 
k = A5[V2]; 
L12: 
V22 = V22 + j; 
V67 = V67 + k; 
NEXT i; 
l = 0; 
FOR i = 4 TO 0 STEP -1; 
FOR j = 0 TO V1; 
IF (((A13[j] & 2) == 0) || 
((A13[j] & 4) == 0)) THEN GOTO L13; 
V2 = A12[j]; 
FOR k = 0 TO (A1[V2] - 1); 
IF ((k % 5) == i) THEN A27[l] = 1; 
l = l + 1; 
NEXT k; 
GOTO L14; 
L13: 
l = l + 1; 
L14: 
NEXT j; 
NEXT i; 
V16 = 0; 
FOR i = 0 TO V1; 
j = 1; 
IF (((A13[i] & 1) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L15; 
V2 = A12[i]; 
j = A0[V2]; 
L15: 
V16 = V16 + j; 
NEXT i; 
V87 = 0; 
FOR i = 0 TO V1; 
j = 1; 
IF (((A13[i] & 256) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L16; 
V2 = A12[i]; 
j = A0[V2]; 
L16: 
V87 = V87 + j; 
NEXT i; 
V17 = 0; 
FOR i = 0 TO V1; 
j = 1; 
IF (((A13[i] & 2) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L17; 
V2 = A12[i]; 
j = A0[V2]; 
L17: 
V17 = V17 + j; 
NEXT i; 
V18 = V17; 
IF (V16 > V18) THEN V18 = V16; 
IF (V87 > V18) THEN V18 = V87; 
V19 = V18; 
IF (V21 > V19) THEN V19 = V21; 
IF (V88 > V19) THEN V19 = V88; 
IF (V94 > V19) THEN V19 = V94; 
FOR i = 0 TO (V19 - 1); 
A30[i] = 1; 
NEXT i; 
V20 = 2 * 5 * 5 * V67; 
IF ((2 * 5 * V66) > V20) THEN V20 = 2 * 5 * V66; 
IF (V90 > V20) THEN V20 = V90; 
IF (V95 > V20) THEN V20 = V95; 
V33 = 0; 
FOR i = 0 TO V1; 
IF (((A13[i] & 2) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L18; 
V2 = A12[i]; 
IF (V33 < A7[V2]) THEN 
V33 = A7[V2]; 
L18: 
NEXT i; 
V12 = 0; 
V13 = 0; 
FOR i = 0 TO V1; 
V12 = V12 + A25[i]; 
IF (A25[i] > V13) THEN V13 = A25[i]; 
NEXT i; 
FOR i = 0 TO (V13 - 1); 
A39[i] = 1; 
NEXT i; 
FOR i = 0 TO 4; 
j = 10 * i; 
A34[(j + 9)..j] = $016; 
A35[(j + 9)..j] = $01A; 
A36[(j + 9)..j] = $022; 
A37[(j + 9)..j] = $026; 
FOR k = 0 TO 2; 
b = 0; 
IF ((i & (1 << k)) != 0) THEN b = 1; 
A34[j + k + 7] = b; 
A35[j + k + 7] = b; 
A36[j + k + 7] = b; 
A37[j + k + 7] = b; 
NEXT k; 
NEXT i; 
FOR i = 0 TO 6; 
j = 10 * i; 
A38[(j + 9)..j] = $02A; 
FOR k = 0 TO 2; 
b = 0; 
IF ((i & (1 << k)) != 0) THEN b = 1; 
A38[j + k + 7] = b; 
NEXT k; 
NEXT i; 
FOR i = 0 TO V1; 
A52[i] = 0; 
IF (((A13[i] & 256) == 0) || 
((A13[i] & 4) == 0)) THEN GOTO L19; 
V2 = A12[i]; 
A52[i] = 
A5[V2] - (80 * A6[V2]); 
L19: 
NEXT i; 
CALL L30; 
IRSTOP IRPAUSE; 
DRSTOP IDLE; 
STATE IDLE; 
IF (V101) THEN CALL L32; 
IF (V42 != 0) THEN GOTO L20; 
A18[9..0] = $071; 
V4 = 1 | 2; 
CALL L276; 
WAIT 10000 USEC; 
A18[9..0] = $332; 
V4 = 256; 
CALL L276; 
WAIT 10000 USEC; 
A18[9..0] = $044; 
V4 = 512; 
CALL L276; 
WAIT 10000 USEC; 
L20: 
ENDPROC; 
PROCEDURE L21 USES DEVICE_DATA, TEMP_DATA, L31, L276, L32, L35; 
IF (V42 == 1) THEN GOTO L25; 
CALL L31; 
IF (!V76) THEN GOTO L22; 
A18[9..0] = $003; 
V4 = 32; 
CALL L276; 
L22: 
A18[9..0] = $079; 
V4 = 1 | 2; 
CALL L276; 
WAIT 10000 USEC; 
A18[9..0] = $006; 
V4 = 256; 
CALL L276; 
A18[9..0] = $04A; 
V4 = 512; 
CALL L276; 
WAIT 10000 USEC; 
L23: 
IF (!V76) THEN GOTO L24; 
V80 = 0; 
CALL L32; 
IF (V42 != 0) THEN V42 = 10; 
IF (V42 != 0) THEN GOTO L25; 
L24: 
A18[9..0] = $3FF; 
CALL L276; 
IF (V105) THEN CALL L35; 
L25: 
IF (V42 == 0) THEN 
PRINT "DONE"; 
IF (V42 == 1) THEN 
PRINT "Invalid option combination specified"; 
IF (V42 == 6) THEN 
PRINT "Unrecognized device"; 
IF (V42 == 7) THEN 
PRINT "Device revision is not supported"; 
IF (V42 == 10) THEN 
PRINT "Device programming failure"; 
IF (V42 == 9) THEN 
PRINT "Device is not blank"; 
IF (V42 == 11) THEN 
PRINT "Device verify failure"; 
IF (V42 == 10) THEN 
PRINT "Device configuration failure"; 
IF (V42 == 4) THEN 
PRINT "Unable to read USERCODE/UES from device #", V84 + 1; 
ENDPROC; 
PROCEDURE L26 USES DEVICE_DATA, TEMP_DATA; 
j = 0; 
FOR i = 0 TO V1; 
IF ((j <= V3) && 
((A13[i] & V4) != 0) && 
((A13[i] & 4) != 0)) THEN j = i + 1; 
NEXT i; 
IF (j > V3) THEN GOTO L27; 
V2 = 0; 
V3 = 0; 
GOTO L29; 
L27: 
V2 = A12[j - 1]; 
V3 = j; 
IF ((V4 == 32) || (V4 == 256) || 
(V4 == 512)) 
THEN GOTO L29; 
IF (V58) THEN GOTO L28; 
A41[9..0] = $066; 
GOTO L29; 
L28: 
A41[9..0] = $006; 
L29: 
IF (V4 == 1) THEN A40[9..0] = $00E; 
IF (V4 == 1) THEN A44[9..0] = $012; 
IF (V4 == 2) THEN A40[9..0] = $38E; 
IF (V4 == 2) THEN A44[9..0] = $392; 
ENDPROC; 
PROCEDURE L30 USES DEVICE_DATA, TEMP_DATA, L31 
, L272 
; 
CALL L31; 
IF (V32 == 0) THEN CALL L272; 
V10 = 0; 
V14 = 0; 
V15 = 0; 
V89 = 0; 
V49 = 1; 
V34 = 0; 
V51 = -1; 
V52 = -1; 
V45 = 0; 
V29 = 1; 
IF (V103) THEN V29 = 0; 
IF (V102 && V74) THEN V29 = 2; 
ENDPROC; 
PROCEDURE L31 USES DEVICE_DATA, TEMP_DATA; 
FOR i = 0 TO V1; 
A17[i] = (A13[i] | A48[i]); 
IF (((A17[i] & 4) != 0) && 
((A17[i] & (1 | 256 | 2 | 512)) != 0) && 
!V102 && !V100 && !V103 && !V108 && 
!V107 && !V106 && V101) THEN 
A17[i] = A17[i] & ~4; 
IF (((A17[i] & 4) != 0) && 
((A17[i] & 32) != 0) && !V101 && 
(V102 || V100 || V103 || V108 || 
V107 || V106)) THEN 
A17[i] = A17[i] & ~4; 
NEXT i; 
ENDPROC; 
PROCEDURE L32 USES DEVICE_DATA, TEMP_DATA, L31; 
INTEGER V79 = 32 * V0; 
BOOLEAN A46[V79]; 
INTEGER A47[8]; 
INTEGER V145; 
CALL L31; 
STATE IDLE; 
V27 = 0; 
FOR i = 0 TO V1; 
A18[9..0] = A39[(A25[i] - 1)..0]; 
IF ((A17[i] & (1 | 2 | 256 | 512)) != 0) THEN 
A18[9..0] = $059; 
IF ((A17[i] & 32) != 0) THEN 
A18[9..0] = $006; 
A32[(V27 + (A25[i] - 1))..V27] = A18[(A25[i] - 1)..0]; 
V27 = V27 + A25[i]; 
NEXT i; 
IRSCAN V27, A32[(V27 - 1)..0]; 
WAIT IRPAUSE, 5 USEC, IDLE; 
WAIT 3 CYCLES; 
DRSCAN V79, A46[(V79 - 1)..0], CAPTURE A46[(V79 - 1)..0]; 
V27 = 0; 
FOR i = 0 TO V1; 
IF (A46[V27] == 1) THEN GOTO L33; 
IF (V80) THEN 
PRINT "Device #", V0 - i, " unable to read IDCODE"; 
IF (V101 && ((A17[i] & 32) != 0) && 
((A17[i] & 4) != 0)) THEN V42 = 6; 
GOTO L34; 
L33: 
FOR j = 0 TO 7; 
A47[j] = 0; 
FOR k = 0 TO 3; 
IF (A46[V27 + (4 * j) + k]) THEN 
A47[j] = A47[j] | (1 << k); 
NEXT k; 
A47[j] = A47[j] + 48; 
IF (A47[j] >= 58) THEN A47[j] = A47[j] + 7; 
NEXT j; 
IF (V80) THEN 
PRINT "Device #", V0 - i, " IDCODE is ", 
CHR$(A47[7]), CHR$(A47[6]), 
CHR$(A47[5]), CHR$(A47[4]), 
CHR$(A47[3]), CHR$(A47[2]), 
CHR$(A47[1]), CHR$(A47[0]); 
IF (V101 && ((A17[i] & 32) != 0) && 
((A17[i] & 4) != 0) && (A47[0] != 68) && 
(A47[1] != 68)) THEN 
V42 = 6; 
V27 = V27 + 31; 
L34: 
V27 = V27 + 1; 
NEXT i; 
V27 = 0; 
FOR i = 0 TO V1; 
IF(A61[i] != 0) THEN GOTO L32_3; 
IF(A46[V27] != 0) THEN 
V42 = 6; 
V27 = V27 + 1; 
NEXT i; 
GOTO L32_4; 
L32_3: 
V145 = 0; 
FOR j = 0 TO 31; 
IF(A46[(V27 + j)]) THEN 
V145 = V145 + (1 << j); 
NEXT j; 
V27 = V27 + 32; 
IF(A61[i] != V145) THEN 
V42 = 6; 
NEXT i; 
L32_4: 
ENDPROC; 
PROCEDURE L35 USES DEVICE_DATA, TEMP_DATA, L31, L276, L39; 
j = 0; 
k = V1; 
V84 = V84 - 1; 
IF (V84 == -1) THEN GOTO L37; 
IF ((V84 < 0) || (V84 > V1) || 
(((A17[V1 - V84] & 256) == 0) && 
((A17[V1 - V84] & 32) == 0) && 
((A17[V1 - V84] & 512) == 0))) THEN 
V42 = 4; 
IF (V42 != 0) THEN GOTO L38; 
L36: 
j = V84; 
k = V84; 
L37: 
CALL L31; 
V4 = 256; 
A18[9..0] = $006; 
CALL L276; 
V4 = 512; 
A18[9..0] = $04A; 
CALL L276; 
WAIT 10000 USEC; 
A18[9..0] = $3FF; 
CALL L276; 
STATE IDLE; 
FOR i = 0 TO (V19 - 1); 
A30[i] = 1; 
NEXT i; 
FOR i = j TO k; 
V84 = i; 
PUSH i; PUSH j; PUSH k; 
CALL L31; 
V4 = 0; 
IF (((A17[V1 - V84] & 256) != 0) && 
((A17[V1 - V84] & 4) != 0)) THEN 
V4 = 256; 
IF (((A17[V1 - V84] & 32) != 0) && 
((A17[V1 - V84] & 4) != 0)) THEN 
V4 = 32; 
IF (((A17[V1 - V84] & 512) != 0) && 
((A17[V1 - V84] & 4) != 0)) THEN 
V4 = 512; 
IF (V4 != 0) THEN CALL L39; 
POP k; POP j; POP i; 
NEXT i; 
L38: 
ENDPROC; 
PROCEDURE L39 USES DEVICE_DATA, TEMP_DATA, L276, L40; 
j = V1 - V84; 
FOR i = 0 TO V1; 
IF (((A17[i] & V4) != 0) && 
((A17[i] & 4) != 0) && (i != j)) THEN 
A17[i] = A17[i] | 8; 
NEXT i; 
IF (V4 == 256) THEN 
A18[9..0] = $007; 
IF (V4 == 512) THEN 
A18[9..0] = $079; 
IF (V4 == 32) THEN 
A18[9..0] = $007; 
CALL L276; 
DRSCAN 32 + j, A30[(32 + j - 1)..0], CAPTURE A31[(32 + j - 1)..0]; 
V86 = 0; 
FOR i = 0 TO 31; 
IF (A31[i + j]) THEN 
V86 = V86 | (1 << i); 
NEXT i; 
CALL L40; 
ENDPROC; 
PROCEDURE L40 USES DEVICE_DATA, TEMP_DATA; 
INTEGER A58[8]; 
EXPORT "DEVICE", V84 + 1; 
EXPORT "USERCODE", V86; 
FOR i = 0 TO 7; 
V27 = 0; 
A58[i] = V86 & 15; 
IF (A58[i] > 9) THEN V27 = 7; 
A58[i] = A58[i] + 48 + V27; 
V86 = V86 >> 4; 
NEXT i; 
PRINT "Device #", V84 + 1, " USERCODE code is ", 
CHR$(A58[7]), CHR$(A58[6]), 
CHR$(A58[5]), CHR$(A58[4]), 
CHR$(A58[3]), CHR$(A58[2]), 
CHR$(A58[1]), CHR$(A58[0]); 
ENDPROC; 
PROCEDURE L41 USES DEVICE_DATA, TEMP_DATA, L31 
, L45 
; 
j = 0; 
k = V1; 
V34 = 1; 
V29 = 1; 
V84 = V84 - 1; 
IF (V84 == -1) THEN GOTO L43; 
IF ((V84 < 0) || (V84 > V1) || 
(((A17[V1 - V84] & 1) == 0) && 
((A17[V1 - V84] & 2) == 0))) THEN 
V42 = 4; 
IF (V42 != 0) THEN GOTO L44; 
L42: 
j = V84; 
k = V84; 
L43: 
FOR i = j TO k; 
V84 = i; 
PUSH i; PUSH j; PUSH k; 
CALL L31; 
V86 = 0; 
IF (((A17[V1 - V84] & 1) != 0) && 
((A17[V1 - V84] & 4) != 0)) THEN 
CALL L45; 
POP k; POP j; POP i; 
NEXT i; 
L44: 
ENDPROC; 
PROCEDURE L45 USES DEVICE_DATA, TEMP_DATA, L276, L287, L214, L157, L50; 
V4 = 1; 
A18[9..0] = $016; 
CALL L276; 
DRSCAN V21, A26[(V21 - 1)..0]; 
A18[9..0] = $01A; 
CALL L276; 
DRSCAN V21, A26[(V21 - 1)..0]; 
j = V1 - V84; 
FOR i = 0 TO V1; 
IF (((A17[i] & 1) != 0) && ((A17[i] & 4) != 0) && 
(i != j)) THEN A17[i] = A17[i] | 8; 
NEXT i; 
CALL L287; 
V2 = A12[j]; 
V27 = (V2 - 1) * 2; 
i = A49[V27]; 
V48 = A49[V27 + 1]; 
V46 = A6[V2]; 
IF (V48 < (V46 >> 1)) THEN GOTO L46; 
V48 = V46 - V48 - 1; 
L46: 
V27 = j + V24 + (16 * V48) + 12; 
FOR V11 = i TO i + 15; 
PUSH i; 
PUSH V27; 
CALL L214; 
CALL L157; 
POP V27; 
POP i; 
IF (A31[V27]) THEN 
V86 = V86 | (1 << (V11 - i)); 
NEXT V11; 
CALL L50; 
ENDPROC; 
PROCEDURE L50 USES DEVICE_DATA, TEMP_DATA; 
INTEGER V85[8]; 
EXPORT "DEVICE", V84 + 1; 
EXPORT "UES", V86; 
FOR i = 0 TO 3; 
V27 = 0; 
V85[i] = V86 & 15; 
IF (V85[i] > 9) THEN V27 = 7; 
V85[i] = V85[i] + 48 + V27; 
V86 = V86 >> 4; 
NEXT i; 
PRINT "Device #", V84 + 1, " UES code is ", 
CHR$(V85[3]), CHR$(V85[2]), 
CHR$(V85[1]), CHR$(V85[0]); 
ENDPROC; 
PROCEDURE L55 USES DEVICE_DATA, TEMP_DATA, L30, L309, L214, L240; 
PRINT "programming 7K device(s)..."; 
CALL L30; 
CALL L309; 
FOR V11 = 1 TO 107; 
CALL L214; 
CALL L240; 
NEXT V11; 
V49 = 1; 
FOR V11 = 109 TO (V32 - 1); 
CALL L214; 
CALL L240; 
NEXT V11; 
ENDPROC; 
PROCEDURE L69 USES DEVICE_DATA, TEMP_DATA, L276; 
A18[9..0] = A41[9..0]; 
CALL L276; 
A18[9..0] = A40[9..0]; 
CALL L276; 
A18[9..0] = $00A; 
CALL L276; 
IF (V58) THEN V56 = 1; 
WAIT (V38 * 1000) USEC; 
IF (V58) THEN GOTO L70; 
IF (V82) THEN V83 = 20000; 
A18[9..0] = $06A; 
CALL L276; 
V83 = 5; 
A18[9..0] = $06E; 
CALL L276; 
L70: 
A18[9..0] = A44[9..0]; 
CALL L276; 
ENDPROC; 
PROCEDURE L71 USES DEVICE_DATA, TEMP_DATA, L276; 
A18[9..0] = A41[9..0]; 
CALL L276; 
A18[9..0] = $00A; 
CALL L276; 
IF (V58) THEN V56 = 1; 
WAIT (V37 * 100) USEC; 
IF (V58) THEN GOTO L72; 
A18[9..0] = $06E; 
CALL L276; 
L72: 
A18[9..0] = A44[9..0]; 
CALL L276; 
ENDPROC; 
PROCEDURE L73 USES DEVICE_DATA, TEMP_DATA, L31; 
CALL L31; 
FOR i = 0 TO V1; 
IF (((A17[i] & 1) == 0) || ((A17[i] & 4) == 0)) 
THEN GOTO L74; 
IF (V82 && ((A48[i] & 128) == 0)) 
THEN A17[i] = A17[i] | 8; 
IF (!V82 && ((A48[i] & 128) != 0)) 
THEN A17[i] = A17[i] | 8; 
L74: 
NEXT i; 
IF (V82) THEN A41[9..0] = $066; 
IF (!V82 && V58) THEN A41[9..0] = $006; 
ENDPROC; 
PROCEDURE L75 USES DEVICE_DATA, TEMP_DATA, L276, L73, L69, L214, L240; 
A18[9..0] = $012; 
CALL L276; 
A18[9..0] = $01E; 
CALL L276; 
DRSCAN V16, A30[(V16 - 1)..0]; 
L76: 
CALL L73; 
b = V58; 
IF (V82) THEN V58 = 0; 
CALL L69; 
V58 = b; 
IF (!V82) THEN GOTO L77; 
V82 = 0; 
GOTO L76; 
L77: 
A18[9..0] = $01E; 
CALL L276; 
DRSCAN V16, A29[(V16 - 1)..0]; 
IF (V103) THEN GOTO L78; 
V75 = 1; 
FOR V11 = 102 TO 103; 
CALL L214; 
CALL L240; 
NEXT V11; 
V75 = 0; 
L78: 
ENDPROC; 
PROCEDURE L82 USES DEVICE_DATA, TEMP_DATA, L30, L309, L299, L214, L157; 
IF (V74) THEN PRINT "blank checking 7K device(s)..."; 
IF (!V74) THEN PRINT "verifying 7K device(s)..."; 
CALL L30; 
CALL L309; 
CALL L299; 
FOR V11 = 1 TO 101; 
CALL L214; 
CALL L157; 
IF (V42 != 0) THEN V11 = 101; 
NEXT V11; 
IF (V42 != 0) THEN GOTO L84; 
IF (V74 && !V103) THEN GOTO L83; 
FOR V11 = 102 TO 103; 
CALL L214; 
CALL L157; 
IF (V42 != 0) THEN V11 = 103; 
NEXT V11; 
L83: 
IF (V42 != 0) THEN GOTO L84; 
FOR V11 = 104 TO 107; 
CALL L214; 
CALL L157; 
IF (V42 != 0) THEN V11 = 107; 
NEXT V11; 
IF (V42 != 0) THEN GOTO L84; 
V45 = 1; 
FOR V11 = 109 TO 113; 
CALL L214; 
CALL L157; 
IF (V42 != 0) THEN V11 = 113; 
NEXT V11; 
IF (V42 != 0) THEN GOTO L84; 
V45 = 0; 
FOR V11 = 114 TO (V32 - 1); 
CALL L214; 
CALL L157; 
IF (V42 != 0) THEN V11 = V32 - 1; 
NEXT V11; 
L84: 
ENDPROC; 
PROCEDURE L96 USES DEVICE_DATA, TEMP_DATA 
, L82 
; 
V74 = 1; 
IF (V4 == 1) THEN CALL L82; 
V74 = 0; 
ENDPROC; 
PROCEDURE L97 USES DEVICE_DATA, TEMP_DATA, L30, L214, L157, L287, L31; 
CALL L30; 
V37 = 100; 
V38 = 100; 
V29 = 1; 
V11 = 0; 
CALL L214; 
V34 = 1; 
IF (USE_FIXED_ALGORITHM) THEN GOTO L98; 
CALL L157; 
GOTO L99; 
L98: 
CALL L287; 
FOR i = 0 TO V20 - 1; 
A31[i] = 0; 
A57[i] = 0; 
NEXT i; 
L99: 
FOR i = V1 TO 0 STEP -1; 
A48[i] = 0; 
IF (((A17[i] & 1) == 0) || 
((A17[i] & 4) == 0)) THEN GOTO L109; 
V68 = 0; 
FOR j = 0 TO i; 
V26 = 0; 
V2 = A12[j]; 
IF (i == j) THEN GOTO L100; 
V26 = 1; 
IF (((A17[j] & 1) == 0) || 
((A17[j] & 4) == 0)) THEN GOTO L100; 
V26 = A8[V2] >> 1; 
L100: 
V68 = V68 + V26; 
NEXT j; 
FOR j = 0 TO 14; 
A16[j] = 0; 
V46 = A6[V2]; 
V47 = j / (V46 << 1); 
V48 = (j % (V46 << 1)) >> 1; 
V69 = 0; 
IF (V48 < (V46 >> 1)) THEN GOTO L101; 
V69 = 1; 
V48 = V46 - V48 - 1; 
L101: 
V27 = V68 + (((2 * V47) + V69) * V24) + 
(16 * V48) + (8 * (~j & 1)); 
FOR k = 0 TO 7; 
IF (USE_FIXED_ALGORITHM) THEN GOTO L102; 
IF (A31[V27 + k]) THEN 
A16[j] = A16[j] | (1 << k); 
GOTO L103; 
L102: 
IF ((A54[j << 1] & (1 << k)) != 0) THEN 
A31[V27 + k] = 1; 
IF ((A54[(j << 1) + 1] & (1 << k)) != 0) THEN 
A57[V27 + k] = 1; 
L103: 
NEXT k; 
IF (USE_FIXED_ALGORITHM) THEN 
A16[j] = A54[j << 1]; 
NEXT j; 
IF (!USE_FIXED_ALGORITHM) THEN GOTO L104; 
PUSH i; 
CALL L157; 
POP i; 
IF (V39) THEN V42 = 6; 
L104: 
IF ((A16[0] != 65) || 
(A16[1] != 76) || 
(A16[2] != 84) || 
(A16[3] != 69) || 
(A16[4] != 82) || 
(A16[5] != 65)) 
THEN V42 = 6; 
IF (V42 != 0) THEN GOTO L109; 
V35 = ((A16[6] - 48) * 10) + (A16[7] - 48); 
V36 = A16[9] & 31; 
V27 = 5 * 3 * (V2 - 1); 
V40 = 0; 
V72 = 300; 
V73 = 100; 
IF ((V36 & 24) == 16) THEN 
V40 = 1; 
FOR j = 0 TO (5 - 1); 
IF (V40 || 
(V35 != A11[V27]) || 
(V36 != A11[V27 + 1])) THEN 
GOTO L108; 
V40 = 1; 
IF ((A11[V27 + 2] & 1) != 1) THEN 
GOTO L105; 
V72 = A14[A16[8] & 31]; 
V73 = A15[(A16[8] >> 5) & 7]; 
L105: 
IF ((A11[V27 + 2] & 2) != 2) THEN 
GOTO L106; 
k = 14; 
IF (V2 == 2) THEN k = 11; 
V72 = A14[((A16[k] >> 3) & 31) + 32]; 
V73 = A15[(A16[k] & 7) + 8]; 
L106: 
IF ((A11[V27 + 2] & 4) != 4) THEN 
GOTO L107; 
V72 = 500; 
V73 = 500; 
L107: 
IF ((A11[V27 + 2] & 128) != 128) THEN 
GOTO L108; 
V82 = 1; 
A48[i] = A48[i] | 128; 
L108: 
V27 = V27 + 3; 
NEXT j; 
V27 = 0; 
IF ((V36 & 15) > 9) THEN V27 = 7; 
PRINT "Device #", V0 - i ," Silicon ID is ", 
CHR$(A16[0]), CHR$(A16[1]), CHR$(A16[2]), CHR$(A16[3]), 
CHR$(A16[4]), CHR$(A16[5]), CHR$(A16[6]), CHR$(A16[7]), 
"(", CHR$(((V36 >> 4) & 1) + 48), 
CHR$((V36 & 15) + 48 + V27), ")" 
; 
IF (V72 > V37) THEN V37 = V72; 
IF (V73 > V38) THEN V38 = V73; 
IF (!V40) THEN V42 = 7; 
L109: 
NEXT i; 
IF ((V42 == 0) && V82) THEN CALL L31; 
ENDPROC; 
PROCEDURE L153 USES DEVICE_DATA, TEMP_DATA, L276; 
A18[9..0] = A19[9..0]; 
CALL L276; 
WAIT 15 USEC; 
A18[9..0] = A20[9..0]; 
CALL L276; 
IF (V34 == 0) THEN GOTO L154; 
IF (!USE_FIXED_ALGORITHM) THEN 
DRSCAN V24, A29[(V24 - 1)..0], CAPTURE A31[V31..V30]; 
IF (USE_FIXED_ALGORITHM) THEN 
DRSCAN V24, A29[(V24 - 1)..0], COMPARE A31[V31..V30], 
A57[V31..V30], V40; 
GOTO L156; 
L154: 
IF (V74) THEN GOTO L155; 
DRSCAN V24, A29[(V24 - 1)..0], COMPARE A22[V31..V30], 
A30[(V24 - 1)..0], V40; 
GOTO L156; 
L155: 
DRSCAN V24, A29[(V24 - 1)..0], 
COMPARE A30[(V24 - 1)..0], A30[(V24 - 1)..0], 
V40; 
L156: 
IF (!V40) THEN V39 = 1; 
ENDPROC; 
PROCEDURE L157 USES DEVICE_DATA, TEMP_DATA, L276, L287, L153, L301, L297, L299; 
V39 = 0; 
V40 = 1; 
IF (V10 > 89) THEN GOTO L158; 
A18[9..0] = $016; 
CALL L276; 
DRSCAN V21, A26[(V21 - 1)..0]; 
A18[9..0] = $01A; 
CALL L276; 
DRSCAN V21, A26[(V21 - 1)..0]; 
L158: 
IF (V29 == 0) THEN 
A19[9..0] = $036; 
IF (V29 == 1) THEN 
A19[9..0] = $03A; 
IF (V29 == 2) THEN 
A19[9..0] = $032; 
IF (V49) THEN CALL L287; 
IF (V34 == 1) THEN GOTO L159; 
V30 = V15; 
V31 = V30 + (V24 - 1); 
GOTO L160; 
L159: 
V30 = 0; 
V31 = V24 - 1; 
L160: 
V81 = 0; 
V28 = 4; 
IF (V10 > 88) THEN V28 = 0; 
FOR i = 0 TO V28; 
IF (i == V28) THEN V81 = 1; 
PUSH i; 
A20[9..0] = $022; 
CALL L153; 
IF (V29 != 0) THEN GOTO L161; 
A19[9..0] = $032; 
CALL L153; 
A19[9..0] = $036; 
L161: 
V30 = V30 + V24; 
V31 = V31 + V24; 
IF (!V45) THEN GOTO L162; 
b = 0; 
CALL L301; 
GOTO L163; 
L162: 
IF (V10 != V51) THEN GOTO L163; 
V44 = 1; 
b = 0; 
CALL L297; 
L163: 
A20[9..0] = $026; 
CALL L153; 
IF (V29 != 0) THEN GOTO L164; 
A19[9..0] = $032; 
CALL L153; 
A19[9..0] = $036; 
L164: 
V30 = V30 + V24; 
V31 = V31 + V24; 
IF (!V45) THEN GOTO L165; 
b = 1; 
CALL L301; 
GOTO L166; 
L165: 
IF (V10 != V51) THEN GOTO L166; 
b = 1; 
CALL L297; 
V44 = 0; 
CALL L299; 
L166: 
IF (V81) THEN GOTO L167; 
A18[9..0] = $016; 
CALL L276; 
POP i; 
DRSCAN V21, A26[(((i + 2) * V21) - 1)..((i + 1) * V21)]; 
PUSH i; 
A18[9..0] = $01A; 
CALL L276; 
POP i; 
DRSCAN V21, A26[(((i + 2) * V21) - 1)..((i + 1) * V21)]; 
PUSH i; 
L167: 
POP i; 
NEXT i; 
V15 = V30; 
IF (!V39 || (V34 == 1)) THEN 
GOTO L168; 
IF (V74) THEN V42 = 9; 
IF (!V74) THEN V42 = 11; 
L168: 
ENDPROC; 
PROCEDURE L214 USES DEVICE_DATA, TEMP_DATA, L276, L309; 
V30 = 0; 
FOR j = 0 TO V1; 
V31 = V30; 
IF (((A17[j] & 1) == 0) || 
((A17[j] & 4) == 0) || 
((A17[j] & 8) != 0)) THEN GOTO L216; 
V2 = A12[j]; 
IF (V11 >= (A0[V2] - 108)) THEN GOTO L215; 
V31 = V31 + (A0[V2] - 1); 
A28[V31 - V11] = 1; 
IF (V11 < 108) THEN A28[(107 + V30) - V11] = 1; 
GOTO L216; 
L215: 
IF ((A17[j] & 8) == 0) THEN V49 = 1; 
A17[j] = A17[j] | 8; 
L216: 
V30 = V31 + 1; 
NEXT j; 
A18[9..0] = $01E; 
CALL L276; 
DRSCAN V30, A28[(V30 - 1)..0]; 
V30 = 0; 
FOR j = 0 TO V1; 
V31 = V30; 
V2 = A12[j]; 
IF (((A17[j] & 1) == 0) || 
((A17[j] & 4) == 0) || 
((A17[j] & 8) != 0)) THEN GOTO L217; 
V31 = V31 + (A0[V2] - 1); 
A28[V31 - V11] = 0; 
IF (V11 < 108) THEN A28[(107 + V30) - V11] = 0; 
L217: 
V30 = V31 + 1; 
NEXT j; 
IF (V49 && (V11 == V52)) THEN 
CALL L309; 
V10 = V11; 
ENDPROC; 
PROCEDURE L240 USES DEVICE_DATA, TEMP_DATA, L287, L276, L71; 
V30 = V14; 
IF (V49) THEN CALL L287; 
V31 = V30 + (V23 - 1); 
IF (V75) THEN GOTO L241; 
A18[9..0] = $016; 
CALL L276; 
DRSCAN V23, A21[V31..V30]; 
V30 = V30 + V23; 
V31 = V31 + V23; 
A18[9..0] = $01A; 
CALL L276; 
DRSCAN V23, A21[V31..V30]; 
V30 = V30 + V23; 
V31 = V31 + V23; 
GOTO L242; 
L241: 
A18[9..0] = $016; 
CALL L276; 
DRSCAN V23, A29[(V23 - 1)..0]; 
A18[9..0] = $01A; 
CALL L276; 
DRSCAN V23, A29[(V23 - 1)..0]; 
L242: 
CALL L71; 
V14 = V30; 
ENDPROC; 
PROCEDURE L257 USES DEVICE_DATA, TEMP_DATA, L30, L287, L276 
, L214, L240 
; 
IF (V107 == 0) THEN GOTO L271; 
CALL L30; 
FOR i = 0 TO V1; 
IF (((A17[i] & V4) == 0) || 
((A17[i] & 4) == 0)) THEN GOTO L258; 
IF (((V4 == 1) || (V4 == 256)) && 
((A17[i] & 16) == 0)) THEN 
A17[i] = A17[i] | 8; 
IF ((V4 == 2) && 
((A17[i] & 16) == 0)) THEN 
A17[i] = A17[i] & ~4; 
IF ((A17[i] & 16) != 0) THEN V75 = 1; 
L258: 
NEXT i; 
IF (!V106 && (V75 == 0)) THEN 
GOTO L271; 
IF (V106 && (V75 == 0)) THEN 
GOTO L263; 
IF (V4 != 1) THEN GOTO L259; 
V11 = 108; 
CALL L214; 
CALL L240; 
GOTO L263; 
L259: 
V11 = 0; 
L263: 
IF (!V106) THEN GOTO L271; 
IF (V4 == 1) THEN 
A18[9..0] = $03E; 
IF ((V4 == 2) || (V4 == 256)) THEN 
A18[9..0] = $3FF; 
CALL L276; 
CALL L30; 
V75 = 0; 
FOR i = 0 TO V1; 
IF (((A17[i] & V4) == 0) || 
((A17[i] & 4) == 0)) THEN GOTO L266; 
IF ((A17[i] & 16) != 0) THEN GOTO L264; 
A17[i] = A17[i] | 16; 
GOTO L265; 
L264: 
A17[i] = A17[i] & ~16; 
L265: 
IF (((V4 == 1) || (V4 == 256)) && 
((A17[i] & 16) == 0)) THEN 
A17[i] = A17[i] | 8; 
IF ((V4 == 2) && 
((A17[i] & 16) == 0)) THEN 
A17[i] = A17[i] & ~4; 
IF ((A17[i] & 16) != 0) THEN V75 = 1; 
L266: 
NEXT i; 
IF (V75 == 0) THEN GOTO L271; 
IF (V4 != 1) THEN GOTO L267; 
V11 = 108; 
CALL L214; 
CALL L240; 
GOTO L271; 
L267: 
V11 = 0; 
L271: 
V75 = 0; 
ENDPROC; 
PROCEDURE L272 USES DEVICE_DATA, TEMP_DATA 
, L273 
; 
IF (V4 == 1) THEN CALL L273; 
ENDPROC; 
PROCEDURE L273 USES DEVICE_DATA, TEMP_DATA; 
FOR i = 0 TO V1; 
V2 = A12[i]; 
IF (((A17[i] & V4) != 0) && 
((A17[i] & 4) != 0)) THEN 
IF (A0[V2] > V32) THEN 
V32 = A0[V2]; 
NEXT i; 
V32 = V32 - 108; 
ENDPROC; 
PROCEDURE L276 USES DEVICE_DATA, TEMP_DATA; 
V41 = 0; 
V27 = 0; 
IF (!V56) THEN GOTO L277; 
V56 = 0; 
V41 = 50; 
IF (!USE_EXTEND_IR_DELAY_METHOD) THEN GOTO L277; 
V27 = 50; 
A32[49..0] = A30[49..0]; 
L277: 
FOR i = 0 TO V1; 
IF ((A17[i] & 8) != 0) THEN GOTO L278; 
IF (((A17[i] & V4) != 0) && 
((A17[i] & 4) != 0)) THEN GOTO L280; 
A33[(A25[i] - 1)..0] = A39[(A25[i] - 1)..0]; 
IF (((A17[i] & 1) != 0) && 
((A17[i] & 4) != 0)) THEN 
A33[(A25[i] - 1)..0] = $03E; 
A32[(V27 + (A25[i] - 1))..V27] = A33[(A25[i] - 1)..0]; 
V27 = V27 + A25[i]; 
GOTO L281; 
L278: 
IF ((A17[i] & 2) != 0) THEN GOTO L279; 
A32[(V27 + 9)..V27] = $3FF; 
IF ((A17[i] & 1) != 0) THEN 
A32[(V27 + 9)..V27] = $03E; 
V27 = V27 + 10; 
GOTO L281; 
L279: 
IF (!V57) THEN GOTO L280; 
A32[(V27 + 9)..V27] = $02A; 
V27 = V27 + 10; 
GOTO L281; 
L280: 
l = 0; 
IF ((A18[20] == 1) && ((A17[i] & 64) != 0)) THEN 
l = 10; 
A32[(V27 + 9)..V27] = A18[(l + 9)..l]; 
V27 = V27 + 10; 
L281: 
NEXT i; 
IF ((V41 == 0) || USE_EXTEND_IR_DELAY_METHOD) THEN 
GOTO L282; 
STATE DRPAUSE; 
WAIT DRPAUSE, 5 USEC, DRPAUSE; 
L282: 
IRSCAN V27, A32[(V27 - 1)..0]; 
V57 = 0; 
WAIT IRPAUSE, V83 USEC, IRPAUSE; 
IF (V91) THEN GOTO L283; 
STATE IDLE; 
WAIT 3 CYCLES; 
L283: 
ENDPROC; 
PROCEDURE L287 USES DEVICE_DATA, TEMP_DATA; 
V23 = 0; 
V24 = 0; 
FOR i = 0 TO (V19 - 1); 
A30[i] = 1; 
NEXT i; 
FOR i = 0 TO V1; 
V25 = 1; 
V26 = 1; 
IF (((A17[i] & V4) == 0) || 
((A17[i] & 4) == 0) || 
((A17[i] & 8) != 0)) THEN GOTO L288; 
V2 = A12[i]; 
V25 = A1[V2]; 
V26 = A5[V2]; 
GOTO L289; 
L288: 
IF (V74) THEN A30[V24] = 0; 
L289: 
V23 = V23 + V25; 
V24 = V24 + V26; 
NEXT i; 
V49 = 0; 
ENDPROC; 
PROCEDURE L297 USES DEVICE_DATA, TEMP_DATA; 
j = 0; 
FOR i = 0 TO V1; 
k = j; 
IF (((A17[i] & 1) == 0) || 
((A17[i] & 4) == 0) || 
((A17[i] & 8) != 0)) THEN GOTO L298; 
V2 = A12[i]; 
k = k + (A5[V2] - 1); 
IF (V10 != A9[3 * (V2 - 1)]) THEN 
GOTO L298; 
V27 = (16 * (A6[V2] - 
A9[(3 * (V2 - 1)) + 2])) - 
A9[(3 * (V2 - 1)) + 1] - 1; 
IF (V43) THEN A29[V27 + j] = b; 
IF (V44) THEN A30[V27 + j] = b; 
L298: 
j = k + 1; 
NEXT i; 
ENDPROC; 
PROCEDURE L299 USES DEVICE_DATA, TEMP_DATA; 
j = 317; 
IF (V51 == -1) THEN V51 = 0; 
FOR i = 0 TO V1; 
IF (((A17[i] & 1) == 0) || 
((A17[i] & 4) == 0)) THEN GOTO L300; 
V2 = A12[i]; 
IF (V51 >= A9[3 * (V2 - 1)]) THEN 
GOTO L300; 
IF (j > (A9[3 * (V2 - 1)] - V51)) THEN 
j = A9[3 * (V2 - 1)] - V51; 
L300: 
NEXT i; 
IF (j != 317) THEN V51 = V51 + j; 
IF (j == 317) THEN V51 = -1; 
ENDPROC; 
PROCEDURE L301 USES DEVICE_DATA, TEMP_DATA; 
j = 0; 
FOR i = 0 TO V1; 
k = j; 
IF (((A17[i] & 1) == 0) || 
((A17[i] & 4) == 0)) THEN GOTO L302; 
V2 = A12[i]; 
k = k + (A5[V2] - 1); 
V27 = (16 * (A6[V2] - 
A10[(2 * (V2 - 1)) + 1])) - 
A10[2 * (V2 - 1)] - 1; 
A30[V27 + j] = b; 
L302: 
j = k + 1; 
NEXT i; 
ENDPROC; 
PROCEDURE L309 USES DEVICE_DATA, TEMP_DATA; 
j = 317; 
FOR i = 0 TO V1; 
IF (((A17[i] & 1) == 0) || 
((A17[i] & 4) == 0)) THEN GOTO L310; 
V2 = A12[i]; 
IF (V52 >= (A0[V2] - 108)) THEN 
GOTO L310; 
IF (j > A0[V2]) THEN j = A0[V2]; 
L310: 
NEXT i; 
IF (j != 317) THEN V52 = j - 108; 
IF (j == 317) THEN V52 = -1; 
ENDPROC; 
' END OF FILE 
CRC 26EB;