DARFH rel-301.txtq Release notes for DesTerm v3.01 =============================== Contents: 1. Bug fixes since v3.00 2. Additions Since 3.00 3. Known problems with 3.01 (and 3.00 for that matter) 4. What I'm working on 5. About CMD partitions and directories Bug fixes since v3.00 --------------------- - Device 14 no longer scanned during the BOOT process. The Xetec GOLD printer interface (located at device 14) caused the drive detection routine to fail. - The 1351 Mouse operates much more like it should. NOTE: In my machine, the rear-port tends to think that the right button is always pressed. This may be a bug, or simply my machine. - Long filenames for transfers. Filenames longer than 16 characters are now truncated and won't crash the machine. - Setup program now saves acceptible PREFS.SET files. The SETUP3.00 (now SETUP) program used to create PREFS.SET files that were deadly to DesTerm. It now saves acceptable files. - Booting from a CMD subdirectory now works the way it should. A bad default configuration caused CMD subdirectories to be ignored. - The built-in user-port RS232 code is no longer broken. A minor error in my zero-page allocation map caused timer values to get stomped on. - VT102 emulation improved. A minor error (well, quite an amazingly bad screwup on my part) caused the window mode to almost completely fail. It's much better now. - 30 second dial wait was more like 3 seconds. Initial PREFS.SET had an invalid value for the default value (30 seconds). This initial value has now been calmed down. - Default upload directory The upload directory is now used as it should be - it used to be ignored, causing uploads only to be made from the 'last accessed' directory. - TOD Problems caused loader to fail. The DESBOOT3.00 program uses one of the CIA the TOD clocks to figure out how fast the CPU is going. A very common fault with the C128 is for the TOD functions of the CIA to go haywire (most often caused by a blown fuse in the power supply -- be careful, there's two fuses!). The boot program will now work even with a bad TOD... - Stronger detection of 1.8432Mhz vs 3.6864Mhz crystals in swiftlinks. Some people have replaced the stock crystal in their Swiftlinks with a 1.8432Mhz crystal (thus allowing 115K without buying a Turbo-232 -- although 38400 is no longer available). DesTerm 3.00 attempted this detection - but was fooled by SCPUs and perhaps PAL machines. The new version uses clock-speed independent code to figure the clock speed out. - Uploads not using the correct drive. An error in the pattern matching routines caused several parts of DesTerm to not used the correct drive (uploads, most notably). Uploads now use the correct drive. Additions Since 3.00 -------------------- - VT52 emulation. vt52.emu & vt52.eky Not tested very much really. - Commodore Colour Graphics emulation - 40 column: ccg40.emu & ccg40.eky - 80 column: ccg80.emu & ccg80.eky These emulations are first run attempts. I'm sure that many problems are just waiting to be found. Known problems with 3.01 (and 3.00 for that matter) --------------------------------------------------- - I have some software timing loops in various parts of the code. This code sometimes causes problems in the following areas: - Speed detection: PAL machines may display a slightly incorrect speed. - Swiftlink Crystal detection: SuperCPU and PAL machines may detect a 1.8432 Mhz crystal when a 3.6864 Mhz crystal is present. - as noted previously, I have taken steps to fix the above problems - but has only been tested on my machines (but hey, the old code worked on my machines, too!) - There is currently no way of associating a terminal emulation (and other stuff) with a telephone number. - The buffer send (and function keys) don't quite do the correct translations necessary when in Commodore Emulation mode. The fix is quite straightforward but involves several areas of the code - so I've decided to release the code as is - so that the major bug fixes can be tested. What I'm working on ------------------- - Zmodem send. - Assigning 'configuration profiles' for each telephone number. - Support for user-port printers. - A Chat mode terminal emulator. - Scripting. - Eventually, I'll only not check device 14 on boot if a Xetec is known to be present. - I have one set of 'CPU speed dependent' routines left. I'll get rid of them soon to allow SCPU machines to take full advantage. About CMD partitions and directories ------------------------------------ Notes: ====== - CMD define partition '0' as the 'currently selected' partition. - CMD define a filename with no path information as being in the 'currently selected' directory. When DesTerm first loads its configuration files, it has no notion of the drive designations ('cos it hasn't loaded them yet). Thus, it relies on the fact that the 'current drive' and 'current directory' are set to where the configuration files can be found. The default configuration for all the drives ALSO sets the partition to '0' - since no assumptions about drive layout would be wise. As soon as the configuration file has been loaded, all of the drive definitions come into play. It is absolutely VITAL that the first thing that you do is to fully configure the various DesTerm drives to the proper partition and proper path. Then save these settings using 'Save Settings' in the 'User Settings' menu. The most common problem that people have reported when using CMD drives is due to the fact that they hadn't properly set the partition on the various drives that DesTerm supplies. For example: Drive A: (DesTerm Drive) 0: Drive B: (Download Drive) 2://downloads Drive C: (Upload Drive) 3://uploads Here, whenever drive B is accessed, partition 2 would be made the 'current partition'. When drive A is accessed, the partition and directory aren't changed (0 is the current partition, and no path). Thus, any configuration files saved by DesTerm will be put in the wrong place (and any of the DesTern modules won't be found). To correct the situation, A: shoubd be defined more fully: Drive A: (DesTerm Drive) 2://desterm If you wish to pick the 'root' directory of any particular partition, then it should be explicity set with '//'. FH release.txt{;M Release notes for DesTerm v3.02 =============================== Contents: 1. Bug fixes since v3.01 2. About CMD partitions and directories (modified) 3. About VDC Settings See rel-301 for the previous release notes Bug fixes since v3.01 --------------------- - Saving files no longer crashes DesTerm (especially prefs.set) One section of the DesTerm code became a few bytes too large. This caused the RS-232 routines to overwrite part of the code that dealt with saving files to be broken. DesTerm either crashed or saved an invalid file. The offending code has been streamlined. About CMD partitions and directories (modified) ----------------------------------------------- Notes: ====== - CMD define partition '0' as the 'currently selected' partition. - CMD define a filename with no path information as being in the 'currently selected' directory. When DesTerm first loads its configuration files, it has no notion of the drive designations ('cos it hasn't loaded them yet). Thus, it relies on the fact that the 'current drive' and 'current directory' are set to where the configuration files can be found. The default configuration for all the drives ALSO sets the partition to '0' - since no assumptions about drive layout would be wise. As soon as the configuration file has been loaded, all of the drive definitions come into play. It is absolutely VITAL that the first thing that you do is to fully configure the various DesTerm drives to the proper partition and proper path. Then save these settings using 'Save Settings' in the 'User Settings' menu. The most common problem that people have reported when using CMD drives is due to the fact that they hadn't properly set the partition on the various drives that DesTerm supplies. For example: Drive A: (DesTerm Drive) 0: Drive B: (Download Drive) 2://downloads/ Drive C: (Upload Drive) 3://uploads/ Here, whenever drive B is accessed, partition 2 would be made the 'current partition'. When drive A is accessed, the partition and directory aren't changed (0 is the current partition, and no path). Thus, any configuration files saved by DesTerm will be put in the wrong place (and any of the DesTern modules won't be found). To correct the situation, A: shoubd be defined more fully: Drive A: (DesTerm Drive) 2://desterm/ If you wish to pick the 'root' directory of any particular partition, then it should be explicity set with '//'. About VDC Settings ------------------ DesTerm supports 8 screen lengths: 23, 24, 25, 30, 48, 50, 52 and 62 lines (plus two for the status and ruler lines). The Commodore 128 usually generates 25 screen lines - the extra lines used by DesTerm use the VDC chip in a slightly expanded way. Different monitors react differently to the expanded number of lines. Attempts have been made to supply a set of parameters that will work with most monitors - but users will most likely want to asdjust the parameters to exactly suit their system. There are two ways to adjust the picture: adjusting the monitor and adjusting the VDC settings. A mixture of both methods will probably work best. Most monitors have adjustment pots that allow the screen length and top offset to be adjusted. Minor adjustments here are easiest. Adjusting the screen to be slightly smaller and higher up on the display will allow DesTerm to display all its lines on the monitor (and will make only a small difference to the display on 'regular' 25-line programs). The second method is to adjust some of the timing values that the VDC sends. The SETUP program supplied with DesTerm allows limited modification of the VDC settings. Run the SETUP program and press 'V' to edit the VDC settings. The settings that relate to screen length are: Vert Total, Vert Total Adjust and Vert Sync Position. Modification of these three values should allow most monitors to display most modes. While the VDC editor program is running, the following keys have the following functions: 1 - switch to 25 line mode 2 - switch to 26 line mode 3 - switch to 27 line mode 4 - switch to 32 line mode (most monitors can't hack this mode) 5 - switch to 50 line mode 6 - switch to 52 line mode 7 - switch to 54 line mode 8 - switch to 64 line mode (most monitors can't hack this mode) R - Reverse the screen (acts as a toggle) useful for finding limits B - Changes to the next background colour - - Decrement the current register value + - Increment the current register value Up - Pick the previous register Down - Pick the next register L - Load the PREFS.SET from disk (use this to start-over) S - Save the PREFS.SET to disk (use this when you've finished editing) ESC - Reset all registers to the value they had before you started monkeying Q - Exit the VDC editor section of the program. NOTES: 1) This program can cause the VDC to send funky values to the monitor. Adjustment is not difficult, but be careful - leaving the monitor 'confused' for too long may cause permanent damage. 2) If you get into trouble, the ESC key should get you back to a viewable mode. 3) You can also play with various other settings - you may be able to get a more pleasing display. Just use a little caution. 4) The C128 Programmers Reference Guide is a useful book for VDC exploration. FH hayes.dlr;iCƷLͨLL ?p7 "i  7  Dh    o 7 R 0/ # $R  " u ѩ,,,`7 = )=   7 L17 L  ?7  Dh7 s8 שL `H  8 h`h8` L100`꠪ }_ R e gWaiting for call. ESC to stop. Status:   wL e gCall Received - Answering.. ESC to stop. Status [`<|]~?!" Q   3WA4ZSE5RD6CFTX7YG8BHUV9IJ0MKON+PL-.:@,\*;=^/1_2 Q FH amigaset.chrF{    ~<8ll88||86666``6`綶؞`gffffffg`ffffffffffffffffff<<lllllll>`<|0f8lhvv0 000 0 0f< 80 0`0 ~~0  0fff~fff~~ff<flxlf```bf8ll8ff|``8ll<ff|lfff<<f<vf`>`<|> ffff;fff<ckk66c66cfff<p~L2~pppr3333~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~~fffff~<< >ll> 60x00~B~~~~~ ffff>$ffff>fffff>f<<`~aa~`|fflffl`0<>f; <>f;$<>f;q<>f;3<>f;f;~wgks>@0ffff; ffff;$ffff;fffff; fff<p`|ff|`ffff<pFH cbmcgset.chrYXJ~<8ll88||86666``6`綶؞`gffffffg`ffffffffffffffffffffffffff>`<|bf 0fFf<00`0~~p  pf>``|fff|fff>60x000>ff>|``|fffff<``flx|f8<cwkc|ffffff>|f```<`<|00006ffff<fff<ck6"f<|~ 0~000033333f3f333333>>00000000 88p88p<~~~~<6>````````~<<~<~ff~<ff<>>0000>v66?333333333333̙3f̙3flxp`FH cbmset.chr:ڻ    ~<8ll88||86666``6`綶؞`gffffffg`ffffffffffffffffffffffffff>`<|bf 0fFf<00`0~~p  pf>``|fff|fff>60x000>ff>|``|fffff<``flx|f8<cwkc|ffffff>|f```<`<|00006ffff<fff<ck6"f<|~ 0~00`00 0|0bp pp3333ÙÙÙÙÙÙÙÙϟσϝÁπϙÙǘÙϟÙÙϟÙᙀÙÙÙÙϟÙÙÙÙÙÙÙÙÙϟσϝÁπÙÙχßÙßÙρϟσϝ$3333FH ibmset.chr8    ~<8ll88||86666``6`綶؞`gffffffg`ffffffffffffffffff<~~<ffffff{x00000x xflxlf````b8ll8ff|``xxff|lfx`0x0000xxl8Dl88lx00x 0fx`````x`0 xx8l00x |v`|fffxx |vxx8l```v| `lvff0p000x x`flxlp00000xffffxxff|`v| vf`|x 00|004vl8ll8l| 0d00000000v8lxx x~xxf<>f?x |~x |~00x |~xx 8fl0xxxxxx0~~| ~8ll8|00`x 3f7m3ff3f3f""""UUUUww66666666666666666666666666666666666676666670??0766666666667076666666666666666666??6666666666vvxlllll`0`~pffff|`v0xx08ll88lll0|x~~ ~~`8``8x0000`00`0`0p0000vv8ll8 l<xllllp0`x<<<<FH vt102set.chrMX!    ~<8ll88||86666``6`綶؞`gffffffg`ffffffffffffffffff<<lllllll>`<|0f8lhvv0 000 0 0f< 80 0`0 ~~0  0fff~fff~~ff<flplf```bf8ll8ff|``8ll<ff|lfff<<f<f;`lvff<vf`>`<|> ffff;fff<ckk66c66cfff<p~L2~ppprĪĢ~<8ll88||86666``6`綶؞`gffffffg`ffffffffffffffffff<<lllllll>`<|0f8lhvv0 000 0 0f< 80 0`0 ~~0  0fff~fff~~ff<flplf```bf8ll8ff|``8ll<ff|lfff<<f<`<|0f8lhvv0 000 0 0f< 80 0`0 ~~0  0fff~fff~~ff<flplf```bf8ll8ff|``8ll<ff|lfff<<f<f;`lvff<vf`>`<|> ffff;fff<ckk66c66cfff<p~L2~ppprĪĢ~<8ll88||86666``6`綶؞`gffffffg`ffffffffffffffffff<<lllllll>`<|0f8lhvv0 000 0 0f< 80 0`0 ~~0  0fff~fff~~ff<flplf```bf8ll8ff|``8ll<ff|lfff<<f< Q; 2 .) 9{ i@ Ei 9{L EiP`8` Q!   Q   `8` 0` 0- y( 0 y    0 y  LQz   ߗ  `   lz L v` O  lL vw` vw`f荁`e`v8vww`8`vwvwL L v8w```i iL `8 L  8vmvwmw`8`FH editable.edt G&EDLaLLL$LLLuLJLKL3LLL8LLLL!L,L< ss L]  ssX8` tuIJC tiQtuiuIJJIکtu < ] ! `IJ&it ȭu tu `݅IJL;tiIuiJ - Ljvw c < `tu&i H h`vwL 8> > m< P> ٗ> `< < < = ? ` Ѝ= < = C  ? 1 ? &? `= < < < P= ? `= ? < l ] 嗭u`t`CA "`t u@  [d1I 0H  x'] C'e[ M夆憥 ~'  k& ++ [  AH 0I 1@  "Lܗ H 0I 1@ L"08 i:`t8tuu`tu`vw`v8vww`vw  A @ `@ A @ `A P ` L`A @ `vt wu  0 C L 8`)A C  @ `vt wu8``t u8`` 1E g Editor/Viewer E ◩/ B  @d #i E< # u = E ?")! E  O  E L ] E N{ L< () Ly; ^NNTTn~TSDEXRCY*1A O Q # u)_lL s獾t獿 y; O  LO)IiH = h8LH  ߗ hiy `h` N{mw {j )= CH N{ ) { i@H Eihȭ{ = h N{ B 0B L#i PL#i L >L sL L .L XL L L L L ߗ` 藥z  {L l Lv w` ~  {L l LB `v w`  P8B `< B P` ߗ< PB ` B ` Ltvuwy v w ~ L L Lv w  ~B ` Lz ߗ txuy`xtyu`vxwy`xvyw` v w'y v w ~ $ j  1 L ߗ LZ ` l ]HH Ztvuw h{hz  <  rnLt u*i8 z {{ z ` ` l ] HH Ztvuwh{hz   < <  < B   rn Lv w*i z {{ z ` ߗ < L $ < HH ߗ h{hz  n 1 ZH ߗz  L" h 1 L ZL iL`B Lq< ` Q 8<  m` ߗ`< PF < F m< Q0-P8F G < 8G G  Q L < Ȣ < < PL< LL#i< PL#i LC  1LLC  *LLC  >LLC  sLLD I)D LD  <  Ș)`OverInstE  O P L=  )= i@  9{ EiL9{`= = = 0 D X ȭ= < P< LX i< LXP< ߗLX l ] LX< P OL^`O ȩ=  m i< LX 嗭 C'bra + Erb ~' k& + ` E ) C ]  z 'L & e ?( L E< C'bra + Erb ~' & +8`hh8` HH  D] 0C ܗ E )C/ ) HH ']  z ٗ +Ce & 0( hh LFH fontedit.edtm EDLiLM\|"F`H) iHJJJJJiL#iHi H #LH8 H #LH)HH)Hh8) HH #LH)HH)Hhi) HH #LHJJJJi0 H  Q`HJJJJi0 H Q `L `` H N{ KKi{ QOPO-P,@H` )` h ` ` EiNPPKKЯh` `{ HH N{hHJJJJ% Eih)%LEi,,,,,,,HHHH hHhHQՌHH hH LIiJiL#i`HIJG # u 2 G(H) J9QQ LI.JYQQ LQ LQHRQhX LXHQRhQ LQJ Q LQ  Q LQY`QY` ^YJYQ*Q L ^YQ LQIQ L jL| ^QY=6 Q.Q L ^QY=. Q6Q L [d Fii  ) r>  lz  # @d`ȅ0   iА` lz LQa`aQ L ]L!{ HM nL # u }繳= 鹐 < `Lȩ!{ Ei EiMH #L a鹐b [dHNMHH < HNHLX @d L8246mfilruq>M\|H2yL` p o  N{ gKeys: (Select Mode) ESC: Exit FontEdit L: Load Char Set S: Save Char Set CURSOR KEYS: Move Cursor (all modes) ENTER: Edit Mode 7: Upper Left 8: Upper Middle 9: Upper Right (these allow you to 4: Middle Left 6: Middle Right select which chars 1: Lower Left 2: Lower Middle 3: Lower Right to use as corners Q: Undo changes B: Enter Block Mode for windows ) (Edit Mode) ESC: Exit Edit Q: Undo Changes DEL: Blank Char SPACE: Pixel On PERIOD: Pixel Off ENTER: Pixel Toggle M: Mirror Image F: Flip Image I: Invert image L: Rotate Left R: Rotate Right U: Upside Down 8,4,6,2: Shift Image Up/Left/Right/Down (Block Mode) ESC: Exit Block Q: Undo Changes Use: 8,6,4,2,F,I,L,R,U,Q and DEL as for EDIT mode `@  @`FHhelp.edtEDLLy;Ly;Ly;Ly;Ly;Ly;Ly;Ly;Ly;` C' Eb ~' & +8` ) ' ' '  + & 0( `*.HLPDESTERM.HLP``8`  H L P  N` ` [d 1E g Help Viewer E { #i @d # u ٛ ㍂㹭㍃ [d y; @dLV [d ELN{qnptlkbfs:gM`08` 몹   ٭H ] 陝  н` `L N{ j{  { y L #i {{    } 9 \ EiL3 ` `JJH.. 9h` Ei` \ 卣幦卤Ly;1,,,L{,L,L, N{  N{L  N{` ` `i) Ei` ` F L" F l{ L`iz F Li F lz { LO, L LO H h LmLP`m ] `ٝ00  ` 8 ) ` 8 @ `  W} Xi ` LH hL  `i a L a 8 L + a  ]` L0 LLL8Li8LLL 8L0]]鹝 L]]8鹝 L F]8깝 { L?!]ꙝ`]ꙝ]鹝 LȌLL#i ] abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/,.'()"?+- abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 abcdefghijklmnopqrstuvwxyz!"#$%&'()*+,-./:;<=>?@{|}~_`[\]^0123 ABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@{|}~_`[\]^0123FHansi.eky 3wa4zse5rd6cftx7yg8bhuv9ij0mkon+pl-.:@,\*;=^/1_2 q85 2471+- 6930. #WA$ZSE%RD&CFTX'YG(BHUV)IJMKON{PL}>[`<|]~?!" Q85 2451+- 6930.   3WA4ZSE5RD6CFTX7YG8BHUV9IJ0MKON+PL-.:@,\*;=^/1_2 Q85 2471+- 6930.FHansi.emuTELRLL ANSI iLjH  ` LLH` (6)2#.[   ` ٞH` ` HLy;DMENOHcd ` ? ` + 0 0 m  0 )m  0``c   =   í ;`H T` ` iRjSLy;HfABCDnsuJKmhlgP@LM̽1?U;㿉,¤H LZH`H?LR© 8{ ` mz 0z { ` 8{ ` mP0O{ ` (`\ a `[?13n [ i H0 h ; i H0 h RL08 i:` '`ms .jLjL{jP8ms .jeiLj y 0z P0O{ `,  ;V`z 8 ljP8mims .jeiLj lj8eis .jLjL456  , `0"(08(% , Ip, ` -, ` `   ` ELQV[W\&08& ` )` ` ` `)L-` % `` ` `` )` `` ` `` ` `` @` `` )ߍ` `` )` `ٜ`8`0123456789  z Ll{ ` Ll{ ``` 02,8(' )  H` NBh  \ %  w t x i) ` d { Ldd   ` `   { `   `  { ` h, =     `LL LL` Ldd  `IL~  ``LdLdLmLmLrnLn+ L$ (hhh` HHHH L   m  { y  n EiO   { hhh` ¹ y;L  llmmlvelH "[ "h`ABDC›ã <ð  )ɀ )" "  L "` Ð`xf3gHsHhgtsffh zÅ{Åh(`(8`PH)? ÍùÍÊLy;``FH ccg40.ekyk  3WA4ZSE5RD6CFTX7YG8BHUV9IJ0MKON+PL-.:@,\*;=^/1_2 Q85 2471+- 6930.#$%&'()0>[<]=?!_" у852471+- 6930.)0>[<]=?_852471+- 6930.  852471+- 6930. 34567890+-.:@,\*;=^/1_2 85 2471+- 6930.FH ccg40.emuTELHLLCCG40 NBh \   w t x i) ` d { Ldd HHH )`ٳ5!( z Ei'y  n{ hhh` Լռ y;hhh` iLj CmVY̽_hi۽."4̽bqؽ:1(%@7z=+,,,,,,,,, , , , , ,,H` )` h ` ` `, `, `` @` `` )` `{ `'{ `{ `'{ `x { ` l{ `{ LlL/ { L { '` M)ɀ) )"L "` M  )ɀ )" "  L "` `xf3gHsHhgtsffh 񹌾h(`(8`PH)? !Ly;``Fo{ (88FoGo2 FomGoFoL Gomw ms ZjmFoi kFo8mw ms .j8FoLjFo{ (88FoGo2 FomGoFoL|Gomw ms HjmFoi .kFomw ms HjLjFH ccg80.ekyk  3WA4ZSE5RD6CFTX7YG8BHUV9IJ0MKON+PL-.:@,\*;=^/1_2 Q85 2471+- 6930.#$%&'()0>[<]=?!_" у852471+- 6930.)0>[<]=?_852471+- 6930.  852471+- 6930. 34567890+-.:@,\*;=^/1_2 85 2471+- 6930.FH ccg80.emu,TELHLLCCG80 NBh \   w t x i) ` d { Ldd HHH )`ٳ5!( z EiOy  n{ hhh` Լռ y;hhh` iLj CmVY̽_hi۽."4̽bqؽ:1(%@7z=+,,,,,,,,, , , , , ,,H` )` h ` ` `, `, `` @` `` )` `{ `O{ `{ `O{ `x { ` l{ `{ LlLm { Lm { O` M)ɀ) )"L "` M  )ɀ )" "  L "` `xf3gHsHhgtsffh 񹌾h(`(8`PH)? !Ly;``FHtty.eky 3wa4zse5rd6cftx7yg8bhuv9ij0mkon+pl-.:@,\*;=^/1_2 q85 2471+- 6930. #WA$ZSE%RD&CFTX'YG(BHUV)IJMKON{PL}>[`<|]~?!" Q85 2451+- 6930.   3WA4ZSE5RD6CFTX7YG8BHUV9IJ0MKON+PL-.:@,\*;=^/1_2 Q85 2471+- 6930.FHtty.emuE oTELLLLTTY80 NBh  \%  w t x i) ` d { Ldd HHH )`߼]P혬  { y  n EiO y  n{ hhh` 缍Ѽ輍Ҽ y;hhh` iLj  llvemmlټl (  )ɀ )" "  L "` r`xf3gHsHhgtsffh fgh(`(8`PH)? Ly;``FH vt102.eky?ۛS 3wa4zse5rd6cftx7yg8bhuv9ij0mkon+pl-.:@,\*;=^/1_2 q   #WA$ZSE%RD&CFTX'YG(BHUV)IJMKON{PL}>[`<|]~?!" Q     3WA4ZSE5RD6CFTX7YG8BHUV9IJ0MKON+PL-.:@,\*;=^/1_2 Q  FH vt102.emu _$TELCLCLIVT102   H)6 hJ`O*  { ` Ei{ `H  ` L+L (E)A#=[   ` " )H` ` H 鼹Ly; HLy;DMENOHc78=>ZwpdC¿/2Wĩ ` ? ` Z%  m   )m  0``c   =   ǭ ;`H ٺ` ҽӽLy;HfABCDnsuJKmhlgP@LMcrqNɾ[== ;IWH LH`H?LDh w 08w w { `8 x 0mx 0x { `mt 0t Lp 8{ ` mP0O{ ` (`  `[?13n [  i 8w i NH0 h ; i NH0 h RL08 i:` w'`ms .jLjL{jP8ms .jeiLj  y 0z mw L뿭u 0v P0O{ `,  ;V`v 8 ljP8mims .jeiLj lj8eis .jLjLj456  , `0"(08(o% w, Ip, ` -, ` `   ` LIAFKPLQ&08o& ` )` ` ` `)L` ` `` )` `` ` `` ` `` @` `` )ߍ` `` )` `) ` % `f`8`0123456789  x  { `Llt L w 0 { `LlL``, H`'  ) `(  ) `#L­ 02,8(' )  H` 8H`E EiPy iH` NBh  H  k j  <       \%  h  w t x i) ` d  )< Ldd    ` )  `   { `    )  `  { `,j k ` h, =   jì  `LLLL LLLL)L`w t x iLj LĎ Lddbd< )[`<|]~?!" Q     3WA4ZSE5RD6CFTX7YG8BHUV9IJ0MKON+PL-.:@,\*;=^/1_2 Q  FHvt52.emus(TELLeL VT52H  ` { ` u 0` { ` O{ ` NBh  H    j  k    \%  w t x i) ` d Ldd,j k ``׼ `/Z Ld Y  * `H !` /0 Ly;FGKJZȼ0RAXeKNeeɼ, H`{ `*  8 Ȍ* `H  y 0y O0O{ ` ۼhhh` HHH@H )` ْhL/P  { y  n EiO { y  n{ hhh` L?M@ y;L)  .mlllvelH "[ "hn`ABDCH "h)`PQRS8j `H "? "h`0123456789-,. pqrstuvwxymlnM\\\\rrrr}   )ɀ )" "  L "` h`xf3gHsHhgtsffh \]h(`(8`PH)? {¾|Ly;``FHcia.2326LL L7LLLL LL?LALlLL>LAJ gInternal CIA`Mv )E`xHH ݥ- ݥݥݩݩ ݥ ݩ hh@jfƨ)Q % 悩 ݩݩ Qhh@ ܍ ݩݍ݅ ݭx ݬs9s } i  lm< = %Mv )@ `` e e  e`m }`H8h`}ih` Mv )@`Mv )Z LMv )Z ) Z `Mv )Z LMv )Z ) Z ` ݢ ݢx ` ݢ` ) )I Y `xܥܩܩ)f, )ƴߩ, ݩ, (`)ݩ 100 8`Q Tkkkkkk7 MjjjjjjK Njjjjjj1 Hiiiiii (^^^^^^ $]]]]]] 300 6001200240048007200960096009600960096009600FH hart-d7.232 CLLL4LLLL LJL>LSLSL|L=LSI gHART @ D718`)JJJE`x N@HHQ)LXפLX Qhh`ׅ ܍ ݭ ݩ )) ``­) `­)`­) `­))`HH  Nhh`HH)hh`)`H¬ J Y J `) h`) @ 100)?8``0 (8`  300 6001200240048007200960019.238.457.6115K115KFH hart-de.232 stLLL4LLLL LJL>LSLSL|L=LSI gHART @ D600`)JJJE`x N@HHQ)LXޤLX Qhh`ޅ ܍ ݭ ݩ )) ``­) `­)`­) `­))`HH  Nhh`HH)hh`)`H¬ J Y J `) h`) @ 100)?8``0 (8`  300 6001200240048007200960019.238.457.6115K115KFH hart-df.232 ֎LLLL4LLLL LJL>LSLSL|L=LSI gHART @ DF00`)JJJE`x N@HHQ)LXߤLX Qhh`߅ ܍ ݭ ݩ )) ``­) `­)`­) `­))`HH  Nhh`HH)hh`)`H¬ J Y J `) h`) @ 100)?8``0 (8`  300 6001200240048007200960019.238.457.6115K115KFH sl-18-d7.232RLL/L>LL L$LLILOLLLOLNL[t gSwiftlink (1.8432MHz) @ D700`)@JJIE`xHHH)1פ悭%]])ש[Zhhh@ LHZ)h`  ܍ ݭ ݩ׬km ׬o) ש98:Z[; % ``)` `)`) `H)) h`H)h``ׅ6 ש 1006` ` 300 6001200240048007200960019.219.219.2115K115K FH sl-18-de.232yTLL/L>LL L$LLILOLLLOLNL[t gSwiftlink (1.8432MHz) @ DE00`)@JJIE`xHHH)1ޤ悭%]])ީ[Zhhh@ LHZ)h`  ܍ ݭ ݩެkm ެo) ީ98:Z[; % ``)` `)`) `H)) h`H)h``ޅ6 ީ 1006` ` 300 6001200240048007200960019.219.219.2115K115K FH sl-18-df.232bLL/L>LL L$LLILOLLLOLNL[t gSwiftlink (1.8432MHz) @ DF00`)@JJIE`xHHH)1ߤ悭%]])ߩ[Zhhh@ LHZ)h`  ܍ ݭ ݩ߬km ߬o) ߩ98:Z[; % ``)` `)`) `H)) h`H)h``߅6 ߩ 1006` ` 300 6001200240048007200960019.219.219.2115K115K FH sl-36-d7.232ոLL/L>LL L$LLILOLLLOLNL[t gSwiftlink (3.6864MHz) @ D700`)@JJIE`xHHH)1פ悭%]])ש[Zhhh@ LHZ)h`  ܍ ݭ ݩ׬km ׬o) ש98:Z[; % ``)` `)`) `H)) h`H)h``ׅ6 ש 1006` ` 300 6001200240048007200960019.238.438.438.438.4 FH sl-36-de.232mbXOLL/L>LL L$LLILOLLLOLNL[t gSwiftlink (3.6864MHz) @ DE00`)@JJIE`xHHH)1ޤ悭%]])ީ[Zhhh@ LHZ)h`  ܍ ݭ ݩެkm ެo) ީ98:Z[; % ``)` `)`) `H)) h`H)h``ޅ6 ީ 1006` ` 300 6001200240048007200960019.238.438.438.438.4 FH sl-36-df.232ryLL/L>LL L$LLILOLLLOLNL[t gSwiftlink (3.6864MHz) @ DF00`)@JJIE`xHHH)1ߤ悭%]])ߩ[Zhhh@ LHZ)h`  ܍ ݭ ݩ߬km ߬o) ߩ98:Z[; % ``)` `)`) `H)) h`H)h``߅6 ߩ 1006` ` 300 6001200240048007200960019.238.438.438.438.4 FH turbo-d7.232oLL4LCLLL)L LNLKLLLTLJLWy gSwiftlink (Turbo) @ D700`)@JJIE`xHHH)1פ悭%]])ש[Zhhh@ LHZ)h`  ܍ ݭ ݩ׬pr ׬׬t) ש98:Z[; % ``)` `)`) `H)) h`H)h``ׅ6 ש 1006` ` 300 6001200240048007200960019.238.457.6115K115K FH turbo-de.232eLL4LCLLL)L LNLKLLLTLJLWy gSwiftlink (Turbo) @ DE00`)@JJIE`xHHH)1ޤ悭%]])ީ[Zhhh@ LHZ)h`  ܍ ݭ ݩެpr ެެt) ީ98:Z[; % ``)` `)`) `H)) h`H)h``ޅ6 ީ 1006` ` 300 6001200240048007200960019.238.457.6115K115K FH turbo-df.232`LL4LCLLL)L LNLKLLLTLJLWy gSwiftlink (Turbo) @ DF00`)@JJIE`xHHH)1ߤ悭%]])ߩ[Zhhh@ LHZ)h`  ܍ ݭ ݩ߬pr ߬߬t) ߩ98:Z[; % ``)` `)`) `H)) h`H)h``߅6 ߩ 1006` ` 300 6001200240048007200960019.238.457.6115K115K FH xmodem.dprӲXFL LL o o gXmodem p p N& + q Yt   &.v sL{` o o gXmodem p p u0 ~' & + q ot  H &.v sL{` ,<10 *& fq08`Ϋש,,8`8`,vǩ sC ' D.*Ǡ  ' ) {s.v8` .v8`.v8`i s`  ,.v8``E 孰  sL fq MO. دED  n t 'L ' Mũ ' .v` `0v1v2v3v tLsLAE E`C4v5v ;uLC4v5vC!ȅȍ `L;u˅ˍ δ`Ͱ4v84v5v5v`8`  s8`,.v8` Zp䍳 ZpIͳͭ8ͭD {sŅƭ Zp p0"̍1 Zp p1δ Zp̍F ZpF``,.v8`0vy0v1vy1v2vi2v3vi3v` eIJc g `VLǰO '.v {s g (IJc 숩: DhIc 利) Dh s ` Cq.v8`C ̙`̙ȹ͙ɹΙʹϙ`` s  s ( n t  fq F.v`.v8`<<10,v s -C& fq0 {s.v8`Ϋթ ,.v8`,i s`/v` u +`/v6v8v88v9v9v 8v୬`6v.7v7v)``i ' 'I 'ń \ ' ' ` L  {s.v` <10 .( {s8` fq0ߩ {s8`Ϋө ,.v8``.v8` ' ` `H 'h p`H 'h pH 'h pH 'h pH 'h p`FH