From brain@garnet.msen.com Wed Mar 23 15:52:22 1994 Message-Id: From: brain@garnet.msen.com (Jim Brain) Subject: Re: Commodore Trivia #3 Answers debate To: albert@cs.tut.fi (Ojala Pasi 'Albert') Date: Wed, 23 Mar 1994 08:51:09 -40962758 (EST) X-Mailer: ELM [version 2.4 PL20] Content-Type: text Content-Length: 11717 X-Lines: 268 Status: RO Here are the answers to Commodore Trivia Edition #3 for February, 1994. Q $020) What does the letters IEEE in IEEE-488 stand for? A $020) Institute of Electrical and Electronics Engineers. Q $021) What was the logo of Batteries Included? A $021) It was a the face and hands of a man with glasses inside a circle. Early renditions of him were in black and white, while later ones had him with blond hair a a red shirt. Some views had him actually typing on the 64/VIC with one finger, but most just showed him, not the keyboard. Q $022) The Commodore VIC-20, 64, and 128 computers emulate in software a very important integrated circuit. What is its number, and why is it important? A $022) The 6551 UART IC. It is used for RS-232 communications. Q $023) Commodore watches play a beautiful song for the alarm. What is the song's title? A $023) Fleur-de-lis. The "Godfather" theme. Q $024) The C2N style Commodore tape decks are impressive in handling errors. How many times is a single program stored onto tape? A $024) Twice, second copy is placed right after the first. That means, even if you get a load error on load, you might be able to just run the program anyway, as a load puts the first copy in memory, and verifies it against the second copy. Q $025) What is a jiffy? A $025) A jiffy is 1/60th of a second. It is the same on PAL and NTSC Commodore computers. Q $026) What is the screen resolution of the Commodore VIC-20? A $026) On the VIC-I IC, the text and graphics screens are definable within limits. Therefore, there are a number of answers that are correct: The default screen has (and the answers I was looking for): Text: 22H x 23V = 506 characters Graphics: 176H x 184V = 32384 pixels However, on experimentation with a NTSC VIC-I (6560), I found that it could support a resolution of: Text: 24H x 29V = 696 characters Graphics: 192H x 232V = 44544 pixels Your mileage may vary, but these numbers remove all border area. (I am not sure if you can use all the pixels, since the VIC-I only allows 32768 to be used. You might be able to flip the graphics page in the middle of the screen, but I leave that as an exercise.) The VIC-I also supports a virtual screen, which can be "panned" so that the physical screen becomes a "window" into the virtual screen. The maximum "scrollable" virtual screen on NTSC is: Text: 28H x 32V? = 896 characters Graphics: 224H x 256V? = 57344 pixels The VIC supports more resolution than 32V, but you can never see it since you can't scroll it into view, so the point is moot. So, if I didn't thoroughly confuse you, email me and I will make sure I do! Q $027) Why is the VIC-20 named the VC-20 in Germany? A $027) Because 'V" is pronounced 'F" in Germany, and the resulting pronunciation was a naughty word. Commodore put one over on many people. The VIC-20 was designed in the states and given that name due to the IC that did the graphics. When the marketing started, CBM found out the name was no good in Germany, so they quickly renamed it VC-20. The after-the-fact Volks-Computer conjured up images of the Volkswagon car (VW), which was popular at the time for its dependability and price. The rest is history... Q $028) Why was early Commodore equipment built into such heavy enclosures? A $028) Simple. Commodore made office furniture, which includes desks and filing cabinets. They simply used the facilities and parts on hand. Also, at the time the PEt came out, people equated physical stability of a machine as an indication of its worth. Also, the system had to hold up the built-in monitor. Most people think it is due to FCC regulations. While that was indeed a factor, Commodore had experience with different types of shielding from the calculators they made. Commodore has always been a "cheap" company, so the fact that they could get good shielding in-house at almost no cost proevd to be the overriding factor. It might interest some to note that, even with the metal case, early PEts had foil inside as a secondary shield. Q $029) What two BASIC 2.0 commands might still work if mispelled? A $029) The answers I was looking for are END and STOP, although someone correctly pointed out that GO TO can be construed as a mispelling. Also, print#, get#, and input# might work if the '#' was omitted and the program was getting data to screen or keyboard. Although the following aren't really the result of mispelled commands, I put them in, since you could stretch the definition of mispelled to include them. LET would work if it was left out, since LET was an optional keyword. Commands of the form would work if letters were tacked onto the end. (example: RUNDY., prg has a valid line 0, and DY = 0). Finally, LOAD"jim",8,1garbage would work due to the way LOAD absolute worked, but that is a stretch! Q $02A) What does CIA stand for? (not the U.S. CIA!) A $02A) CIA = Complex Interface Adapter. The german Magazine 64'er calls it a Control Interface Adapter, but that is not its official name. Q $02B) (hard one) What is the key VIC capability that makes full-screen hires graphics possible on the _VIC-20_? A $02B) A lot of people answered redefinable characters, but that alone does not provide FULL-SCREEN graphics. 256 8*8 cells gives you a little over 1/2 of the screen in graphics, but the VIC has the ability to make each character cell be 8*16, which gives enough pixels to map the entire default screen. Q $02C) How many cassette ports does the CBM 8032 computer have? A $02C) Two. One on back, one on side near the back. Q $02D) What 5 bytes must appear in every Commodore 64 autostart cartrdge and what location in memory must they be placed at? A $02D) CBM80 at $8004. The letters must have bit 7 set. So, the actual PETSCII codes are 195, 194, 205, 056, 048. $c3, $c2, $cd, $30, $30 in HEX Q $02E) What is the correct Commodore technical term for "Sprites"? A $02E) MOBs, or Movable Object Blocks. Q $02F) (Three parter, all parts must be correct) "Push-wrap-crash" is a nickname for a condition that can lock up an old-style C=64. What causes it? How can it be avoided (besides not doing it)? What is the only way out once it has occured (besides rebooting)? A $02F) Wow, I got so many responses to this! This question actually dealt with a typical user, but people sent in descriptions of what the code does and how to patch it. So, there are two sets of answers to this: User Answer: 1) If you put the cursor at the bottom of the screen and type 82 characters (not 81) and then trying to delete back to the 78th one. 2) Any of the following will work: Do not use the following colors for the cursor: red, blue, yellow, light red, dark grey, light blue, light gray. Some people devised a IRQ wedge that will recover from the lockup. Have the following lines as the first lines of a program: 10 open 15,8,15 20 input#15,a$. 3) There are actually two ways to recover. They are: If you have a reset button installed on the 64, reset the machine, then load and run an unnew program. (I accepted this, but I figured most people would assume this much) If you have a tape drive installed, press either Shift-3 or move a joystick installed in Port 1 in the UP direction. Then, respond to the directions on the screen "PRESS PLAY ON TAPE". Next, press RUN-STOP to stop the tape load. What really happens: (I can't prove this) 1) The user types the line of text and the scroll code is invoked. The first two lines become linked as one logical line, and the third line is treated as a new line. The user deletes the 82nd and the 81st character and then hits delete while in the first column of the third line. Since the delete will put the cursor back up into the second line, which is linked with the first, the KERNAL gets confused and thinks the second line is at the bottom of the screen. Remember, the "cursor" is actually constructed by a combinations of using reverse characters and changing the color RAM nybble for that screen location. Thus, when the cursor gets "erased" from the first column of the last line, the KERNAL thinks the color nyble for it is at $DC00, which is 40 bytes off from the actual position. $DC00 is actually Port A for CIA #1, which is where the kernal writes the column of the keyboard it wishes to scan. Because the KERNAl is messed up, it puts the color nybble for where it thinks the cursor was into this location. (That is why there is a connection between cursor color and this bug. Now, the system integrity has been compromised, but it does not show yet. The user proceeds to delete the 80th character. As the user deletes the 79th character, the bad value in $DC00 goes to work and fools the KERNAl into thinking SHIFT/RUN-STOP has been pressed. It also pretty much disables the keyboard. 2) Since the Color RAM is what the KERNAl gets confused about, the solution was to not use certain bit patterns of colors: RED 0010 CYAN 0011 BLUE 0110 YELLOW 0111 LIGHT RED 1010 DARK GRAY 1011 LIGHT BLUE 1110 LIGT GRAY 1111 OK Colors: BLACK 0000 WHITE 0001 PURPLE 0100 GREEN 0101 ORANGE 1000 BROWN 1001 MEDIUM GRAY 1100 LIGHT GREEN 1101 All of the BAD colors have bit 1 set. I have no idea what the significance of that is. 3) You needed to get out of the tape load code, but you only had so many keys that were still active. So, if you followed the directions on the screen, you could break out. Since the tape load code uses CIA #1 for its operations, it would take over the IC and then restore it to a correct state when either the load was stopped or the load completed. Now, that is amazing! (Someone is free to check up on me concerning this, since I do not have a Rev 1 ROM to try out. If someone has one, I would like to have a copy of it on disk or in email. And if someone has the information on this bug from either the May 1984 Gazette p108, or from the COMPUTE! Toolkit Kernal VIC20/64, I would like a copy.) New questions coming! Jim Brain -- Jim Brain, Embedded Systems Designer, Brain Innovations. brain@msen.com Dabbling in VR, Old Commodore Computers, and Good Times! "The above views DO reflect my employer, since I am my employer" - Jim Brain