Compucolor.org – Virtual Media

Listing of file='CCUE.TXT;01' on disk='vmedia/scratch-sector.ccvf'


					200A FOXRIDGE APTS.,
					BLACKSBURG, VA. 24060
					10 MAY, 1980

DEAR CATHY,

	IT'S BEEN A LONG TIME SINCE I'VE WRITTEN, SO I THOUGHT
I WOULD SEND YOU A COUPLE OF ARTICLES. ACTUALLY, WE HAVE BEEN
"OFF THE AIR" FOR A WHILE BECAUSE OF PROBLEMS WITH OUR CCII.

	I THOUGHT I WOULD TRY SENDING EVERYTHING ON DISKETTE
THIS TIME. YOU MUST LET ME KNOW IF YOU HAVE LOWER CASE, BECAUSE
I HATE ALL THIS UPPER CASE (BUT I DIDN'T WANT YOU TO BE UNABLE
TO READ IT).

	THE FIRST ITEM, ABOUT SOUNDWARE, IS PROBABLY NOT
SUFFICIENT FOR AN ARTICLE, BUT MIGHT MAKE A NICE LETTER TO
THE EDITOR. (NOTE THAT PART OF THE DIAGRAM IS HAND-DRAWN.)
THE SECOND ONE IS A BIT TOO LONG FOR THIS. I WROTE THIS
ROUTINE FOR TRANSFERRING BASIC PROGRAMS IN RESPONSE TO A
QUESTION FROM SOMEBODY WHO WROTE FOR OUR STAR TREK. I THINK
IT IS A VERY HANDY ROUTINE TO HAVE, AND SURPRISINGLY SHORT.

	ALSO ENCLOSED IS SOME LITERATURE FROM INTEGRAL DATA
SYSTEMS ABOUT THEIR "PAPER TIGER" PRINTER. IT IS ONE OF THE
BEST VALUE PRINTERS ON THE MARKET, AND HAS THE CAPABILITY FOR
GRAPHICS. I HAVE WRITTEN AN ASSEMBLY LANGUAGE ROUTINE THAT
COPIES THE SCREEN TO THE PRINTER VERBATIM. SOME EXAMPLES ARE
ENCLOSED, BUT THE PROGRAM STILL NEEDS A LITTLE WORK BECAUSE
IT IS VERY DIFFICULT TO HANDLE THE DIFFERENT COLORS WELL.
I ALSO PLAN TO WRITE ANOTHER PROGRAM TO PRINT THE PICTURE FROM
THE SCREEN THE CORRECT WAY AROUND (INSTEAD OF SIDEWAYS), BUT
IT WAS EASIER TO IMPLEMENT THIS WAY INITIALLY.

	I DON'T KNOW IF COMPUCOLOR IS LOOKING FOR A PRINTER
TO SUPPORT, BUT I THOUGHT YOU MIGHT BE INTERESTED.

	I WILL BE WRITING TO YOU AGAIN SHORTLY. I HAVE A LOT
MORE STUFF YOU MAY BE INTERESTED IN, BUT IT IS A MATTER OF
GETTING THE TIME TO WHIP THEM INTO SOME PRESENTABLE FORM.
BY THE WAY, IF I HAVE ANY MORE ARTICLES PUBLISHED IN THE
FUTURE, WE WOULD PREFER TO HAVE SOF-DISKS. I'M NOT SO SURE
THAT THE FILE TRANSFER ROUTINE IS WORTH PUBLISHING, BUT I
THOUGHT I SHOULD SEND IT ANYWAY.

	IF YOU HAVE ANY IDEAS FOR ARTICLES YOU WOULD LIKE TO
SEE, JUST LET ME KNOW - THE BALL'S IN YOUR COURT. ACTUALLY,
YOU MIGHT LET ME KNOW WHAT TYPE OF ARTICLES THE READERS SEEM
TO PREFER THE MOST.

			SINCERELY,


		A POOR MAN'S SOUNDWARE

	THE RS-232 PORT ON THE CCII CAN BE USED TO PRODUCE
A WIDE VARIETY OF SOUNDS WITH A LITTLE ASSEMBLY LANGUAGE
PROGRAMMING. CAP ELECTRONICS HAVE TAKEN ADVANTAGE OF THIS
WITH THEIR "SOUNDWARE", AND IN FACT THEY HAVE A WHOLE LINE
OF GAMES WHICH INCORPORATE SOUND. (I MIGHT ADD THAT THE DEMO
DISK THAT COMES WITH SOUNDWARE CONTAINS SOME OF THE BEST-
WRITTEN SOFTWARE I HAVE SEEN.)

	WHAT MANY PEOPLE DO NOT KNOW IS THAT IT IS NOT REALLY
NECESSARY TO BUY THE SOUNDWARE TO PLAY GAMES THAT USE SOUNDS.
THIS SIMPLE CIRCUIT BELOW ALLOWS YOU TO RUN PROGRAMS THAT ARE
WRITTEN TO USE SOUNDWARE AND GET THE SAME SOUNDS. THE WHOLE
THING COSTS LESS THAN $4 THIS WAY, BUT OF COURSE, YOU DO NOT
GET THE DEMO DISKETTE AND THE SOUND OUTPUT IS NOT VERY LOUD.
(YOU CAN REPLACE THE SPEAKER WITH A STEREO AMP IN THE CIRCUIT
BELOW IF YOU REALLY WANT TO BLOW YOUR NEIGHBOURS AWAY WITH
FLYING SAUCERS, LASERS, ETC.) THE COMPONENTS MAY BE CONNECTED
IN ANY ORDER, AND IT DOES NOT MATTER WHICH WAY ROUND.

EDGE CONNECTOR    MODEM PLUG
     (J2)           PIN #
                              1K       0.01UF
       3 ----------> 2

                                                   8-OHM
                                                 SPEAKER

       1 ----------> 1

RADIO SHACK PART NUMBERS:
   1K RESISTOR       = 271-023
   0.01 UF CAPACITOR = 272-1051
   2" 8-OHM SPEAKER  = 40-245



NOTE: CATHY - YOU MAY WANT TO LEAVE THIS OUT, AT YOUR
DISCRETION, BECAUSE IT MAKES COMPUCOLOR LOOK BAD.

	CAP ELECTRONICS SELLS SOUNDWARE FOR $39.95, BUT IT
	COSTS $49.95 FROM COMPUCOLOR. THE ADDRESS IS:
	CAP ELECTRONICS
	1884 SHULMAN AVE.,
	SAN JOSE, CA 95124
	PHONE (408) 371-4120

	TRANSFERRING BASIC FILES FROM OTHER COMPUTERS

	THE PROGRAM BELOW IS A HANDY LITTLE ROUTINE THAT WILL
ALLOW YOU TO TRANSFER BASIC PROGRAMS FROM ANY OTHER COMPUTER
THROUGH THE RS-232 PORT. THE OTHER COMPUTER SIMPLY SENDS THE
FILE AS ASCII TEXT E.G. BY "LIST"ING THE PROGRAM WITH THE
OUTPUT GOING TO THE RS-232 PORT IF THE OTHER MACHINE IS A
COMPUCOLOR FOR EXAMPLE.

	I HAVE USED THIS ROUTINE TO TRANSFER FILES OVER THE
PHONE FROM AN IBM 370/158 AND A HONEYWELL 68/60. IF YOU ARE
INTERESTED IN TRANSFERRING FILES IN THIS FASHION, YOU WILL
NEED A MODEM. IN ORDER TO TRANSFER FILES FROM ANOTHER HOBBY
COMPUTER USING THE PHONE E.G. A TRS-80, IT IS ESSENTIAL THAT
EITHER YOU OR THE OTHER PERSON HAVE A MODEM WHICH CAN BOTH
ANSWER AND ORIGINATE. (RADIO SHACK PART NO. 26-1171 FOR
EXAMPLE.) THIS IS BECAUSE ONE OF YOU MUST ACT AS THE "COMPUTER"
WHILE THE OTHER PRETENDS TO BE A "TERMINAL".

	TO TRANSFER FILES FROM ANOTHER HOBBY COMPUTER WHICH YOU
PLAN TO CONNECT DIRECTLY TO THE COMPUCOLOR, YOU HAVE TO MAKE
AN INTERCONNECTING CABLE. REMEMBER TO SWITCH THE WIRES TO PINS
2 AND 3 ON ONE OF THE PLUGS ON THIS CABLE. (THE "COMPUTER"
VERSUS "TERMINAL" PROBLEM AGAIN.)

	TO USE THE PROGRAM, DIAL-UP (OR PLUG IN TO) THE OTHER
COMPUTER AND ESTABLISH COMMUNICATIONS. HIT CPU RESET AND TYPE:
     ESC R 3 ESC F (FOR FULL DUPLEX) OR H (HALF DUPLEX)
THIS SETS UP FOR 300 BAUD, AND THE ROUTINE WILL NOT WORK
ABOVE THIS BECAUSE BASIC CANNOT ACCEPT THE FILE FAST ENOUGH.

	YOU CAN HIT CONTROL-SHIFT CPU RESET AT ANY TIME AND
GET INTO BASIC. THE OTHER COMPUTER WILL STAY CONNECTED,
AND YOU CAN GET BACK TO IT LATER BY HITTING CPU RESET AGAIN
AND ENTERING THE BAUD RATE AS ABOVE.

	ONCE CONNECTED OK, GET INTO BASIC AND LOAD THE TRANSFER
PROGRAM BELOW. RUN THE PROGRAM, AND SIT BACK AND WATCH AS THE
FILE IS TRANSFERRED (IT APPEARS ON THE SCREEN). WHEN IT IS
FINISHED, SAVE IT ON DISK THEN GET BACK INTO TERMINAL COMMUN-
ICATIONS MODE AS EXPLAINED ABOVE. ANYTHING THAT THE OTHER
COMPUTER SENDS WHICH BASIC DOES NOT UNDERSTAND WILL SIMPLY
CAUSE A SN (SYNTAX) ERROR. FOR EXAMPLE, I GET AN "EOF" FROM
THE TEXT EDITOR ON THE IBM MACHINE AT THE END OF THE FILE.

	THE PROGRAM WILL ASK YOU FOR A COMMAND LINE, WHICH
IS SENT TO THE OTHER COMPUTER TO INITIATE THE TRANSFER. I
USUALLY GET INTO THE TEXT EDITOR ON THE OTHER MACHINE, SO
THE COMMAND IS SOMETHING LIKE "T 100" WHICH TYPES OUT 100
LINES OF THE BASIC FILE I WANT TO TRANSFER. THIS PART IS VERY
DEPENDENT ON THE OTHER MACHINE YOU ARE CONNECTED TO. IF IT IS
A HOBBY COMPUTER, YOU MAY WANT TO SAY "OK FRED, SEND THE FILE",
OR SOMETHING LIKE THAT. NOTE THAT THE QUOTES ARE REQUIRED IF
THE COMMAND LINE CONTAINS SPACES.

	THERE IS ONE SLIGHT BUG IN THE ROUTINE, WHICH IS A
PROPERTY OF BASIC ON THE COMPUCOLOR. IF THERE ARE MORE THAN
FOUR (4) VARIABLE NAMES IN A LINE AS IT IS TRANSFERRED, THE
LINE-FEED AT THE END OF THE LINE WILL BE INSERTED INTO THE
PROGRAM IN MEMORY. THIS IS BECAUSE BASIC TAKES TOO LONG
WORKING OUT THE ADDRESSES OF THE VARIABLES, AND MEANWHILE THE
LINE-FEED ARRIVES. NORMALLY BASIC IGNORES LINE-FEEDS, BUT IT
IS PREOCCUPIED AND DOESN'T SEE IT SLIP BY.

	THERE ARE TWO SOLUTIONS TO THIS PROBLEM: EITHER USE
FREDI AND EDIT THEM OUT (THEY APPEAR IN RED, SO THIS IS EASY);
OR WRITE A PROGRAM ON THE OTHER MACHINE THAT WILL WAIT A WHILE
AFTER A LINE IS SENT BETWEEN SENDING THE CARRIAGE-RETURN AND
LINE-FEED. THIS CAN BE DONE EASILY IN FORTRAN AND PASCAL.
BETTER STILL, DO NOT SEND A LINE-FEED (SEND NULLS IF NECESSARY).
HOWEVER, THIS MAY REQUIRE AN ASSEMBLY LANGUAGE PROGRAM ON THE
OTHER MACHINE.

	THE PROGRAM ILLUSTRATES THE USE OF THE USER INPUT FLAG,
NUMBER 31 AND THE BASIC INPUT FLAG, NUMBER 23. THE ASSEMBLY
LANGUAGE CODE WHICH IT STORES IN MEMORY IS AS FOLLOWS:

   XFER: MOV A,E     ;CHR IS IN E
         ANI 7FH     ;MASK OUT PARITY
         MOV E,A     ;SAVE THE CHR
         LXI H,FLAG  ;GET BASIC INPUT FLAG
         JMP 398CH   ;INDEX INTO I/O JUMP TABLE
   FLAG: DB  23

	IT MASKS OUT THE PARITY BIT ON CHARACTERS RECEIVED
FROM THE RS-232 PORT, AND CALLS A ROUTINE INSIDE FCS. THE
ADDRESS OF THIS ROUTINE IS FOR VERSION 6.78 OF FCS, AND I DO
NOT KNOW THE EQUIVALENT FOR VERSION 8.79, BUT I SUSPECT IT IS
DIFFERENT. OTHER "FILTERING" CAN BE DONE BY XFER, SUCH AS
REMOVING CONTROL CHARACTERS. (IF THE OTHER MACHINE IS A CCII
YOU WILL LOSE COLOR CODES IF YOU CHOP OUT ALL CONTROL CHAR-
ACTERS.) ALSO, IF THE HOST (SENDING) COMPUTER SENDS ONLY
ZEROS FOR PARITY BITS, THEN THIS ASSEMBLY LANGUAGE IS NOT
NECESSARY, AND THE WHOLE ROUTINE REDUCES TO THREE LINES -
65170, 65180, AND 65190 - WITH THE 31 REPLACED BY 23 IN
LINE 65190. HOWEVER, NEITHER OF THE MACHINES I USE ARE THIS
CO-OPERATIVE.

	LINES 65100 TO 65140 ARE THE USUAL METHOD OF LOADING
A MACHINE CODE ROUTINE. IN LINE 65160 A JUMP TO XFER IS SET
UP AT THE USER INPUT FLAG JUMP VECTOR, 33221 (81C5H). THEN
INTERRUPTS ARE ENABLED, THE BAUD RATE SET AND OUTPUT IS
DIRECTED TO THE RS-232 PORT IN LINE 65180. NOTE THE USE OF
'CHR$(13);' TO OUTPUT A CARRIAGE RETURN, BUT NO LINE-FEED,
AFTER THE COMMAND IS SENT IN LINE 65190. PRINTED OUTPUT IS
RETURNED TO THE DISPLAY, THE INPUT FROM THE RS-232 PORT IS
DIRECTED THROUGH THE USER INPUT VECTOR, AND THE PROGRAM EXITS.
BASIC IS NOW IN THE NORMAL "READY" MODE, AND THE TRANSFER
TAKES PLACE VIA INTERRUPTS.

	THE END OF BASIC GETS MOVED BACK EACH TIME THE PROGRAM
IS RUN, SO IT IS NECESSARY TO RE-INITIALIZE BASIC BETWEEN
SUCCESSIVE FILE TRANSFERS. IN FACT, YOU CAN MERGE TWO FILES
(EVEN WITH SOME LINE NUMBERS IN COMMON - THE SECOND FILE WINS)
BY TRANSFERRING THEM ONE AFTER THE OTHER WITHOUT RE-
INITALIZING BASIC.

	ALSO, THE TRANSFER ROUTINE WILL BE TACKED ON
THE END OF THE TRANSFERRED FILE, UNLESS THERE ARE DUPLICATE
LINE NUMBERS IN THE FILE (65000 AND UP). IT IS ALRIGHT TO
HAVE DUPLICATE LINE NUMBERS, BECAUSE THE PROGRAM'S WORK IS DONE
AS SOON AS IT HAS EXECUTED, WHICH IS BEFORE THE TRANSFER
STARTS I.E. THE PROGRAM ONLY LOADS AN ASSEMBLY LANGUAGE
INTERRUPT ROUTINE, BUT DOES NOT PERFORM THE ACTUAL TRANSFER.

	PROBABLY THE HARDEST PART OF THE WHOLE THING
WILL BE WORKING OUT A COMMAND LINE TO INITIATE THE TRANSFER.
OF COURSE, YOU MAY ALSO HAVE TO TRANSLATE FROM THE DIALECT
OF BASIC USED ON THE OTHER MACHINE INTO COMPUCOLOR BASIC.

	THERE ARE MUCH NEATER METHODS OF TRANSFERRING FILES,
BUT THIS ONE IS NICE JUST BECAUSE IT IS SO COMPACT. ANY
SUGGESTIONS ARE WELCOMED, AND IT SHOULD BE POINTED OUT THAT
COMPUCOLOR IS WORKING ON A COMMUNICATIONS SOF-DISK WHICH
WILL PROBABLY OBSOLETE THIS ROUTINE.