home *** CD-ROM | disk | FTP | other *** search
/ Rockford Magazine / Rockford_Magazine_033_19xx_-_de_Disk_3_of_5_Side_B.d64 / 15.1 < prev    next >
Text File  |  2023-02-26  |  11KB  |  166 lines

  1.         longer be able to tell which is the top, and which is the bottom! 
  2.         This is especially true if one is removing chips to install sockets.
  3.         (Any magic marker will do; just write "Bottom" on the "green stuff".
  4.         Do not write on top of any exposed metal surfaces or the gold pins!)
  5.  
  6. Note 5: For experimenting purposes, it might be handy to find a cartridge you
  7.         no longer care about, desolder the existing ROM chip from the circuit
  8.         board inside the cartridge and install an IC socket to make it easier
  9.         to change chips, later. However, note two things about this. One, the
  10.         socket makes the whole thing taller, and it may no longer fit into a
  11.         standard case. You can either (carefully!) use the new circuit board
  12.         without using its outer case, at least for in-house testing, or you
  13.         may be able to cut a "window" in the top of the case to clear it all.
  14.         Second, some cartridges don't use standard IC ROM's, so try another 
  15.         cartridge, until you find one that does use a standard DIP package.
  16.  
  17. Note 6: On all the Vic20 carts the author has opened and seen so far, the ROM
  18.         chip inside has 24-pins. Standard replacement EPROM's have 28-pins. 
  19.         This creates problems, but not insurmountable ones. It is a bit of a 
  20.         nuisance, but the dedicated experimenter can modify a 24-pin circuit
  21.         board, to accept any 28-pin standard EPROM, such as the 2764 package.
  22.         If one did not want the hassle of doing this, one other method exists
  23.         to be able to put your own 8K eprom chips inside; however, it is not 
  24.         cheap. Motorola makes an 8K EPROM that is completely compatible with 
  25.         Commodore's "standard" 24-pin ROM chips. It even works as a direct 
  26.         pin-for-pin replacement for the 8K Kernal and Basic ROM's inside your
  27.         Vic20 or your C64; the author has replaced both types in the past.
  28.         The part number for this EPROM is MCM 68764. It is about $18.00 each.
  29.         (Yes, it is programmable via the C64's "Promenade" eprom burner too!)
  30.         I think I got my 68764 years ago, from Jameco Electronics; try them.
  31.         (A 2764 adapter circuit board can be made to adapt the differences in 
  32.         24-to-28 pin sockets, but it will likely be too tall to fit inside.)
  33.  
  34. Note 7: A reset button can be wired into the Vic20 fairly simply. This might
  35.         be a good idea, if one plans to experiment much. The Vic20, or any
  36.         computer, might lock up when you've told it to do something odd while
  37.         experimenting. Simply use a momentary-contact, normally-open switch, 
  38.         wired between the RESET line and any port GND line. When you press 
  39.         the new button for a second and let go, the computer will reset. This 
  40.         is because the RESET line is active low, and your switch grounds that 
  41.         line. If you decide to do this *inside* your Vic20, remember you are 
  42.         now looking at the *back* of the port, NOT the front. Therefore, use 
  43.         the pinout diagram for a cartridge, not the port, to find the lines.
  44.         Radio Shack switch part number 275-1547 or equivalent will 
  45.         work fine.  
  46.  
  47. Note 8: The memory area located at $A000-BFFF ("Block 5") is normally 
  48.         considered to be a ROM-only block of memory. RAM can be mapped into
  49.         that space if you modify the cartridge's internal wires or jumpers, 
  50.         to redirect a standard RAM cartridge to load higher up in memory. 
  51.         However, BASIC cannot normally access that area, as it is meant to
  52.         be for ROM's only. This is important, if one wishes to archive an
  53.         8K autostart ROM cartridge (normally located in block 5), and run the
  54.         resulting ROM image from within RAM. It can be done, but you have to
  55.         modify a standard 8K RAM cartridge to do it. (Ground BLK 5, and cut
  56.         any trace or jumper that tells the cart to load in a different area.)
  57.         
  58.         Note also that some carts may be copy-protected, and will not run in
  59.         RAM without modification or "training," to alter the copy protection.
  60.  
  61.         It may be possible to get around this copy-protection (but the author
  62.         hasn't tried it yet) by modifying the read/write lines, so that after
  63.         loading the program's ROM image into RAM memory, you flip a switch 
  64.         first, then type in the SYS command to start the program up. If this
  65.         idea works, it would emulate ROM by not being able to be written to, 
  66.         when the copy protection tries to determine if the copy is in RAM or 
  67.         ROM. Of course, when reprogrammed into an EPROM, it will act as if it
  68.         were ROM anyway, so this may no longer matter in that case.
  69.  
  70. Note 9: Trying to relocate a machine language program from the memory area
  71.         where it was written in and intended to be, and to have it actually
  72.         work afterwards, is not advised. It won't work, without doing so
  73.         many modifications to the machine language object code that you may
  74.         as well just start over and reprogram it all. Don't bother trying. 
  75.         It seems the idea is to get the real, actual code as written, anyway.
  76.  
  77.         Similar problems confront the user who wishes to archive a tape or a
  78.         diskette-based original. Trying to make a cartridge out of it, isn't
  79.         worth the huge headaches. You are better off, in this case, trying to
  80.         archive tape-based programs to floppy disk (which will still require 
  81.         a little modification, but not as much), and floppies to floppies.
  82.         
  83. Note 10: Some FTP archives exist on the Internet for the Vic20 enthusiast. 
  84.         ("ftp.funet.fi" in Finland, and "ftp.hrz.uni-kassel.de" in Denmark.)
  85.  
  86.         When downloading archived ROM images from these places, one should
  87.         be aware that they are missing two bytes that the Commodore Vic20 and
  88.         the Commodore 64 computers consider absolutely critical to load and
  89.         use files with. These are the first two bytes of any Commodore file,
  90.         which tells the computer a program's "Starting address," or where to 
  91.         load it into memory. If its not in the right place, it will not work. 
  92.         Period. Even one byte off, and it will not work. These raw image 
  93.         files include only the ROM's internal codes, and no starting address.
  94.  
  95.         The FTP site in Denmark has some instructions on how to add these two
  96.         bytes to a file, using a Commodore Vic20 compatible disk drive. The
  97.         author made an executable program that does this on the IBM, but it
  98.         isn't very user-friendly at this point. It does work, however, and as
  99.         soon as it will pass muster publicly, I plan to upload it to both FTP
  100.         sites. This program, when available to the public, is meant to be used
  101.         after a ROM image file has been downloaded onto an IBM computer, but 
  102.         before the user transfers it to a Commodore-compatible diskette, using
  103.         whatever process the user likes most. (The "X-1541" user-built cable 
  104.         which connects the IBM printer port to the CBM serial port, is the 
  105.         author's favorite way of transferring files from IBM to CBM and back.)
  106.  
  107. Note 11: On all the NTSC Vic20 motherboards I looked at (4 or 5), the BASIC
  108.         memory chip is labeled "UE11", while the Kernal chip is labeled as
  109.         "UE12". My PAL schematic lists these two as UD5 and UD6, respectively.
  110.         The Basic memory map area is at $C000-DFFF. Kernal is at $E000-FFFF.
  111.         The only other 24-pin chip is the Character Generator; its 4K, not 8K.
  112.  
  113. Ward Shrake
  114. email: wardshrake@aol.com
  115. July 1995
  116.  
  117.  
  118. -------------------------------------------------------------------------
  119.     Short technical tutorial on Vic20 ROM cartridges, including notes 
  120.     on cartridge archiving methods, and the Vic autostart process.
  121. -------------------------------------------------------------------------
  122.  
  123. A Vic20 cartridge is approximately 5.5 inches wide, 3 and 3/8ths inches deep,
  124. and 5/8ths inches tall, when viewed as if ready to be installed. Standard
  125. configurations are 8K and 16K of 8-bit ROM memory, using one or two chips of 
  126. ROM memory onboard. If other standard cartridge memory configurations exist, 
  127. the author is currently unaware of them. (But would like to hear of any, if 
  128. they do/did exist, and especially if they were once made commercially.)
  129.  
  130. Inside a typical Vic20 cartridge is one double-sided, etched circuit board, 
  131. with some form of memory chip installed. This may be a "standard" IC chip as 
  132. we are used to seeing (24 or 28 pin ROM, in a DIP package), or it could be 
  133. a blank circuit board, with a tiny blob of black epoxy material on it, under 
  134. which are presumably the internal components of a typical, normal ROM chip. 
  135.  
  136. The standard circuit board size is approximately 3 and 9/16ths inches wide, 
  137. and 1 and 3/4 inches deep. A cart fits into a 44-position, double-sided card 
  138. edge connector, which is a permanent part of the Vic20 itself, in the back.
  139.  
  140. On the cart circuit board itself may (or may not) be several wire traces or 
  141. jumpers, which if there, are meant to configure the cartridge to a certain
  142. memory arrangement. These jumpers are meant to connect the BLK or RAM lines
  143. to the system ground. These lines, when connected, tell the Vic20 where to 
  144. place the cartridge within the Vic20's internal memory map scheme. 
  145.  
  146. While all "normal," autostart game cartridge are located in one fixed area
  147. of memory, this is not true with all cartridges, game or not. Some of the 
  148. earliest cartridges did not use the autostart procedure for whatever reason,
  149. (presumably because they did not know it existed, at that early stage?) and 
  150. those are located in "non-standard" memory locations. The Vic20 was built
  151. and designed when memory was expensive, and computers were designed to be 
  152. bare-bones memory-wise, but with the capability to expand on later. This may
  153. take some getting used to at first, but understanding it gets easier in time.
  154.  
  155. 16K cartridges, for example, generally have one 8K ROM block located from 
  156. $A000-$BFFF, and another 8K ROM block located at $6000-7FFF. If a cartridge 
  157. was factory-made not to autostart; in other words, if it needs you to type in 
  158. a "SYS" number to start it, its memory could be located in any block. 
  159.  
  160. The "normal" spot for an 8K cartridge to be located in memory is in "Block 5" 
  161. (which is located at $A000 to $BFFF). Again, this is not the only possible 
  162. spot in memory for a cartridge to be located, but it is the only spot where 
  163. the Vic20 will look for a cartridge that automatically starts on power-up.
  164.         
  165. This is because (at power up) the Vic20 looks for a precise code in a precise 
  166.