Link to editorial & letters    Link to files
Previous disk program notes    Next disk program notes


Title SCREEN$

Disk 9 program notes


NEW TASWORD CHARS by D.Munro                                    
This conversion program is made up of the following 3 programs:-
                                                                
       "tasnewchar", "charprint" and "INSTRUCT"                 
                                                                
"tasnewchar" converts the COUPE  disc  version  of  TASWORD2  to
enable it to print hard copy  of  various  user  defined graphic
symbols such as pi, mu, rho, square root sign, etc.  by  sending
control codes to set bit image mode 4 followed by 8 to 10  bytes
making up the character.                                        
                                                                
I have been trying for some time to find a  way  of  doing  this
because my printer- an Epsom RX80FT bought  in  1983-  does  not
allow any changes in the standard character sets or fonts. But I
frequently need symbols like those  mentioned  when typing   out
maths & electronic test papers etc. for F.E. students.   So  the
program may well have limited interest to other SDC members  but
you never know. Anyway, it has given my printer a new  lease  of
life and postponed the day when it will have to be replaced by a
more modern one.                                                
The program is not transferable to the original cassette version
of TASWORD2 since the calls to the printer are quite different. 
Probably the same applies to TW3 but cannot say for certain as I
do not have TW3. However, the conversion  is not very  difficult
and anyone with the other  versions should  be able  t  mak  the
necessary changes.                                              
                                                                
Before using  "tasnewchar",  a  newly  formatted  disc  must  be
prepared and a separate version of "tw" and the  "twcode"  saved
to the disc, after changing the relevant Basic lines  where "tw"
& "twcode" appear, to "tw4" and "tw4code" and changing the code 
start and length to 54000,11535. The text file "INSTRUCT"  gives
full details of the changes needed.                             
                                                                
Once  this  has  been  done,  loading  "tasnewchar"  autoruns  &
converts the "tw4" version  to  a  new  version  containing  the
modified code needed to make the bit image mode work.           
This final version is resaved to  the  disc.  The  program  also
makes the necessary changes to the HELP page.                   
A demo text file "charprint" can  then  be  loaded  from  within
"tw4" and printed out as hard copy (see sample enclosed).       
There are several REM's which explain the main functions  of the
program, and for anyone wanting to add/change the symbols, it is
a matter of changing the codes in the DATA lines  (there  are  4
unused character spaces).                                       
A word of caution: as can be seen from the DATA BIN  statements,
these are written back-to-front and sideways on  to  the  normal
view. This is due to the way the pins in the print head form the
character from left to right with the MSB for  the  top  of  the
character and the  LSB for the bottom of the character.         
Also in the bit image mode the ninth pin  cannot  be  fired  and
this means characters with descenders will be slightly above the
line of print e.g. the character rho.                           
In each group of 16 bytes, the first 5 are typically:           
27,42,4,10,0                                                    
27 = CTRL CODE coming next                                      
42 = Set bit image mode                                         
4  = Mode 4                                                     
10 = no. of bytes to follow                                     
0  = no. not more than 255                                      
The 10 can be 8 or 9 but 10 is the maximum. The  number  depends
on the character shape. But  it  must  agree  exactly  with  the
number of bytes forming the character, neither more nor less.   
The next 8 to 10 bytes are the character.                       
Finally, the next 3, 2, or 1 bytes must be 255 as  this  is  the
end marker. This means that 255 must not be used  in  the  bytes
forming the character.                                          
Also, any gaps must be filled with 255's and this is  why  there
are blocks of 255's in commands such as "emphasised" print which
only need 2 or 3 bytes each to set/cancel the command.          
A look at the listing should clarify this.                      
                                                                
Finally, a brief look at the machine coding. The 256 data  bytes
making up the 16 characters are stored in a table  at  54000  to
54255. The print routine at 60830 to 60859 is modified  to  look
up this new table instead of the table of 16 by 4 bytes at 60860
to 60923. Of course, this means that using the A  Alter  command
in the main tasword menu will have  no  obvious  effect  as  the
original table is now bypassed.                                 
                                                                
Addresses 54000 to 54255 do not seem to be used by TASWORD2  and
all the normal functions including block move work.             
54000 is also well above the end of  file  marker  at  53248  so
text space is unchanged.                                        
                                                                
The code is also  modified  to  multiply  the  value  in  the   
 A  Register by 16 instead of 4 as it now has to look  up  a  16
block in  the  table.  Fortunately,   there   were   two   NOP's
conveniently located allowing insertion of the two extra ADD A,A
commands.                                                       
                                                                
Dave, this letter has become rather lengthy  but  feel  free  to
edit it. Hopefully, someone out there will  find  it  useful.  I
would welcome any comments, especially helpful ones!            
Thanks again for your help with my emulator  queries.           
I have nothing but admiration for the programming skills of  the
contributors  to  the  Supplement.  Wishing  you  and  the  team
continued success!                                              
________________________________________________________________
                                                                
INDEX by Dave                                                   
                                                                
Yes, we finally have a Supplement  index  system.  It's  only  a
simple one, but I think a few pointers wouldn't come amiss.     
First use the SAVE option to put the index onto  a  fresh  disc.
This will help in the future, when you have to update it.       
The program is saved as "INDEX" and "INCODE", but you may change
"INDEX" to "AUTO" if you wish. Don't change "INCODE" though,  or
the program won't load.                                         
The copy on this disc has the first 8  issues  already  in,  and
there is an update for issue 9 also on this  disc.  This  is  to
allow you to practice updating.                                 
                                                                
When loaded, you will see 3 options, plus, how many  issues  are
in the datafile already, (8 in this case).                      
                                                                
Option 1 allows you to view the issues, starting with  issue  1.
Whilst on view, you can print out, go to next issue, go to  last
issue, print out all issues or choose which issue to view.      
You can also return to the main menu.                           
Option 2  allows  you  to  save  the  data  after  updating  for
instance.  The  data  is   always   saved   as   "INCODE",   and
overwrites the previous "INCODE" file.                          
                                                                
Option 3 is for adding an issue. On each issue of the  mag  from
no 9 onwards, there will be a file called "IS"  plus  the  issue
number. e.g. IS9.                                               
You will be asked which issue to load and after the correct disc
has been put into drive one, the new data will be loaded in with
the current data. You can now use option 1 to view as explained,
or option 2 to save off the new block of data.                  
                                                                
Issues MUST be loaded in numerical order, otherwise, when viewed
the wrong issue will be under  the  wrong  heading.  So  if  for
instance the program says that there are 10  issues  in  memory,
issue 11 must be loaded next, before issue 12.                  
I have copies of all the "IS" files if you get into trouble,  or
miss an issue.                                                  
                                                                
As I mentioned, issue 9 is not in the main data, so here's  what
to do..                                                         
1) Load "INDEX"                                                 
2) Select "3"                                                   
3) Input "9" when asked which issue to load.                    
4) Insert issue 9 and the new data will be loaded, and you will 
   be brought back to the main menu.                            
5) Select "2" and replace the "INDEX" disc in drive one.        
   The data on the "INDEX" disc will be updated.                
                                                                
You have to do this for every issue from 9 onwards, to keep  the
index up to date.                                               
                                                                
I've written the program in BASIC, so you can  modify  PRINTOUTS
etc. to your own taste.                                         
                                                                
If you get into serious trouble with the  program,  simply  load
issue 9 again, and resave  the  INDEX  to  a  fresh  disc,  then
re-read all the subsequent issues in and save the new data off. 
________________________________________________________________
                                                                
KEYBOARD INFO by John McCabe                                    
                                                                
Keyboard is designed for users of  word  processors  and  flight
simulators, etc. who would find it useful to  have  to  hand  an
aide-memoire showing which command is assigned to which key.  As
an example, load "TAS.KBD".                                     
I have  provided  a  skeleton  keyboard  layout  which  you  may
'customise' and print for your own use.                         
This program is an improvement on the 'Overlay' Tas file I      
published some time ago in the SDC newsletter:  it  is  designed
for the Sam and prints out in one pass.                         
________________________________________________________________
                                                                
EXAMINMEM by John McCabe                                        
                                                                
Simply shows in  decimal  what  is  in  memory,  and  the  ASCII
equivalent if desired.                                          
________________________________________________________________
                                                                
                                                                
S-S-Sampler  By Matthew Collinge (sort of!)                     
                                                                
Well after reading the results of a sampler in YS a  few  months
back I felt it was time to convert an old  speccy  sampler  onto
the Coupe. But instead of just converting it and  saving  it  to
disk I customised it a lot so that it  will  use  some  commands
exclusive to the Coupe. I have  a  feeling  that  it  was  first
printed in the first few issues of YS but i'm not  sure.  It  is
certainly much better than the sampler printed in YS or the  one
in issue 4 of the Supplement                                    
Firstly connect a tape/CD/DAT/or just about anything to the  ear
socket and select a very loud volume (not too loud though as  it
may distort, then you are ready to  sample  something.  Use  the
keys Q and W to set the place in memory that you want the sample
to start at, then use O and P to set the length. When  it  loads
up the default is maximum memory. < and  >  control  the  sample
speed (even when recording the sample)  a  small  bar  indicates
fast, and a large one (oo-er)  indicates  slow.  Once  you  have
sampled something you can press T and go into the  tuning  stage
press the number keys to select a bar, then < and  >  to  change
the speed, or Q to quit. You can also make a graph of the  sound
by pressing G and entering the start address  (normally  30000).
Edit is supposed to  cut  down  the  sample  but  doesn't  work,
instead it just plays the tune (if anybody can fix this  problem
then please write in).                                          
                                                                
Could someone also see if they can utilise all of  the  avalable
memory as at the moment it only uses the part  below  65536.  To
get the best results from  this  sampler  you'll  just  have  to
fiddle with it and find the best volumes and  tone  levels  etc.
Save will save the sample with the extension  .SAM  so only  six
letter file names should be entered. Load only  needs  the  file
name and not the extension.                                     
                                                                
As yet I havn't tried to produce a stand-alone sample but after 
my GCSE exams are over I will have a go.                        
                                                                
                                                                
STOP PRESS NEW FEATURE...STOP PRESS NEW FEATURE...STOP PRESS NEW
                                                                
I have just added a new feature which is used to save to RAM and
not to disk, you can save up to 4 files in  this  way.  All  you
have to do is to press S to save in the normal way then  at  the
prompt type R for RAM save, select a page  to  put  it  in  then
press return, the  program will then return to  the  main  menu.
The page number is like a very limited file  name,  so  to  load
from the file 1 in RAM just press L then type R then enter 1 and
the sample will be taken from memory and put into  the  sampler.
It is reletively easy to change the listing to add further pages
of RAM for 512K machines so I will let  you  do  that.  I  would
still appreciate someone writing a mash program so that a sample
can use the whole of the memory above  65535,  though  it  would
mean this new feature would have to be scrapped.                
________________________________________________________________
                                                                
Key List - By Matthew Collinge                                  
                                                                
   This small program will display  a  list  of  all  the  basic
commands accepted by SAM (the list will change  when  SamDOS  or
MasterDOS is installed). This list can be useful  when  you  are
looking for new commands  and hidden commands. It also has other
uses e.g:-                                                      
Say for some reason you wanted  to  catch  the  attention  of  a
person  DIRing your disk, more than a ten letter file name would
do it, so using the list you can form very long filenames.      
        "LOAD ME NOW!!" might be a possibility.                 
To save a file like this look down the  list  for  corresponding
commands, eg LOAD, note the number down then  save  the  program
like this:                                                      
           SAVE CHR$ 149+"ME NOW!!"                             
By selecting the program names carefully you can  create  really
long titles.                                                    
                                                                
     NOTE:- To load the programs you either have to type        
         the name exactly as you saved it, or by its number.    
________________________________________________________________
                                                                
BIGPRINT by Dave Tonks                                          
                                                                
If you ever wanted to make quick text title screens, this is the
program for you. It lets you print huge  32x32  pixel  character
sets onto the screen at any pixel position, using  3  predefined
sets stored in memory.                                          
The basic controls are as follows:-                             
C) clears the text work screen.                                 
H) puts the cursor square back to the top left of the screen.   
ENTER) moves the cursor 32 pixels down and back to the  left  of
      the screen.                                               
SPACE) takes you to the input screen.                           
S) takes you to the SAVE screen option.                         
To use the program, position the cursor square  where  you  want
the first character to be printed. Now press  "SPACE".  You  can
now input your text, which can only be maximum  of  8 characters
(any extras are ignored).                                       
Now press "ENTER" and your text will be printed  on  the  screen
from where you specified. If the text flows off the  right  hand
edge of the screen it will be ignored. The  cursor  can  now  be
repositioned and more text added if required.                   
When you are satisfied with the result, pressing "S" will  clear
the screen, and ask for a filename.  Your  screen  will  now  be
saved to disc as a SCREEN$.                                     
There are 3 fonts to choose from, and pressing "1", "2"  or  "3"
will swap between them. Note  that  swapping  fonts  clears  any
current text...                                                 
                                                                
For the technically  minded,  the  fonts  are  made  up  of  the
characters 32 to 90 inclusive,  which  does  not  include  lower
case, but includes numbers and most punctuation. Each  character
takes 515 bytes of memory giving 30385 bytes for the whole  set.
At  the  beginning  of  each  set  are  16  bytes   of   PALETTE
information, so the whole set is 30401 bytes long.              
Sets must be defined on a 32x32  pixel  grid,  and  GRABbed  and
POKED into memory one character after the other.                
If you didn't understand that last bit, don't worry.  In  future
issues I shall be explaining step by step,  how  to  design  and
store your own sets. I also have several other sets which I will
put into future issues for you to use in the program.           
________________________________________________________________
                                                                
                                                                
BANNERS by Darren Talbot                                        
There were quite a few of these banner printing programs  around
in the early days of the Spectrum. Mostly for  use  with  Clives
silver paper printer. This one however, brings the genre  up  to
date with many new options.                                     
You can print out your banner in single or double row text,  you
have a choice of fill patterns and the finished  result  doesn't
look blocky.                                                    
The  program  is  very  easy  to  use,  and  has  step  by  step
instructions contained within it. It prints out to any  kind  of
Epsom compatible printer,  and  if  you  have  a  wide  carriage
printer, you could print your own wallpaper..                   
________________________________________________________________
                                                                
GALLERY (various)                                               
Another look at members' own masterpieces. I'm afraid that space
prevents me putting on many in one issue, but these    will give
you something to look at for a while.                           
                                                                
.                                                               
                                                                
             TASWORD 2 (SAM) BASIC MODS (MIKE HAINE)            
                                                                
    These are some  notes  on  the  modifications  I  have  made
to Tasword 2 (SAM) basic.                                       
                                                                
   1. The original MENU system may be alright for the new  user,
but is cumbersome and slow later on. I have replaced it  with  a
POPUP system with some extra refinements.                       
                                                                
    1.1  F9 still returns you from TEXT mode to the menu. To get
back  to  TEXT,  just  press  RETURN  (NOT  "V"  as   the   menu
suggests!!!)                                                    
                                                                
    1.2  "Q" gives you the option to change paper and  pen.  The
values put in should range from 0 to 15 (I tend to use 14 & 0) .
The border can be set in basic such as BORDER 0. (ESC  from  the
menu then BORDER 0, then GOTO 1 gets you back to MENU).  (Having
found your best choice you can save the version by "T" from  the
main menu).                                                     
    1.3 LOAD (PRESS "L"): This gives you an INPUT  query  for  a
name. For example I use a disc for  letters.  On  it  I  have  a
number of letterheads which were written  and  saved  under  the
names adr1,adr2 etc. So To start a letter I  just  LOAD  "adr1".
Note that the letter header has a line "  TO  ??????????:   DATE
HERE". This reminds me where to put the  senders  name  and  the
date which I just type in over the latter.                      
      If you want to remind yourself of the names of  the  items
on the disc you press either "c" or "d". On the disc I  use  for
letters the version of TAS 2 has all  the  letters  saved  under
names "LC120NAME". The l means a letter C is the  month  (12  in
hexadecimal) 20 is 20th. 1=1991 and the name (often abreviated).
This system I used on the Spectrum.It could be modified  now  to
use the better DOS facilities on SAM. "c" gives a full directory
list of all the items beginning with  l:whereas  "d"  gives  the
whole directory: At the bottom an INPUT query allows you to type
in the name for loading or, by pressing RETURN, return to menu. 
                                                                
                                                                
                                                                
    1.4 "SAVE"                                                  
     It will be noted that the MENU page now shows the  name  of
the last item loaded: This is useful if, as often  happens  with
me, one wants to put a text on one side to continue  later.  One
then presses "s". First you get a query "C FOR DIR?"  Press  "y"
is yes  or Any other key if not. You now have the name query. If
you want a new name then type it in and RETURN. If you  want  to
resave under the same name shown  on   he  screen   just   press
RETURN. (A BIT OF CARE MAY BE REQUIRED HERE, I HAVE             
WRITTEN a LETTER, THEN SAVED, THEN SCRUBBED THE TEXT  ON  SCREEN
AND DONE ANOTHER AND GONE BACK AND SAVED  WITHOUT  CHANGING  THE
NAME!!!! IE OVER THE OTHER ONE!!!!                              
                                                                
    1.5 "MERGE" Same as load but allows one to merge  some  text
to the end of whatever is already there.(In fact LOAD does  this
anyway so MERGE is surperfluous).                               
                                                                
    1.6  "Erase"  To  erase  items  from  disk.  Note  that   on
completeion it comes back for more. RETURN for the menu!        
                                                                
    1.7 "Tas save" "T" Saves the basic prog. but not the Tasword
code: to save the latter goto basic and goto 1520:. GOTO 1 takes
you back from basic to the prog. (NOT RUN!!!!!!!!)              
                                                                
    2.  2 COLUMN DUMP.                                          
       The normal dump for the T2 text follows the 64  character
lines shown on the screen. Now, in condensed mode, which I  find
just as easy, if not easier, to read as PICA, 137 chars can be  
printed on each line. This means that 2 columns of 64 chars  can
be printed with an adequate gap between them.In  this  mode  the
block graphic controls for underline etc. are  acted  on  unless
they attempt to change from condensed mode, in which  case  they
are disregarded.                                                
       In operation the routine first does a little calculation.
It is going to print up to 116 lines per A4  sheet;  ie  58  per
column. If the calculation finds the number of lines in the text
is less that 116 then  it  finds  the  midpoint  and  hence  the
address of the start of the half way  line.  Say  there  are  65
lines in total then it prints line 1  and  line  33  across  the
sheet followed by 1 & 34 etc.                                   
       If,on the other hand the line number exceeds 116 it  will
print line 1 & 58 then 2 & 59 etc. down to  the  bottom  of  the
page.It then skips on to the top of  the  next  sheet  and  does
the calculation again for the number of lines left.....         
        The first & last lines to be printed can still be  fixed
from the menu as for the normal print mode.                     
        [Nb. The skip facility has also  been  included  in  the
normal print mode. It was nott in the original.                 
     PLEASE  DO  LET  ME  HAVE  YOUR  REACTIONS..ANY   PROBLEMS.
SUGGESTIONS OR QUERIES.                                         
 Mike Haine.,RIVERSIDE,WELSH RD.,OFFCHURCH,LEAMINGTON CV33 9AH  
________________________________________________________________
                                                                
TAPE-DISC by Mike Haine                                         
A very useful little program for all  you  Spectrum  owners  who
still have lots of code files on tape.                          
It reads in the tape  and  saves  to  disc  quite  automatically
multiple files. This saves many hours of typing in filenames  as
this program does it for you.                                   
                                                                
ICON CLIP                                                       
A slight change in clipart style this issue. A  whole  screenful
of small, but perfectly formed icons for you to GRAB and use  in
that ultimate disc utility that you are writing!!!              
                                                                
                                                                
PATTERN by K. Montgomery                                        
Another one of those amazing pattern routines that show the Sam 
can do very clever things, with just a little BASIC.            
                                                                
                                                                
SCREENMOVE by K. Montgomery                                     
This is a series of DEF PROCs for use in your own programs. They
are basically screen movers which will bring on  a  screen  from
any address in memory, in one of several unusual ways.          
There  is  a  demo  within  the  program,  and  also   a   fully
explaination on how to use them.                                
                                                                
                                                                
                                                                
WINDOWS by Andy Wright                                          
The Sam can handle a WINDOW command to give you control of  only
part of the screen. In this DEF PROC Andy lets you use  multiple
windows, each one remembering it's colour, PRINT position etc.  
Tere is a demo of the routine working and the listing  is  fully
REMmed for you to see what's going on.                          
                                                                
SNOOKER by Robin Clarke                                         
A nice simple little reaction game based on the game of snooker.
To "HIT" a ball, the flashing marker  must  be  stopped  at  the
correct place otherwise play reverts to the other player.       
I was absorbed for quite a while with this one.  (I  think  only
having 1 control key is what I like best).                      
                                                                
FINDER                                                          
A useful developement tool is this one. What it does is  sit  at
the end of the program that you are  writing,  and  when  asked,
will list out any lines that contain the string you  have  asked
it to look for. There are several ways of listing, all of  which
are explained within the program.                               
GRAB-PUT LESSON by Dave & Brian                                 
Another in the series of short explainations of BASIC commands. 
This issue deals with how to save bits of  display  into  memory
and put the back when required.                                 
The article is written in a "demo" fashion, and it  is  kept  to
the simplest form so  that  absolute  beginners  can  grasp  the
principles.                                                     
This will be useful in future issues, as I am going  to  explain
how the BIGPRINT program in this issue works, and  how  to  make
and save you own fonts for it. This will require that you have a
basic knowledge of GRAB, PUT and MEM$ which now have all been ci
overed in various issues.                                       
Contained in the program is a  screen  diagram,  explaining  the
screen layout of the Sam in a little more detail.               
                                                                
                                                                
                                                                
                                                                
                                                                
.                                                               

Link to the top of this document    Link to the main index
Link to editorial & letters    Link to files
Previous disk program notes    Next disk program notes