Well, summer is upon the Brain household, and things are moving at a fast clip at the house. However, the trivia still keeps coming. I appreciate all the people who contribute to the trivia and all the people who take part in the monthly contest. I have collected Trivia Edition #13-18 in this article. As you may know, these questions form part of a contest in which the monthly winner gets a prize (Thanks to my various prize donators). The whole thing is mainly just for fun, so please enjoy.
As the summer months start up, news on the trivia includes:
Jim.
The following article contains the answers to the December edition of trivia ($0C0 - $0CF), the questions and answers for January ($0D0 - $0DF), February ($0E0 - $0EF), March ($0F0 - $0FF), April ($100 - $10F), and the questions for the May edition ($110 - $11F). Enjoy them!
Here are the answers to Commodore Trivia Edition #13 for December, 1994
Q $0C0) The early 1541 drives used a mechanism developed by ______. Name
the company.
A $0C0) Alps.
Q $0C1) On later models, Commodore subsequently changed manufacturers
for the 1541 drive mechanism. Name the new manufacturer.
A $0C1) Newtronics.
Q $0C2) What is the most obvious difference(s). (Only one difference is
necessary)
A $0C2) Alps: push-type latch, round LED.
Newtronics: lever-type latch, rectangular LED.
Q $0C3) On Commodore BASIC V2.0, what answer does the following give:
PRINT (SQR(9)=3)
A $0C3) 0. According to Commodore BASIC, the answer should bby -1, which
is the BASIC value of TRUE. However, the above equation is NOT
true. Doing PRINT SQR(9) yields 3, but doing PRINT (SQR(9)-3)
yields 9.31322575E-10 (C64). This anomaly can be attributed to
roundoff errors in the floating point math routines in Commodore BASIC.
Q $0C4) In Commodore BASIC (Any version) what does B equal after the following
runs: C=0:B=C=0
A $0C4) B = -1. The second statement is the one to look at. The second
equals sign is treated as a comparison, while the first is treated
as a assignment. B gets set to the outcome of the comparison, which
is TRUE (-1).
Q $0C5) The first PET cassette decks were actually _______ brand cassette
players, modified for the PET computers. Name the comapny.
A $0C5) Sanyo. Specifically, Model M1540A. What a model number!
Q $0C6) In Commodore BASIC (Any version), what happens if the following
program is run:
10 J=0
20 IF J=0 GO TO 40
30 PRINT "J<>0"
40 PRINT "J=0"
A $0C6) On BASIC 2.0 or greater:
?SYNTAX ERROR IN 20
READY.
On BASIC 1.0: (found on the PET 2001 series)
J=0
READY.
BASIC 1.0 totally ignored spaces, so line 20 became "IFJ=0GOTO40".
That statement would be correctly parsed, sicne it contains the "GOTO"
keyword.
However, on BASIC 2.0 or greater, spaces weren't ignored so completely,
and the "TO" in "GO TO" would be tokenized separately, so some code was
added to BASIC to check to "GO". As the code that accepts GOTO as a special
case for THEN after an IF statement wasn't patched this way, the above fails,
because GO is not a valid keyword after IF. The statement SHOULD
work correctly, but does not because of this failure to fix the IF
command parsing.
On BASIC 2.0 or greater, substituting the following line for line
20 will cause the program to work:
20 IF J=0 THEN GO TO 40
Q $0C7) In question $068, we learned how Jack Tramiel first happened upon the
name "COMMODORE". According to the story, though, in what country
was he in when he first saw it?
A $0C7) Germany.
Q $0C8) On the Commodore user port connector, how many edge contacts are
there?
A $0C8) 24. Two rows of 12 contacts each.
Q $0C9) On most Commodore computers, a logical BASIC screen line can contain
up to 80 characters. On what Commodore computer(s) is this not true?
A $0C9) According to Commodore documentation, a _physical_ screen line is
defined as one screen line of characters. A _logical_ screen line is
defined as how many _physical_ lines can be chained together to
create a valid BASIC program line.
With that in mind, most Commodore computers chose a _logical_
screen line that was a multiple of the screen width. This works fine
for 40 and 80 column screens, but what do we do with the VIC-20, with
its 22 column screen. Solution: make the _logical_ line length equal
to 4 _physical_ lines, or 88 columns.
When the Commdore 128 was introduced, the number rose to 160
characters, which is 4 _physical_ lines in 40 column mode, or
2 _physical_ lines in 80 column mode. However, you can only take
advantage of this in 128 mode. 64 mode is limited to 80 characters.
To add to all this confusion, a valid BASIC program line (in memory)
can actually be 255 (tokenized) characters long, but creating such
a long line cannot be done from the built-in editor in direct mode.
The AmigaBASIC, available on the Amiga, also does not have the 80
column line limit. However, that BASIC is SOOO much different that
I am not surprised. The older CBM BASICs, on the other hand, were
all derivatives of the original Level 1 BASIC for the PET.
Q $0CA) If a file is saved to a Commodore Disk Drive with the following
characters: chr$(65);chr$(160);chr$(66), what will the directory
entry look like?
A $0CA) The filename will show up as "A"B, with the 'B' showing up to the
right of the '"' mark. This could be used to make program loading
easier. A file that showed up as "filename",8,1 could be loaded
by simply hitting shift-run/stop on that line.
Q $0CB) What is the maximum length (in characters) of a CBM datasette
filename?
A $0CB) References I have on hand say 128 characters. However, the actual
code on the 8032 and the C64 acts as though 187 characters can
actually be sent (tape buffer-5 control bytes = 192-5=187). The
references that claim 128 characters are Nick Hampshire's
_The VIC Revealed_ and _The PET Revealed_. ANyone care to lay
this one to rest?
Q $0CC) How many keys are on a stock Commodore 64 keyboard?
A $0CC) 66 keys. This is the same number as found on the VIC-20 and the
Commodore 16.
Q $0CD) Commodore BASIC uses keyword "tokens" to save program space. Token
129 becomes "FOR". What two tokens expand to include a left
parenthesis as well as a BASIC keyword?
A $0CD) TAB( (163) and SPC( (166).
Q $0CE) There are 6 wires in the Commodore serial bus. Name the 6 wires.
A $0CE) 1) Serial /SRQIN
2) GND
3) Serial ATN IN/OUT
4) Serial CLK IN/OUT
5) Serial DATA IN/OUT
6) /RESET
Q $0CF) On the Commodore datasette connector, how many logical connections are
there?
A $0CF) 6. Opposing pins on the connector are hooked together electrically.
Here are the answers to Commodore Trivia Edition #14 for January, 1995
Q $0D0) How many keys were there on the "original" PET and what was special
about them?
A $0D0) the original PET had 73 calculator-style keys that were laid out
in a rectangular matrix, not typewriter-style.
Q $0D1) How do you produce the "hidden" message(s) on the Commodore 128?
A $0D1) SYS 32800,123,45,6. The screen will clear, and the software
and hardware developers on the 128 project will be named.
The exact text is as follows:
[RVS] Brought to you by...
Software:
Fred Bowen
Terry Ryan
Von Ertwine
Herdware:
Bil Herd
Dave Haynie
Frank Palaia
[RVS]Link arms,don't make them.
Q $0D2) How much memory did the "original" PET show on bootup?
A $0D2) The "original" PET came in two configurations, 4K and 8K, so:
The PET 2001-4 had 3071 bytes.
The PET 2001-8 had 7167 bytes.
Q $0D3) We all know the "reboot" sys for the 64 is sys 64738, but who knows
the same sys location to reboot the CBM 8032?
A $0D3) sys 64790
Q $0D4) Which computer(s) beeped at bootup? (May be more than one, but only
one required)
A $0D4) I know some of these are corect, but the sheer size of the
list prevents me from checking them ALL out.
FAT 40XX series
80XX series
PC-10 (I suspect a number of IBM clones did, and these things have
no consistent naming convention across country boundaries.)
PC-20
Amiga 1000
SP9000 (SuperPET)
Q $0D5) How much memory did the CBM 8032 show on bootup?
A $0D5) 31743 bytes.
Q $0D6) Certain Commodore computers provided emtpy EPROM sockets on the
motherboard. Give me the number of empty sockets on the following
machines:
a) CBM 30XX.
b) CBM 8XXX.
c) CBM C128.
d) Plus/4.
A $0D6) a) 3 sockets.
b) 2 sockets.
c) 1 socket.
d) 1 socket.
Q $0D7) In Germany, the CBM 8032 came with a 4kB EPROM for the EXXX area,
while the US version only had a 2kB EPROM. Why?
A $0D7) The German version had additional keybaord drivers for umlaut
characters and dead keys.
Q $0D8) Who published the first PET memory map in the "PET Gazette"?
A $0D8) None other than the infamous Jim Butterfield.
Q $0D9) Which is faster to move the sursor on a PET/CBM or C64: SYS or
PRINT?
A $0D9) PRINT is faster, since the sys approach must process the pokes
before the sys, which are very slow.
Q $0DA) On the Amiga 1000, where are the signatures of the first Amiga
developers located?
A $0DA) Inside the top case of the Amiga (1000).
There is an interesting footnote to this question. It seems
that at least some original Amiga machines were labeled as
Amiga (with nu number). Then, at some later point, the number was
added. In addition, Commodore produced some Amiga 1000 machines
without the signatures, but most had the telltale handwriting on
the inside of the case.
Q $0DB) On the 6502, what does the accumulator contain after the following
is executed:
lda #$aa
sed
adc #01
A $0DB) Assume carry was clear. If so, then $11 is the coprrect answer.
Q $0DC) What is the model number of the US NTSC VIC-II chip?
A $0DC) Its first number was 6567, and that is the number most people know
it by, but Commodore produced a VIC-II using a new manufacturing
process that was numbered the 8562.
Q $0DD) What is the European PAL VIC-II chip's model number?
(Not sure if that's its rightful term, but I hope you understand).
A $0DD) Same here. The part number 6569 is the most remembered number, but
an 8565 will work as well.
Q $0DE) Assume you have two computers, one with each of the above chips inside.
Which chip draws more pixels on the screen per second?
A $0DE) Note, for the purposes of the calculation I am performing, "pixels"
refers to picture elements that can be adddress and modified using
normal VIC modes, so there are 320*200 "pixels" on both the PAL
and NTSC screens. (I probably should have stated this, but it is
too late now.) Also, the screen refresh rates used in the
calculations are those defined by the respective television
standards (60Hz U.S., 50Hz European), even though the actual
frequencies are off by a small percentage. (for example, the actual
50Hz refresh rate on European VIC-II chips was calculates as
50.124567Hz by Andreas Boose)
So, the PAL draws 320*200*50 pixels per second = 3200000 pixels/s
NTSC draws 320*200*60 pixels per second = 3840000 pixles/s
Now, some people thought I meant the whole screen, not just the
display area provided by the VIC-II chip. Well, I am not sure
exactly you calculate pixels on a screen, since the numbers could
vary from display to display, but if we measure in scanlines:
PAL = 312 scanlines * 50 = 15600 scanlines/s
NTSC = 262 scanlines * 60 = 15720 scanlines/s
The NTSC machines wins both ways.
Q $0DF) In Commodore BASIC, which statement executes faster:
a = 2--2
or
a = 2+2
A $0DF) b is the correct answer, and there are a couple of reasons why:
1) 2--2 takes longer to parse in the BASIC interpreter.
2) Commodore BASIC subtracts by complementing the sign of the
second number and adding. This incurs extra time.
There are even more subtle ones, but I leave them as an
exercise for the reader. Send me your reason why.
Here are the answers to Commodore Trivia Edition #15 for February, 1995
Q $0E0) What is the difference(s) between the Newtronics 1541 and the 1541C?
(only one difference is needed)
A $0E0) (George Page, a noted authority on CBM Drives, indicated that Commodore
made this a tough question to answer.) By the time the 1541C was
introduced, Commodore threw a number of drives together and called
them 1541Cs. The theoretical 1541C exhibited the following
features:
No head banging, and other problems fixed by modified ROMs.
Case color matches C64C and C128 computers.
Q $0E1) What happens when you type 35072121 in direct mode on the C64 and
hit return?
A $0E1) Simple answer: Most likely, the screen clears and the word READY.
is printed at screen top. This is the behavior seen when pressing
RUN-STOP/RESTORE. Alternately, nothing could happen, or the computer
could lock up.
Involved answer: There is a bug in BASIC 2.0. Easily fixed, but
destined to live life immortal. (long)
The bug is in the PETSCII number to binary conversion routine at
$a69b (LINGET). The routine basically reads in a character from the
line, multiplies a partial result by 10 and adds the new character
to the partial result. Here is a code snippet:
a96a rts
a96b ldx #$00 ; zero out partial result
a96d stx $14
a96f stx $15
a971 bcs $a96a ; not a number, return
a973 sbc #$2f ; PETSCII to binary
a975 sta $07
a977 lda $15 ; get hi byte or partial result
a979 sta $22
a97b cmp #$19 ; partial > 6399
a97d bcs $a953 ; yes, goto error
a97f lda $14 ; load lo byte of result
a981 asl ; lo*2
a982 rol $22 ; hi*2 + c
a984 asl ; lo*2
a985 rol $22 ; hi*2 + c
a987 adc $14 ; complete lo*5
a989 sta $14
a98b lda $22
a98d adc $15 ; complete hi*5
a98f sta $15
a991 asl $14 ; lo*2 complete lo*10
a993 rol $15 ; hi*2 complete hi*10
a995 lda $14
a997 adc $07 ; add new char
a999 sta $14
a99b bcc $a99f ; did lo overflow?
a99d inc $15 ; yes, inc hi
a99f jsr $0073 ; get next char
a9a2 jmp $a971 ; go through it again.
The problem is at $a97d. when the partial result is greater than 6399,
(if partial > 6399, then new partial result will be over 63999)
the routine needs to get to $af08 to print an error, but can't due to
branch restrictions. However, a branch that will get there is in the
preceding function, which handles the ON GOTO/GOSUB keywords ($a94b,
ONGOTO).
So, the BASIC writers just branched to the code in ONGOTO; specifically
$a953:
a94b jsr $b79e
a94e pha
a94f cmp #$8d ; is the keyword GOSUB ($8d)
a951 beq $a957 ; yes
a953 cmp #$89 ; is the keyword GOTO ($89)
a955 bne $a8e8 ; no, print SYNTAX ERROR.
a957 ... ; handle ON GOTO/GOSUB
This code is checking to make sure the ON (var) is followed with a
GOTO or GOSUB keyword.
The LINGET error handler branches to $a953, which compares
.A (which holds hi byte of partial result) to $89. Normally, this
fails, and the normal SYNTAX ERROR code is reached through the branch
to $a8e8. However, for partial results of the form $89XX, the check
succeeds, and BASIC tries to execute an ON GOTO/GOSUB call.
By the way, it is no coincidence that this error occurs on 35072121,
since one of the partial results is $8900 (hi byte is $89). In fact,
350721 will achieve the same result.
If the check succeeds, the code limps along until $a96a:
a969 pla ; complement to $a94e
a96a rts ; return
But we never executed $a94e, the push, so the stack is now
messed up. Since the stack held $9e, $79, $a5 before the PLA,
(The stack could hold other values, but I always saw these)
the RTS gets address $a579 to return to, which usually holds a BRK
opcode. The break handler is invoked, and the screen clears with the
READY. at the top.
Now, the BASIC 2.0 authors were justified in reusing the error
handler code in ONGOTO for LINGET, but they calculated the branch
offset wrong, according to my tests. If you have the LINGET error
handler branch to $a955, all these troubles disappear. You can
verify this procedure with the following BASIC program on a 64:
10 for t=57344 to 65535:poke t,peek(t):next
20 for t=40960 to 49151:poke t,peek(t):next
30 poke 43390, 214
40 poke 1, peek(1) and 254
Just to be complete, this error occurs when a 6 digit or greater line
number is entered and the first 6 digits indicate a number in the
range 35072-35327 ($8900-$89ff). Also, it appears the error occurs
on the VIC-20, but I didn't completely verify it. It would be
interesting to note if the error is found on all version of CBM BASIC.
Whew, what a mouthful.
Q $0E2) If a SID chip is producing a "sawtooth waveform", does the waveform look
like:
a) "/|/|/|/|" or
b) "|\|\|\|\" ?
A $0E2) a is the correct answer.
Q $0E3) On BASIC 2.0, what special precaution(s) must one take when working with
relative files? (only one is needed)
A $0E3) Because BASIC 2.0 doesn't handle positioning in relative files quite
right, one must position the relative file pointer before AND AFTER
a read or write to a relative file.
Q $0E4) What incompatibility existed between C128 Rev. 0 ROMS and the REU?
A $0E4) OK, I admit it. I placed this answer and its discussion somewhere
in my store of information, and it must have fallen behind the
cabinet, because I cannot find it. I will post an answer to this
as soon as I can find it, but the answers really must go out, as
they have been held up long enough.
Q $0E5) What can trigger an NMI interrupt? (count all sources on one chip as
one)
A $0E5) The following sources can trigger an NMI interrupt:
1) The expansion port.
2) CIA #2.
3) The RESTORE key.
Q $0E6) What can trigger an IRQ interrupt? (count all sources on one chip as
one)
A $0E6) The following sources can trigger an IRQ interrupt:
1) The VIC-II chip.
2) CIA #1.
3) The expansion port.
Q $0E7) Where is the ROM in a 1541 located in the 64K memory map?
A $0E7) The ROM is located from $C000 to $FFFF, yet the ROM code does not
begin until $C100.
Q $0E8) Which VIA on the 1541 is hooked to the read/write head?
A $0E8) VIA #2, located in memory from $1C00 to $1C0E.
Q $0E9) In the Commodore DOS, what bit in the file type byte denotes a "locked"
file?
A $0E9) bit 6.
Q $0EA) If files are "locked" under Commodore DOS, under what condition(s) may
the file be changed?
A $0EA) Depending on the file, the following operations can be done on a
locked file:
1) Rename will change file name, although not contents of file.
2) Random access can be used to alter file.
3) Formatting the disk will alter the file. (duh!)
4) Save-with-replace (@0:) will replace file and unlock it.
5) Opening file in append mode will allow it to be changed, and
unlock it.
6) Opening a relative file and adding or changing a record will
succeed and unlock file.
Q $0EB) How big can a program file be on a 1541 or similar?
A $0EB) The file can be as large as a sequential file, since both are stored
in the same way: 168656 bytes. However, since a program contains its
load address as bytes 0 and 1, the largest program size is 168654
bytes.
Q $0EC) Under BASIC 2.0, how does one open a random access file on a disk
drive?
A $0EC) Random access (or direct access) files are a misnomer. What you
really doing is opening the disk for reading and writing. You need
two open command to access a random file: (assume drive 8)
open 15,8,15 and
open 1,8,4,"#1" will open a random access file using buffer 1.
open 1,8,4,"#" will open a random access file using the first
available buffer
Now, by using B-R, B-W, B-A or their replacements, you can write
data to sectors on the disk.
Note that Random access files are different from relative files.
Q $0ED) A file that has a '*' immediately before the filetype is called
a _________ file.
A $0ED) a splat file. This is its correct term, believe it or not.
Q $0EE) We know the 1541 and similar drives have 5 internal buffer areas, but
how many does an 8050 drive have?
A $0EE) Since the 8050 has twice the on-board RAM (4kB), it has 16 buffers, but
only 13 are available. (All CBM drives use one buffer for zero-page
memory, one for stack memory, and one for temporary variables.)
Q $0EF) On a "save-with-replace", where is the location of the first track and
sector of the new copy of the program saved in the directory entry for
the old copy?
A $0EF) The new first track is stored at location 26, and the new first sector
is stored at location 27. These values are copied to their
correct locations after the save is completed.
Here are the answers to Commodore Trivia Edition #16 for March, 1995
Q $0F0) What size matrix of pixels comprises a character on a PET 2001
computer?
A $0F0) The matrix was 8 by 8.
Q $0F1) How many bytes did the opening screen on a CBM 4016 show as
available for use by BASIC?
A $0F1) 15359 bytes free.
Q $0F2) The character set that produces uppercase letters on unshifted keys
is the ________________ character set.
A $0F2) "standard mode".
Q $0F3) The character set that produces lowercase letters on unshifted keys
is the ________________ character set.
A $0F3) "alternate mode"
Q $0F4) To get to the set mentioned in $F2, what character code would be
printed to the screen?
A $0F4) chr$(142)
Q $0F5) What character code would one print to the screen to invoke the
chararacter set in $F3?
A $0F5) chr$(14)
Q $0F6) If one does LIST 60-100, will line 100 get "listed"?
A $0F6) Yes. The above translates as: LIST 60 through to and including 100.
Q $0F7) The abbreviation for the BASIC 4.0 command "COLLECT" is ________.
A $0F7) coL. "C" "O" "SHIFT-L". For those who are interested, the
COLLECT command is analogous to the VALIDATE operation.
Q $0F8) When you use a subscripted variable in BASIC, how many elements
are created by default if no DIM statement is issued?
A $0F8) 11 elements. A(0) - A(10). Almost everyone who has ever programmed
in Commodore BASIC has seen the "BAD SUBSCRIPT" error when they try
to use the 12th element in a un-DIMensioned array.
Q $0F9) How large is the keyboard buffer in CBM computers?
A $0F9) 10 bytes. Since this area could be POKEd to, many boot programs
would poke characters into this buffer to simulate keypresses.
Q $0FA) On the Commodore 1581, how large is a physical sector in bytes?
A $0FA) A physical sector is 512 bytes in length. Internally, the 1581
creates 2 256 "logical" sectors in a physical sector, to maintain
compatibility with older Commodore drives.
Q $0FB) You'll find BASIC 3.5 on the _____________ line of CBM computers.
A $0FB) The X64 series. That includes the Commodore 16, the Commodore 116,
and the Commodore Plus/4.
Q $0FC) On the Commodore 1351 mouse, what registers in the Commodore
computer would the X and Y proportional information be read
from?
A $0FC) Even though you are looking for digital information (how far the
mouse has traveled since the last movement in a particular axis),
the information is read from the "paddle" or potentiometer (POT)
registers. On the C64, the POT registers are part of the SID
chip, and are at 54297 ($D419) for POTX, and 54298 ($D41A) for
POTY.
Q $0FD) What is the maximum size of a sequential file on a 1581 drive?
A $0FD) 802640 bytes.
Q $0FE) What flaw exists in the early Commodore 1670 modems?
A $0FE) When the 1670 modem was first introduced, it powered up in auto-
answer mode, which means it would answer incoming calls after
the phong rang. You could turn this feature off through software
control, but if the power was reset, the modem would answer the
phone. So many people complained to Commodore that CBM revised
the 1670 to include an extra DIP switch that turned this feature
off.
Q $0FF) What is the model number of the first modem for the VIC and C64?
A $0FF) The 1600 manual dial/manual answer 0-300 bps modem. The author
owns one, and used it for many years. To operate, you must use
a phone with a detachable handset cord. You dialed the number
on the phone, waited for the answer, unplugged the handset, and
plugged the cord into the 1600. A switch toggled between using
originate or answer frequencies. The 1600 was manufactured by
Anchor Automation for Commodore. (As an aside, this unit claimed
300 bps, but I never could get 300 to work well. Most of my
telecommunications happened at 150 bps.)
-------Commodore Trivia Edition #17 Questions and Answers (BEGIN)--------
Q $100) On the MOS Technology's KIM-1, how many keys were on the keypad?
A $100) 23 keys. The keypad has room for 24, but one spot is taken by
a switch that puts the system into single-step mode. Interestingly,
some pictures have the switch on the upper left, some on the upper
right.
Q $101) The KIM-1 keypad had the common 0-9A-F keys on the keypad, but
also had some special keys. Name them.
A $101) GO (Go) Executes an instruction and displays the address of next,
ST (Stop) Stops execution of program and return control to monitor,
RS (Reset),
AD (Address) Address entry mode,
DA (Data) Data entry mode,
PC (Program Counter) Displays and restores program counter to values
in PCL and PCH,
+ (Increment) Increments the address without changing the entry mode.
Q $102) The KIM-1 was a set of modules that could be plugged together to
expand the system. Each module had a model number. What was the
model number of the KIM-1 motherboard?
A $102) The KIM-4.
Q $103) On the 1525 line of printers, if you wanted to create the following
graphic, what bytes would you send to the printer after turning on
graphics mode?
****
* *
* *
* *
* *
* *
****
A $103) I guess I should have stipulated that this is a bitmap. ASCII just
has a few limitations. Anyway, the correct bytes to send are:
255, 193, 193, 255. You got these by assigning each bit in a column
a value, and adding 128 to the result for each column.
Q $104) What is the horizontal resolution of the 1525 line of printers?
A $104) Character resolution: 80 chars, or 10 chars/inch (cpi).
Graphics resolution: 480 dots, or 60 dots/inch (dpi).
Q $105) On Commodore drives, explain the difference between the B-R command
and the U1 command.
A $105) The two commands read in data from a disk sector. However, the
U1 command always reads a full sector (255 bytes). The B-R
command reads the number of bytes specified in the first byte of
the sector. If the first byte is a 15, B-R will read 15 bytes
from the sector. (From the 1581 manual)
Q $106) On the Commodore 1541 drive, what does the U: command do?
A $106) This command has been traditionally used to reset Commodore drives,
including the CBM 1541. However, some early versions of the Drive
DOS did not correctly handle this command. In these versions, the
drive and computer failed to complete the command transaction
successfully, and what looked like a hung machine resulted.
Commodore later fixed this problem. If U: seems to not work on
your drive, try U; instead.
Q $107) What does the first routine in the 1541 drive ROM actually do?
A $107) The function, called SETLDA and residing at $C100, turns on the
drive active LED for the current drive. The routine loads the
current drive from $7F and sets bit 3 of DSKCNT ($1C00).
Q $108) How many files will a 1581 disk drive hold?
A $108) 296 files. Note that it is not a multiple of 144.
Q $109) Commodore 1581 drives have a special "autoboot" feature that enables
the drive to load and run a program off a disk upon drive bootup.
What is the required name of the file?
A $109) COPYRIGHT CBM 86
Q $10A) What filetype must the file mentioned in $109 be?
A $10A) USR.
Q $10B) To power up a 1351 mouse in "joystick mode", what must the user do?
A $10B) If one depresses the right mouse button during power-up, the 1351
will behave just like a joystick.
Q $10C) Describe the contents of the POTX or POTY registers when using a
1351 mouse.
A $10C) Each register holds the same type of information, just for a
separate axis, so we will describe just one register:
Bit: Function
7 Don't care
6-1 Mouse axis position mod 64.
0 Noise Bit. (check this bit to see whether mouse has moved)
Q $10D) Commodore computers typically use most of zero page for temporary
variables and other items. However, both the VIC-20 and the 64
reserve 4 bytes for user programs that need zero page memory. Where
are these locations?
A $10D) $FB-$FE (251-254). I am not sure these were "reserved" for
programmers as much as they were just not utilized by the
CBM programmers.
Q $10E) Name the 16 colors available on the 64.
A $10E) Black
White
Red
Cyan (Light Blue-Green)
Purple
Green
Blue
Yellow
Orange
Brown
Light Red
Dark Gray (Gray 1)
Medium Grey (Gray 2)
Light Green
Light Blue
Light Gray (Gray 3)
Q $10F) Both the VIC-20 and the C64 emulate the operation of the 6551 UART.
How many "mock 6551" registers are mapped into the memory map?
A $10F) 5, from $293-$297 (659-663). The register contents:
$293 6551 Control Register
$294 6551 Command Register
$295-6 6551 User Defined Baud Rate value.
$297 6551 Status Register
------------Commodore Trivia Edition #18 Questions (BEGIN)--------------
Q $110) What is the name of the company that recently purchased the
liquidated Commodore assets?
Q $111) At one time, Commodore attempted to manufacture a dual drive
version of the 1571 called the 1572. For what technical reason
did it utimately fail?
Q $112) Over what computer system did a User Group sue Commodore and win?
Q $113) In $103, the question asked how to create a graphic of a small box
on the 1525. In this quesrtion, we have made a different design.
If you wanted to create the following graphic using individual
dots on the printer, what bytes would you send to the printer after
turning on graphics mode?
** * *
* ***
* ** ***
* * * * *
** ** * *
* *
**
Q $114) (Some C65 questions) How many SID chips does the the development
Commodore 65 machine contain?
Q $115) What CPU does the Commodore 65 use?
Q $116) What is the alternate name for the Commodore 65?
Q $117) How many processors does the internal 1581-compatible drive
on the C65 contain?
Q $118) In the tradition of naming certian ICs after famous cartoon
characters, one of the ICs in the C65 is named after a Warner
Brothers cartoon character. Which one?
Q $119) What version of BASIC is included on the Commodore 65 in C65 mode?
Q $11A) How many I/O ports does a Commodore 65 contain?
Q $11B) What common Commodore 64 I/O port does the C65 NOT have?
Q $11C) How many function keys are on a Commodore 65?
Q $11D) What CBM disk drive DOS was used as the template for the internal
C65 drive DOS?
Q $11E) What resolution of text screen does the C65 power up in? (Please
give answers in characters).
Q $11F) What distinguishing non-textual characteristic in the C65 is not
present in othe Commodore 8-bit computers?
The information in this between the lines marked by (BEGIN) and (END)
is copyright 1995 by Jim Brain. Provided that the information
between the (BEGIN) and (END) lines is not changed except to correct
typographical errors, the so marked copyrighted information may be
reproduced in its entirety on other networks or in other mediums. For
more information about using this file, please contact the address
shown below.
Jim Brain
brain@mail.msen.com
602 North Lemen
Fenton, MI 48430
(810) 737-7300 x8528
Some are easy, some are hard, try your hand at: Commodore Trivia #18!