DEF START * Memory Map WRKSP EQU >8300 * Workspace R0LB EQU >8301 * R0 LSB STACK EQU >8320 * Stack VDPRD EQU >8800 * VDP read data VDPSTA EQU >8802 * VDP status VDPWD EQU >8C00 * VDP write data VDPWA EQU >8C02 * VDP set read/write address * VPD RAM Map NAMETB EQU >0000 * Name table base NAMET1 EQU >0000 * Name table TL1 NAMET2 EQU >0800 * Name table TL2 TLATT1 EQU >1000 * Tile attribute table TL1 TLATT2 EQU >1800 * Tile attribute table TL2 PTRNTB EQU >2000 * Pattern table base SPRPTB EQU >2800 * Sprite pattern table base SPRATB EQU >3000 * Sprite attribute table AORG >A000 * Load into upper memory * Program starts here START LIMI 0 * Disable interrupts LWPI WRKSP * Setup workspace LI R10,STACK * Use R10 as stack pointer * F18A Unlock LI R0,>391C * VR1/57, value 00011100 BL @VWTR * Write once BL @VWTR * Write twice, unlock * Setup graphics mode BL @GMODE * Call setup routine * Setup enhanced palette LI R1,ENHPAL BL @SETPAL * Upload tile patterns LI R0,PTRNTB LI R1,PAT0 LI R2,128*8 BL @VMBW * Upload name table 1 LI R0,NAMET1 LI R1,>2000 LI R2,>800 BL @VSMW LI R0,NAMET1 LI R1,TL1MAP LI R2,80*24 BL @VMBW * Upload name table 2 LI R0,NAMET2 LI R1,>2000 LI R2,>800 BL @VSMW LI R0,NAMET2 LI R1,TL2MAP LI R2,80*24 BL @VMBW * Set base tile attributes TL1 LI R0,TLATT1 LI R1,>1E00 * Black on grey LI R2,>800 BL @VSMW LI R0,TLATT2-1 LI R1,>1D00 BL @VSBW * Set base tile attributes TL2 LI R0,TLATT2 LI R1,>4000 * Blue on transparent LI R2,>800 BL @VSMW * Set remaining tile attributes LI R8,TLATTR * Tile attribute rectangle list SETTLA MOV *R8+,R0 * Get base address of table in VDP RAM JLT INISPR * -1 ends list MOV *R8+,R1 * Get X position MOV *R8+,R2 * Get Y position MOV *R8+,R3 * Get Width MOV *R8+,R4 * Get Height MOV *R8+,R5 * Get byte to write BL @RECT JMP SETTLA * Init pointer sprite INISPR LI R0,SPRPTB LI R1,POINTR LI R2,32 BL @VMBW LI R0,SPRATB LI R1,SPRATT LI R2,4 BL @VMBW ** * Main loop LOOP BL @VSYNC * Read joystick BL @JOYST * Display pointer sprite LI R0,SPRATB BL @VWAD MOVB @PNTY+1,@VDPWD MOVB @PNTX+1,@VDPWD * Horizontal scroll offset TL2 CLR R0 MOV @SCRLH,R1 AI R1,240 LI R2,240 DIV R2,R0 MOV R1,R0 ORI R0,>1900 BL @VWTR * Vertical scroll offset TL2 CLR R0 MOV @SCRLV,R1 AI R1,192 LI R2,192 DIV R2,R0 MOV R1,R0 ORI R0,>1A00 BL @VWTR * Check for quit MAIN4 BL @CKQUIT JMP LOOP ********************************************************************* * * Wait for vsync * * Modifies R0 * VSYNC MOVB @VDPSTA,R0 * Clear flag if already set VSYNC1 MOVB @VDPSTA,R0 ANDI R0,>8000 * Check interrupt flag JEQ VSYNC1 * Loop until set B *R11 *// VSYNC ********************************************************************* * * Read joystick * JOYST MOV R11,*R10+ * Push return address onto the stack LI R12,>0024 * CRU address of the column decoder LI R0,>0600 * Column 6, i.e joystick #1 LDCR R0,3 * Select it LI R12,>0006 * Base CRU address for joystick 1 * Init variables CLR R0 * Fire flag CLR R1 * DX CLR R2 * DY * Fire button TB 0 JEQ JOYST0 SETO R0 * Left JOYST0 TB 1 JEQ JOYST1 MOV @PNTX,R3 CI R3,8 JEQ JOYST2 SETO R1 JMP JOYST2 * Right JOYST1 TB 2 JEQ JOYST2 MOV @PNTX,R3 CI R3,248 JEQ JOYST2 LI R1,1 * Down JOYST2 TB 3 JEQ JOYST3 MOV @PNTY,R3 CI R3,190 JEQ JOYST4 LI R2,1 JMP JOYST4 * Up JOYST3 TB 4 JEQ JOYST4 MOV @PNTY,R3 JEQ JOYST4 SETO R2 * Move pointer JOYST4 A R1,@PNTX A R2,@PNTY ABS R0 JEQ JOYST6 * Check if inside the pop-up window's title bar LI R3,27*6+16/2 S @SCRLH,R3 NEG R3 A @PNTX,R3 JLT JOYST5 CI R3,6*25/2 JGT JOYST5 LI R4,7*8 S @SCRLV,R4 NEG R4 A @PNTY,R4 JLT JOYST5 CI R4,8 JGT JOYST5 * Move pop-up window S R1,@SCRLH S R2,@SCRLV * Check if inside the button JOYST5 CI R3,6*10/2 JLT JOYST6 CI R3,6*14/2 JGT JOYST6 CI R4,8*6 JLT JOYST6 CI R4,8*7 JGT JOYST6 * Close window LI R0,>3100 * Reg 49: Enhanced color mode BL @VWTR * Disabled tile map 2 * Return JOYST6 DECT R10 * Pop return address off the stack MOV *R10,R11 B *R11 *// JOYST ********************************************************************* * * Check for quit * CKQUIT CLR R1 * Test column 0 LI R12,>0024 * Address for column selection LDCR R1,3 * Select column LI R12,>0006 * Address to read rows STCR R1,8 ANDI R1,>1100 JEQ QUIT B *R11 * Quit QUIT LI R1,STDPAL BL @SETPAL LI R0,>3280 * Reg 50: Misc BL @VWTR * Reset BLWP @>0000 ******************************************************************************** * * Set palette * * R1: Address of palette to load * SETPAL MOV R11,*R10+ * Push return address onto the stack * Load color paletttes LI R0,>2FC1 * Reg 47, DPM = 1, AUTO INC = 1, start PR1 BL @VWTR * Every two bytes written to the VDP now go to the palette registers. LI R2,30 * Each 12-bit palette entry requires 2 bytes SETPA1 MOVB *R1+,@VDPWD DEC R2 JNE SETPA1 LI R0,>2F00 * Reg 47, exit DMP BL @VWTR * Return DECT R10 * Pop return address off the stack MOV *R10,R11 B *R11 STDPAL DATA >0000 * Black DATA >02C3 * Medium Green DATA >05D6 * Light Green DATA >054F * Dark Blue DATA >076F * Light Blue DATA >0D54 * Dark Red DATA >04EF * Cyan DATA >0F54 * Medium Red DATA >0F76 * Light Red DATA >0DC3 * Dark Yellow DATA >0ED6 * Light Yellow DATA >02B2 * Dark Green DATA >0C5C * Magenta DATA >0CCC * Gray DATA >0FFF * White ENHPAL DATA >0000 * Black DATA >00B0 * Medium Green DATA >00F0 * Light Green DATA >0008 * Dark Blue DATA >000F * Light Blue DATA >0700 * Dark Red DATA >00FF * Cyan DATA >0C00 * Medium Red DATA >0F00 * Light Red DATA >0BB0 * Dark Yellow DATA >0FF0 * Light Yellow DATA >0060 * Dark Green DATA >0C0B * Magenta DATA >0CCC * Gray DATA >0FFF * White *// SETPAL ********************************************************************* * * 'Draw' a rectangle of bytes to a name table or tile attribute table * * R0: Contains base address of table in VDP RAM * R1: X position * R2: Y position * R3: Width * R4: Height * R5: MSB contains byte to write * * Modifies R0-R7 * RECT MOV R11,*R10+ * Push return address onto the stack LI R6,80 MPY R2,R6 A R1,R7 A R7,R0 MOV R3,R6 RECT1 BL @VWAD RECT2 MOVB R5,@VDPWD DEC R3 JNE RECT2 AI R0,80 MOV R6,R3 DEC R4 JNE RECT1 * Return DECT R10 * Pop return address off the stack MOV *R10,R11 B *R11 *// RECT ********************************************************************* * * Setup graphics mode * GMODE MOV R11,*R10+ * Push return address onto the stack LI R0,>0004 * Reg 0: 80 column mode, BL @VWTR * external video off LI R0,>01D2 * Reg 1: 16K, display on, text mode, BL @VWTR * no interrupt, size = 1, mag = 0. LI R0,>0200 * Reg 2: Name table TL1 BL @VWTR * NAMET1 = >0000 (>00 x >400), >800 bytes LI R0,>0340 * Reg 3: Tile Attribute Table TL1 BL @VWTR * TLATT1 = >1000 (>40 * >40), >800 bytes LI R0,>0404 * Reg 4: Pattern Table BL @VWTR * PTRNTB = >2000 (>04 * >800), >800 bytes LI R0,>0560 * Reg 5: Sprite Attribute Table BL @VWTR * SPRATB = >3000 (>60 * >80), >80 bytes LI R0,>0605 * Reg 6: Sprite Pattern Table BL @VWTR * SPRPTB = >2800 (>05 * >800), >1800 bytes LI R0,>07F1 * Reg 7: Text-mode color and backdrop color BL @VWTR * Black backdrop LI R0,>0A02 * Reg 10: Name table TL2 BL @VWTR * NAMET2 = >0800 (>02 x >400), >800 bytes LI R0,>0B60 * Reg 11: Tile Attribute Table TL2 BL @VWTR * TLATT2 = >1800 (>60 * >40), >800 bytes LI R0,>3180 * Reg 49: Enhanced color mode BL @VWTR * Enabled tile map 2 LI R0,>1800 * Reg 24: Tile Palette Select two-MSBs in normal mode BL @VWTR * Use palette 0 LI R0,>1900 * Reg 27: Horizontal scroll offset 2 BL @VWTR * Offset 0 LI R0,>1A00 * Reg 28: Vertical scroll offset 2 BL @VWTR * Offset 0 LI R0,>1B00 * Reg 27: Horizontal scroll offset 1 BL @VWTR * Offset 0 LI R0,>1C00 * Reg 28: Vertical scroll offset 1 BL @VWTR * Offset 0 LI R0,>1D00 * Reg 29: Page size BL @VWTR * Size 1x1 LI R0,>3301 * Reg 51: Max sprites BL @VWTR * 1 sprite LI R0,>3203 * Reg 50: Position based tile attributes BL @VWTR * TL2 not always on top * Clear VDP RAM CLR R0 * Start address 0 CLR R1 * Fill with 0 LI R2,>4000 * 16K BL @VSMW * Return DECT R10 * Pop return address off the stack MOV *R10,R11 B *R11 *// GMODE ********************************************************************* * * VDP Set Write Address * * R0: Address to set VDP address counter to * VWAD MOVB @R0LB,@VDPWA * Send low byte of VDP RAM write address ORI R0,>4000 * Set the two MSbits to 01 for write MOVB R0,@VDPWA * Send high byte of VDP RAM write address ANDI R0,>3FFF * Restore R0 top two MSbits B *R11 *// VWAD ********************************************************************* * * VDP Single Byte Write * * R0: Write address in VDP RAM * R1: MSB of R1 sent to VDP RAM * * R0 is modified, but can be restored with: ANDI R0,>3FFF * VSBW MOVB @R0LB,@VDPWA * Send low byte of VDP RAM write address ORI R0,>4000 * Set read/write bits 14 and 15 to write (01) MOVB R0,@VDPWA * Send high byte of VDP RAM write address MOVB R1,@VDPWD * Write byte to VDP RAM B *R11 *// VSBW ********************************************************************* * * VDP Single Byte Multiple Write * * R0: Starting write address in VDP RAM * R1: MSB of R1 sent to VDP RAM * R2: Number of times to write the MSB byte of R1 to VDP RAM * * R0 is modified, but can be restored with: ANDI R0,>3FFF * VSMW MOVB @R0LB,@VDPWA * Send low byte of VDP RAM write address ORI R0,>4000 * Set read/write bits 14 and 15 to write (01) MOVB R0,@VDPWA * Send high byte of VDP RAM write address VSMWLP MOVB R1,@VDPWD * Write byte to VDP RAM DEC R2 * Byte counter JNE VSMWLP * Check if done B *R11 *// VSMW ********************************************************************* * * VDP Multiple Byte Write * * R0: Starting write address in VDP RAM * R1: Starting read address in CPU RAM * R2: Number of bytes to send to the VDP RAM * * R0 is modified, but can be restored with: ANDI R0,>3FFF * VMBW MOVB @R0LB,@VDPWA * Send low byte of VDP RAM write address ORI R0,>4000 * Set read/write bits 14 and 15 to write (01) MOVB R0,@VDPWA * Send high byte of VDP RAM write address VMBWLP MOVB *R1+,@VDPWD * Write byte to VDP RAM DEC R2 * Byte counter JNE VMBWLP * Check if done B *R11 *// VMBW ********************************************************************* * * VDP Write To Register * * R0 MSB: VDP register to write to * R0 LSB: Value to write * VWTR MOVB @R0LB,@VDPWA * Send low byte (value) to write to VDP register ORI R0,>8000 * Set up a VDP register write operation (10) MOVB R0,@VDPWA * Send high byte (address) of VDP register B *R11 *// VWTR ********************************************************************* * * Data section * PNTX DATA >00C0 PNTY DATA >0050 SCRLH DATA >0000 SCRLV DATA >0000 **************************************** * Character Patterns **************************************** PAT0 DATA >0000,>7C40,>5C50,>5050 PAT1 DATA >0000,>FC00,>FC00,>0000 PAT2 DATA >0000,>F808,>E828,>2828 PAT3 DATA >5050,>505C,>407C,>0000 PAT4 DATA >0000,>00FC,>00FC,>0000 PAT5 DATA >2828,>28E8,>08F8,>0000 PAT6 DATA >5050,>5050,>5050,>5050 PAT7 DATA >2828,>2828,>2828,>2828 PAT8 DATA >0030,>78FC,>FC54,>A854 PAT9 DATA >A854,>A854,>A854,>A854 PAT10 DATA >A8FC,>FCFC,>FCFC,>FC54 PAT11 DATA >A854,>A8FC,>FC78,>3000 PAT12 DATA >000C,>3CFC,>FC3C,>0C00 PAT13 DATA >0054,>A854,>A854,>A800 PAT14 DATA >FFFF,>FFFF,>FFFF,>FFFF PAT15 DATA >00C0,>F0FC,>FCF0,>C000 PAT16 DATA >FC80,>8080,>809C,>80FC PAT17 DATA >FC04,>0404,>04E4,>04FC PAT18 DATA >FC80,>9C90,>909C,>80FC PAT19 DATA >FC04,>E424,>24E4,>04FC PAT20 DATA >FC80,>B08C,>8CB0,>80FC PAT21 DATA >FC04,>34C4,>C434,>04FC PAT22 DATA >0000,>0000,>0000,>0000 PAT23 DATA >0000,>0000,>0000,>0000 PAT24 DATA >0C0C,>0C0C,>0C0C,>0C0C PAT25 DATA >C0C0,>C0C0,>C0C0,>C0C0 PAT26 DATA >0000,>0000,>0000,>00FC PAT27 DATA >FC00,>0000,>0000,>0000 PAT28 DATA >0000,>0000,>0000,>0000 PAT29 DATA >0000,>0000,>0000,>0000 PAT30 DATA >0000,>0000,>0000,>0000 PAT31 DATA >0000,>0000,>0000,>0000 PAT32 DATA >0000,>0000,>0000,>0000 PAT33 DATA >1010,>1010,>1000,>1000 PAT34 DATA >2828,>2800,>0000,>0000 PAT35 DATA >2828,>7C28,>7C28,>2800 PAT36 DATA >3854,>5038,>1454,>3800 PAT37 DATA >6064,>0810,>204C,>0C00 PAT38 DATA >2050,>5020,>5448,>3400 PAT39 DATA >0808,>1000,>0000,>0000 PAT40 DATA >0810,>2020,>2010,>0800 PAT41 DATA >2010,>0808,>0810,>2000 PAT42 DATA >0028,>107C,>1028,>0000 PAT43 DATA >0010,>107C,>1010,>0000 PAT44 DATA >0000,>0000,>3010,>2000 PAT45 DATA >0000,>007C,>0000,>0000 PAT46 DATA >0000,>0000,>0030,>3000 PAT47 DATA >0004,>0810,>2040,>0000 PAT48 DATA >384C,>5454,>5464,>3800 PAT49 DATA >1030,>1010,>1010,>3800 PAT50 DATA >3844,>0408,>1020,>7C00 PAT51 DATA >3844,>0418,>0444,>3800 PAT52 DATA >0818,>2848,>7C08,>0800 PAT53 DATA >7C40,>7804,>0444,>3800 PAT54 DATA >1820,>4078,>4444,>3800 PAT55 DATA >7C04,>0810,>2020,>2000 PAT56 DATA >3844,>4438,>4444,>3800 PAT57 DATA >3844,>443C,>0408,>3000 PAT58 DATA >0030,>3000,>3030,>0000 PAT59 DATA >0030,>3000,>3010,>2000 PAT60 DATA >0810,>2040,>2010,>0800 PAT61 DATA >0000,>7C00,>7C00,>0000 PAT62 DATA >2010,>0804,>0810,>2000 PAT63 DATA >3844,>0408,>1000,>1000 PAT64 DATA >3844,>5C54,>5C40,>3800 PAT65 DATA >3844,>447C,>4444,>4400 PAT66 DATA >7824,>2438,>2424,>7800 PAT67 DATA >3844,>4040,>4044,>3800 PAT68 DATA >7824,>2424,>2424,>7800 PAT69 DATA >7C40,>4078,>4040,>7C00 PAT70 DATA >7C40,>4078,>4040,>4000 PAT71 DATA >3C40,>405C,>4444,>3800 PAT72 DATA >4444,>447C,>4444,>4400 PAT73 DATA >3810,>1010,>1010,>3800 PAT74 DATA >0404,>0404,>0444,>3800 PAT75 DATA >4448,>5060,>5048,>4400 PAT76 DATA >4040,>4040,>4040,>7C00 PAT77 DATA >446C,>5454,>4444,>4400 PAT78 DATA >4464,>6454,>4C4C,>4400 PAT79 DATA >7C44,>4444,>4444,>7C00 PAT80 DATA >7844,>4478,>4040,>4000 PAT81 DATA >3844,>4444,>5448,>3400 PAT82 DATA >7844,>4478,>5048,>4400 PAT83 DATA >3844,>4038,>0444,>3800 PAT84 DATA >7C10,>1010,>1010,>1000 PAT85 DATA >4444,>4444,>4444,>3800 PAT86 DATA >4444,>4428,>2810,>1000 PAT87 DATA >4444,>4454,>5454,>2800 PAT88 DATA >4444,>2810,>2844,>4400 PAT89 DATA >4444,>2810,>1010,>1000 PAT90 DATA >7C04,>0810,>2040,>7C00 PAT91 DATA >3820,>2020,>2020,>3800 PAT92 DATA >0040,>2010,>0804,>0000 PAT93 DATA >3808,>0808,>0808,>3800 PAT94 DATA >0010,>2844,>0000,>0000 PAT95 DATA >0000,>0000,>0000,>7C00 PAT96 DATA >00E0,>405C,>5018,>1000 PAT97 DATA >0000,>3808,>7848,>7C00 PAT98 DATA >4040,>7844,>4444,>7800 PAT99 DATA >0000,>3844,>4040,>3C00 PAT100 DATA >0404,>3C44,>4444,>3C00 PAT101 DATA >0000,>3844,>7C40,>3C00 PAT102 DATA >1C20,>7820,>2020,>2000 PAT103 DATA >0000,>3C44,>443C,>0438 PAT104 DATA >4040,>7844,>4444,>4400 PAT105 DATA >1000,>3010,>1010,>3800 PAT106 DATA >0800,>1808,>0808,>4830 PAT107 DATA >2020,>2428,>3028,>2400 PAT108 DATA >3010,>1010,>1010,>3800 PAT109 DATA >0000,>7854,>5454,>5400 PAT110 DATA >0000,>7844,>4444,>4400 PAT111 DATA >0000,>3844,>4444,>3800 PAT112 DATA >0000,>7844,>4478,>4040 PAT113 DATA >0000,>3C44,>443C,>0404 PAT114 DATA >0000,>5C60,>4040,>4000 PAT115 DATA >0000,>3C40,>3804,>7800 PAT116 DATA >0020,>7820,>2024,>1800 PAT117 DATA >0000,>4444,>4444,>3C00 PAT118 DATA >0000,>4444,>2828,>1000 PAT119 DATA >0000,>4444,>5454,>2800 PAT120 DATA >0000,>4428,>1028,>4400 PAT121 DATA >0000,>4424,>1808,>1020 PAT122 DATA >0000,>7C08,>1020,>7C00 PAT123 DATA >0018,>2020,>4020,>2018 PAT124 DATA >0010,>1010,>0010,>1010 PAT125 DATA >0030,>0808,>0408,>0830 PAT126 DATA >0000,>2054,>0800,>0000 PAT127 DATA >0000,>0000,>0000,>0000 **************************************** * Sprites **************************************** POINTR DATA >80C0,>E0F0,>F8FC,>FEFF * Color 15 DATA >FCF8,>DC0C,>0606,>0303 DATA >0000,>0000,>0000,>0000 DATA >0000,>0000,>0000,>0000 SPRATT BYTE >70,>78,>00,>0F **************************************** * Tile layer maps **************************************** TL1MAP DATA >2020,>2046,>696C,>6520 DATA >2045,>6469,>7420,>204F DATA >7074,>696F,>6E73,>2020 DATA >5769,>6E64,>6F77,>2020 DATA >4865,>6C70,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >0001,>0101,>0101,>0101 DATA >0101,>0101,>0101,>0101 DATA >0101,>0101,>0101,>0101 DATA >0101,>0101,>0101,>0101 DATA >0101,>0144,>534B,>312E DATA >5749,>4D50,>0101,>0101 DATA >0101,>0101,>0101,>0101 DATA >0101,>0101,>0101,>0101 DATA >0101,>0101,>0101,>0101 DATA >0110,>1112,>1314,>1502 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2008 DATA >0620,>5468,>6973,>2064 DATA >656D,>6F20,>7368,>6F77 DATA >7320,>6120,>6D6F,>636B DATA >2D75,>7020,>6F66,>2061 DATA >2070,>6F73,>7369,>626C DATA >6520,>5749,>4D50,>2069 DATA >6E74,>6572,>6661,>6365 DATA >7F20,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>666F,>7220,>7468 DATA >6520,>4631,>3841,>2065 DATA >7175,>6970,>7065,>6420 DATA >5449,>2D39,>392F,>3441 DATA >2E20,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>5468,>6520,>312E DATA >3620,>6669,>726D,>7761 DATA >7265,>2075,>7064,>6174 DATA >6520,>696E,>7472,>6F64 DATA >7563,>6573,>2070,>6F73 DATA >6974,>696F,>6E20,>6261 DATA >7365,>6420,>6174,>7472 DATA >6962,>7574,>6573,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>7468,>6174,>2061 DATA >6C6C,>6F77,>2061,>6E79 DATA >2073,>6372,>6565,>6E20 DATA >6368,>6172,>6163,>7465 DATA >7220,>746F,>2068,>6176 DATA >6520,>6974,>7320,>6F77 DATA >6E20,>6261,>636B,>6772 DATA >6F75,>6E64,>2061,>6E64 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>666F,>7265,>6772 DATA >6F75,>6E64,>2063,>6F6C DATA >6F72,>732E,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>201C,>2020,>2020 DATA >2020,>2020,>2020,>200A DATA >0620,>5468,>6520,>706F DATA >702D,>7570,>2077,>696E DATA >646F,>7720,>6973,>2063 DATA >7265,>6174,>6564,>2075 DATA >7369,>6E67,>2054,>696C DATA >6520,>4C61,>7965,>7220 DATA >3220,>2D20,>2020,>2020 DATA >2020,>2020,>2020,>201C DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>616E,>6F74,>6865 DATA >7220,>6E65,>7720,>6665 DATA >6174,>7572,>6520,>6F66 DATA >2074,>6865,>2075,>7064 DATA >6174,>6564,>2066,>6972 DATA >6D77,>6172,>652E,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>1C20 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>5468,>6520,>696E DATA >7465,>7266,>6163,>6520 DATA >696E,>2074,>6869,>7320 DATA >6465,>6D6F,>2069,>7320 DATA >6261,>7365,>6420,>6F6E DATA >2042,>6F72,>6C61,>6E64 DATA >2054,>7572,>626F,>2050 DATA >6173,>6361,>6C2E,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>5468,>6520,>706F DATA >696E,>7465,>7220,>6361 DATA >6E20,>6265,>206D,>6F76 DATA >6564,>2075,>7369,>6E67 DATA >2074,>6865,>206A,>6F79 DATA >7374,>6963,>6B2E,>2059 DATA >6F75,>2063,>616E,>206D DATA >6F76,>6520,>7468,>6520 DATA >7769,>6E64,>6F77,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>616E,>6420,>636C DATA >6F73,>6520,>6974,>2E20 DATA >536F,>7272,>792C,>206E DATA >6F74,>6869,>6E67,>2065 DATA >6C73,>6520,>6973,>2077 DATA >6F72,>6B69,>6E67,>2061 DATA >7420,>7468,>6520,>6D6F DATA >6D65,>6E74,>2E20,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2009 DATA >0620,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>200B DATA >030C,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0E,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0D0D DATA >0D0D,>0D0D,>0D0D,>0F05 DATA >4663,>746E,>2D31,>2048 DATA >656C,>7020,>1920,>4663 DATA >746E,>2D32,>2053,>6176 DATA >6520,>1920,>4663,>746E DATA >2D33,>204F,>7065,>6E20 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 TL2MAP DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2000,>0101,>0101 DATA >0101,>014D,>6F76,>6520 DATA >4D65,>0101,>0101,>0101 DATA >0114,>1502,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2006,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2007,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2006,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2007,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2006,>2048,>656C DATA >6C6F,>2046,>3138,>4120 DATA >576F,>726C,>6421,>2020 DATA >2020,>2007,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2006,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2007,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2006,>2020,>2020 DATA >2020,>2020,>201A,>1A1A DATA >1A20,>2020,>2020,>2020 DATA >2020,>2007,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2006,>2020,>2020 DATA >2020,>2020,>1820,>4F4B DATA >2019,>2020,>2020,>2020 DATA >2020,>2007,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2006,>2020,>2020 DATA >2020,>2020,>201B,>1B1B DATA >1B20,>2020,>2020,>2020 DATA >2020,>2007,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2003,>0404,>0404 DATA >0404,>0404,>0404,>0404 DATA >0404,>0404,>0404,>0404 DATA >0404,>0405,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 DATA >2020,>2020,>2020,>2020 ** * List of rectangles of tile attributes to display TLATTR DATA TLATT1,0,1,80,22,>F400 * Main window DATA TLATT1,1,2,78,20,>B400 * Inner main window DATA TLATT1,2,3,54,2,>E400 * 1st paragraph DATA TLATT1,2,15,69,1,>F400 * 4th paragraph DATA TLATT1,49,15,12,1,>6400 * Turbo Pascal DATA TLATT1,79,2,1,20,>7400 * Vertical scroll bar DATA TLATT1,1,22,78,1,>7400 * Horizontal scroll bar DATA TLATT1,3,0,1,1,>6E00 * File DATA TLATT1,9,0,1,1,>6E00 * Edit DATA TLATT1,15,0,1,1,>6E00 * Options DATA TLATT1,24,0,1,1,>6E00 * Window DATA TLATT1,32,0,1,1,>6E00 * Help DATA TLATT1,0,23,6,1,>6E00 * Fctn-1 DATA TLATT1,14,23,6,1,>6E00 * Fctn-2 DATA TLATT1,28,23,6,1,>6E00 * Fctn-3 * Pop-up DATA TLATT2,28,8,25,9,>0100 * Shadow of Pop-up window DATA TLATT2,27,7,25,9,>FE00 * Pop-up window DATA TLATT2,28,8,23,4,>1E00 * Pop-up text DATA TLATT2,36,12,6,3,>CE00 * Pop-up button DATA TLATT2,37,13,4,1,>F200 * Pop-up button inner text DATA TLATT2,35,7,7,1,>1E00 * Pop-up title DATA -1 END START