 +-------------------------------+
 !                               !
 !    CHAINARE f|r ABC80         !
 !    bruksanvisning             !
 !    Anders Franz`n <5258>      !
 !    Stockholm 1986             !
 !                               !
 +-------------------------------+




BESKRIVNING
-----------

Det  finns  ett program som heter CHAINARE f|r ABC800-serien
men detta {r ett specialhack f|r  ABC80.  Programmet  klarar
alla  checksummor  och  funkar b}de f|r 16K och 32K RAM. Man
b|r ha tillg}ng till flexskiva f|r att  ha  n}gon  nytta  av
programmet.  Som  extra  tillbeh|r  finns ett program kallat
MENY.

Normalt  n{r  man  k|r  BASIC-program  kan  de  avslutas med
CTRL-C, med instruktionen END eller om  sista  raden  i  ett
program   exekverats   klart.  Vad  som  d}  h{nder  {r  att
BASIC-tolken tar kommandot och skriver ut texten "ABC80"  p}
bildsk{rmen. Sedan v{ntar datorn p} inmatning av en rad fr}n
tangentbordet.

Programmet  CHAINARE  l{gger  in en snutt maskinkod i minnet
som f|rhindrar detta. N{r CTRL-C trycks  eller  ett  program
som  exekveras  tar  slut tar snutten kontroll |ver maskinen
och  utf|r  ett  valfritt  BASIC-kommando  eller  en  valfri
BASIC-rad.



ANV[NDANDE
----------

Om man listar programmet CHAINARE ser man att det  finns  en
str{ngvariabel  som tilldelas ett v{rde i programmet. N{r s}
programmet  exekveras  placeras  detta  str{ngv{rde  p}   en
speciell  plats  i  minnet.  V{rdet p} str{ngen ska vara ett
BASIC-kommando (t ex "RUN") eller en BASIC-rad best}ende  av
en eller flera BASIC-satser (t ex "PRINT : PRINT").

CHAINARE  l{mnar  sedan str{ngens v{rde till BASIC-tolken s}
att denna kan utf|ra det som anges d{r. Om det  finns  n}got
syntaxfel i str{ngens v{rde avslutas programmet CHAINARE som
fortfarande finns i datorns minne.  Efter  att  str{ngv{rdet
r{ttats kan ett nytt f|rs|k att k|ra programmet g|ras.

Om  v{rdet  p} str{ngen {r korrekt tar tolken kontrollen och
utf|r det som angetts. Det  kan  vara  exekveringen  av  ett
valfritt  program,  t  ex  "RUN  LIB".  N{r hela str{ngen {r
f{rdigbehandlad, i exemplet n{r programmet LIB avlutats (med
CTRL-C  eller  programslut),  tar CHAINARE den angivna raden
och f|rs|ker exekvera kommandot {n en g}ng.  Programmet  LIB
kommer s}ledes att exekveras igen!



VAD MAN KAN HA DET HELA TILL
----------------------------

Med hj{lp av CHAINARE kan man f} menystartade  program.  Det
betyder  att  du  p}  en meny v{ljer vilket BASIC-program du
vill k|ra. N{r detta  program  avslutas,  med  CTRL-C  eller
programslut,  visas  }nyo menyn |ver alla BASIC-program. F|r
att }stadkomma detta anges "RUN MENY" som  str{ngv{rde  till
programmet  CHAINARE. Om ett program som heter MENY finns p}
flexskivan kommer detta att exekveras. MENY {r d}  l{mpligen
ett program som ger anv{ndaren en lista p} BASIC-program att
v{lja bland. N{r ett program p} menyn valts g|r  MENY  CHAIN
till det |nskade programmet.

Som  exempel  kan  n{mnas  vad  f|rfattaren  till denna text
gjort.  P}  en  flexskiva  med  spelprogram  har  programmet
CHAINARE   sparats.  Str{ngvariabeln  i  CHAINARE  tilldelas
v{rdet "RUN MENY". P} samma  skiva  finns  ett  program  som
heter  MENY. N{r MENY exekveras visas en meny p} bildsk{rmen
|ver alla spelprogram som finns p} skivan. N{r  |nskat  spel
selekteras  sker  CHAIN  till  spelet som d} startar. Om man
tr|ttnar p} spelet trycker man CTRL-C  och  kommer  tillbaka
till  MENY.  [ven  n{r  spelet  g}r  till  slut av sig sj{lv
startas MENY. N{r s}ledes leksugna knattar kommer  p}  bes|k
skriver man helt enkelt RUN CHAINARE och sedan kan knattarna
leka b{st de vill. F|r att f|renkla det hela  {nnu  mer  kan
man  d|pa  om  CHAINARE  till  SPEL. F|r att starta systemet
skriver man d} RUN SPEL.



AVSLUTNING
----------

Hur  g|r  man  d}  om  man vill att BASIC-tolken }ter ska f}
kommandot i st{llet f|r CHAINARE? Om ett fel uppst}r s}  att
felrutinen  i  BASIC-tolken  tar  |ver  och  skriver  ut ett
ERR-meddelande l{mnar CHAINARE ifr}n sig kommandot.  Om  man
vill  kunna  l{mna  MENY p} ett snyggt s{tt och }ter hamna i
BASIC m}ste man allts} g|ra s} att man f}r ett fel.  Det  {r
enkelt  gjort  genom  att  skriva  STOP i programmet. Om det
finns ett END i MENY kommer ju MENY att startas igen!



SPECIALTIPS
-----------

Om MENY anv{nds b|r man se till att  alla  program  som  kan
v{ljas {r felfria. Om n}got av dem av n}gon anledning skulle
ge ett felmeddelande kommer man ej tillbaks till  MENY.  F|r
att f} ig}ng systemet m}ste man skriva RUN CHAINARE igen.

Program  som  {r skrivna i assembler kan f|rst|ra CHAINARE i
minnet. F|r att se om det funkar b|r man testa noga. Det g|r
ingenting  om  programmen  anv{nder  egna  interruptrutiner,
CHAINARE anv{nder ej interrupt. Koden till CHAINARE placeras
i  DOS-buffertarna tre, fyra och fem. Det medf|r att program
endast kan ha tv} filer |ppna samtidigt.

En rolig (?) effekt f}r man om man anger ";'Bra program  ';"
som str{ngv{rde i CHAINARE.

