home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / Information / TURBOPRG.TXT < prev    next >
Encoding:
Text File  |  2019-04-13  |  4.7 KB  |  103 lines

  1. Turbo232 Programming
  2. Revision T v1.0.0
  3.  
  4.  
  5. This document outlines the differences between SwiftLink and the 
  6. Turbo232 cartridges. It assumes that the programming has knowledge of or 
  7. separate information concerning programming SwiftLink.
  8.  
  9.  
  10. GENERAL
  11. The Tubro232 cartridge is functionally compatible with the operation of 
  12. the original SwiftLink models designed by Dr. Evil Labs. However, the 
  13. new version shares only the 6551 ACIA in common with the original 
  14. designs, and has been completely redesigned to meet the goals of 
  15. extending the capabilities of this product while maintaining functional 
  16. compatibility.
  17.    Three new speeds have been added (57.6Kbps, 115.2Kbps and 230.4Kbps) 
  18. via an additional register which controls a programmable clock. In 
  19. addition, the external IRQ/NMI switch has been discontinued, though this 
  20. functionality is still available via an internal jumper block, which 
  21. also allows for changes to the DSR configuration and default I/O 
  22. address.
  23.    Finally, the effect of 'mirroring' of registers throughout the I/O 
  24. page has been reduced to 32 bytes, so that the product can be used 
  25. without interference with GEORAM and similar devices. CMD can also 
  26. provide custom programmed versions of the decoding chip used in the new 
  27. product to change the base address to any 32-byte boundry within the 
  28. selected I/O page; this latter provision is targeted at programmers who 
  29. wish to create applications which use multiple Turbo232 cartridges 
  30. within the same I/O page, as well as to users of such applications if 
  31. and when they exist.
  32.  
  33.  
  34. DETAILS
  35. It is first important to note the different memory 'footprint' of the 
  36. Turbo232. While SwiftLink contained only 4 registers whose contents were 
  37. mirrored at every 4 memory locations throughout the I/O page occupied by 
  38. the device, Turbo232 maps 8 register locations which are mirrored for 
  39. only for 32 bytes from the base address. Of the four new register 
  40. locations, only one is actually implemented: the ES (Enhanced Speed) 
  41. register, located at an offset of $07 from the base address.
  42.    For baud rates up to and including 38.4Kbps, Turbo232 is programmed 
  43. just like a SwiftLink. The only possible cause for incompatibility that 
  44. may be noted is the difference in mirroring of registers which might be 
  45. used by some programs to detect the presence of a SwiftLink. It is this 
  46. very difference, however, that will allow the programmer to determine 
  47. whether a SwiftLink or a Turbo232 is installed (see "DETECTION 
  48. ROUTINE").
  49.  
  50.  
  51.  
  52.  
  53.    To obtain the new high-speed baud rates, you must first set the 
  54. lowest four bits of the register located at offset $03 to zero (the 
  55. upper 4 bits are insignificant). [Note: Setting these bits to zero will 
  56. result in a value of 1 in the mode bit (bit 2) of the ES register.] You 
  57. may then set the specific high-speed baud rate using bits 0 and 1 of the 
  58. ES register. Since bit 2 of the ES register (mode bit) is read-only, and 
  59. bits 3 through 7 are insignificant, you can safely program the rate by 
  60. storing in that location a value of $00 for 230.4Kbps, $01 for 
  61. 115.2Kbps, or $02 for 57.6Kbps. [Note: Storing a value of $03 to the DS 
  62. register isn't recommended, though it isn't harmful; it provides no 
  63. clock output, but remains reserved for future expansion.]
  64.  
  65. REGISTER INFO
  66.  
  67.   $Dx00    DATA REGISTER       Same as original SwiftLink
  68.   $Dx01    STATUS REGISTER     Same as original SwiftLink
  69.   $Dx02    COMMAND REGISTER    Same as original SwiftLink
  70.   $Dx03    CONTROL REGISTER    Same as original SwiftLink, plus
  71.                                xxxx0000 sets enhanced-speed mode
  72.   $Dx04    UNDEFINED
  73.   $Dx05    UNDEFINED
  74.   $Dx06    UNDEFINED
  75.  
  76.   $Dx07    ES REGISTER         7  6  5  4  3  2  1  0
  77.                                x  x  x  x  x  M S1 S0
  78.  
  79.                                   M (bit 2) Mode (read-only)
  80.                                     0 = Normal SL mode
  81.                                     1 = Enhanced Speed mode
  82.  
  83.                                   S1, S0 (bit 1 and bit 0) Speed
  84.                                   (read-only if M=0)
  85.                                     00 = 230,400 bps
  86.                                     01 = 115,200 bps
  87.                                     10 =  57,600 bps
  88.                                     11 = undefined, no clock output
  89.                                          reserved for future expansion
  90.  
  91. DETECTION ROUTINE
  92. The following can be used to determine if an installed SwiftLink is the 
  93. standard or Enhanced Speed type:
  94.  
  95.   LDA #$00
  96.   STA $Dx03
  97.   LDA $Dx07
  98.  
  99. After executing this code, the A register will contain a zero if a 
  100. standard SwiftLink is installed, but will be non-zero if a Turbo232 is 
  101. installed.
  102.  
  103.