Toeprom Eprom Programmer



	     GEBRUIKSAANWIJZING BESTURINGSPROGRAMMA VOOR MSX-2
	     


WAARSCHUWING: In de eprommer mag geen eprom geplaatst zijn bij het in- of
============  uitschakelen van de computer. Dit heeft tot gevolg, dat op
              meerdere adressen een nul-byte zeer zwaar wordt geprogrammeerd,
              welke moeilijk te wissen blijkt. Dit is een onvolkomenheid in
              de electronische schakeling van de eprommer, waarmee rekening
              gehouden moet worden.




VOORWAARDEN VOOR GEBRUIK VAN DE TOEPROM EPROM PROGRAMMER


Andere cartridges (dan die voor DOS 2 of een harddisk-interface) dienen
VERWIJDERD TE WORDEN voordat de Epromkaart en de I/O-cartridge in een slotkon-
nector worden geplaatst. Dit is een voorzorgsmaatregel om verrassingen uit te
sluiten door konflikten met poortnummers. Bovendien kunnen andere cartridges
geheugen voor zichzelf reserveren op een zodanige wijze, dat het 'TOEPROM'
programma niet over voldoende vrij geheugen kan beschikken. Het programma ge-
bruikt slechts 64k geheugen en is dus geschikt voor elk type MSX-2 computer.

Indien U zeker weet, dat een cartridge geen geheugen reserveert en ook niet de
dezelfde poortnummers gebruikt als TOEPROM (Poortnummers #10 t/m #17 of
#30 t/m #37) dan kan een cartridge in een slotkonnektor blijven zitten.

De juiste tijdsduur van de programmeerpulsen is afhankelijk van de z.g. klok-
frequentie. Computers welke omgebouwd zijn naar een hogere klokfrequentie dan
3.58 MHz (standaard) moeten worden teruggeschakeld naar de standaard klokfre-
quentie. Als een MSX TURBO-R machine wordt gebruikt dient die ook te worden
omgeschakeld van 14 MHz. naar 3.58 MHz. Door deze op te starten met een
diskette in de diskdrive, welke onder DOS1 werd geformatteerd, gebeurt die
omschakeling automatisch.

Een hogere klokfrequentie dan 3.58 Mhz. geeft een kortere pulsduur bij het
programmeren, waardoor de korrekte timing niet meer klopt !!!  Ook is het
mogelijk, dat de Toeprom-kaart niet meer korrekt schakelt indien de
klokfrequentie veel te hoog is, hetgeen tot onvoorspelbare fouten en/of defekt
raken van een Eprom kan leiden. Niet doen dus maar naar 3.58 Mhz. schakelen.

Voor de data uitwisseling tussen geheugen en Eprom gebruikt het programma
het geheugengebied &H4000 t/m &HBFFF (32k). Eproms voor 64k maal 8 (type 27512)
kunnen toch gebruikt worden door 2 x 32k af te werken. Eerst de epromadressen
&H0000 t/m &H7FFF en daarna de epromadressen &H8000 t/m &HFFFF. Voor 27512
eprom's is wel een verloopprint nodig (of wijziging van de Toepromkaart).
Standaard is de Toepromkaart alleen geschikt voor 2764, 27128 en 27256 eprom's.
(Ombouw voor gebruik zonder verloopprintje voor 27512 is mogelijk)



                               OPSTARTEN
                               =========

Bij het inschakelen of resetten van de computer meldt het besturingsprogramma
zijn aanwezigheid op het scherm. Het besturingsprogramma wordt opgeroepen door

vanuit direct mode (basic) het statement 'CALL TOE' of 'CALL TOEPROM in te
typen gevolgd door het drukken van <return>.

Het programma kontroleert eerst of er RAM-geheugen aanwezig is in page 0 & 1
(&H000 - &H7FFF). Zo niet, dan start het programma niet op, doch geeft een
'Syntax error' alsof U een foutief statement had getypt. Vervolgens wordt ge-
kontroleerd of er voldoende vrij geheugen beschikbaar is in page 3. Zo niet,
dan volgt een foutmelding met de aanwijzing om de computer te resetten. Als
alles in orde is meldt het programma zich met een introduktieplaatje, gevolgd
door de boodschap "A moment please" als teken, dat het programma even bezig is
om zich te installeren. Daarbij wordt o.a. geheugen gereserveerd in page 3
als werkgebied voor het 'TOEPROM' programma.

Als na ca. 6 sekonden de installatie gereed is, wordt de genoemde boodschap
vervangen door "Please press space-bar". Als de installatie korter duurt, dan
5 sekonden is dit een teken, dan Uw computer op een te hoge klokfrequentie
werkt en dient U de klokfrequentie alsnog terug te schakelen naar 3.58 MHz.

Het besturingsprogramma wordt geaktiveerd door drukken van de spatiebalk. Als
reaktie daarop wordt helppagina 1 op het scherm gezet met informatie betref-
fende de beschikbare opties en de bijbehorende toetsen, waarmee U die op kunt
roepen. Deze helppagina bevat alle informatie die U nodig heeft. Op de onder-
ste regel vindt U de aanwijzingen hoe U de andere helppagina's kunt oproepen
en de helppagina's kunt verlaten. Als U met de 'H'-toets de helppagina's
opnieuw oproept, verschijnt de laatst getoonde helppagina weer op het scherm.

De andere 4 helppagina's bevatten tabellen voor diverse typen eproms en hun
programmeerwijze. Deze tabellen zijn niet kompleet, doordat er steeds nieuwe
typen worden of zijn uitgebracht. Ze zijn bedoeld als opzoektabel voor de
reeds oudere typen, waarvan de gegevens soms moeilijk terug te vinden zijn.

De 'ESC' toets is (bijna) altijd aktief. U roept daarmee het menuscherm op.
Als U een eenmaal opgeroepen optie wilt afbreken omdat U zich heeft bedacht of
een ongewenste keuze heeft gemaakt, brengt de ESC-toets U weer terug naar het
menuscherm om opnieuw te beginnen. De toetsen welke U voor het oproepen van
de speciale opties nodig heeft staan vermeld op helppagina 1.


                            BEVEILIGINGEN
			   

Het programma is beveiligd tegen het maken van verkeerde keuzes en/of onjuiste
instellingen. Die worden niet geaccepteerd. D.m.v. teksten en berichten zult
U worden geinformeerd omtrent de gang van zaken en de resultaten of U zult aan-
wijzingen krijgen wat U moet doen als er iets fout dreigt te gaan. Afhankelijk
van door U gemaakte keuzes, worden de bijbehorende basis-instellingen automa-
tisch gekozen. Die kunt U desgewenst alsnog zelf aanpassen om aan afwijkende
verlangens te voldoen. Het programma is 'gekbestendig'.

Als een funktie 'loopt' mag vanzelfsprekend geen eprom gewisseld worden. Op elk
ander moment kan dit veilig gebeuren, mits men er rekening mee houdt, dat pen
28 van het eprom voetje altijd +5 Volt voert t.o.v. pen 14 (GND). Dus wel
oppassen, dat U de eprom niet 'verkeerd om' in het voetje plaatst !!
Dat is voor de meeste C-mos-eproms vrij ongezond !!   Die komen te overlijden.



                            MENU INSTELLINGEN
			   

Het menu heeft 2 blokken met elk 7 regels. Het linker blok bevat de opties
en adressen, die ingesteld kunnen worden. Het rechter blok bevat de 5 funkties,
die gekozen kunnen worden en 2 regels voor de adresteller en de checksum. Die
laatste 2 regels worden door het programma ingevuld bij het uitvoeren van de
diverse funkties. Onder de 2 blokken bevindt zich de z.g. resultaatregel. Hier
zal het eindresultaat verschijnen van een afgewerkte funktie. Hier verschijnen
ook eventuele foutmeldingen als een funktie niet uitgevoerd kan worden vanwege
niet bij elkaar passende instellingen.

Bij elke toetsdruk wordt de resultaatregel gewist en worden de adresteller
en de checksum op nul gezet. Er blijven daardoor nooit ongeldige gegevens
op de resultaatregel staan als er iets in het menu wordt gewijzigd.

Op de laatste regel vindt U de bedieningsaanwijzingen, welke worden aangepast
aan de momentele plaats van de cursor op het scherm.



OPTIE KIEZEN


Met de cursortoetsen verplaatst U de cursor naar links, rechts, omhoog of
omlaag om de in te stellen funktie of optie aan te wijzen. Door herhaald
drukken van de spatiebalk kiest U uit de diverse mogelijkheden voor een optie,
waar de cursor achter staat. Die mogelijkheden rouleren op het scherm bij
iedere druk op de spatiebalk. Wat uiteindelijk op het menuscherm staat, zijn
de instellingen, waarmee gewerkt zal worden.



FUNKTIE KIEZEN


Bij het opstarten staat achter de 5 funkties in de rechterkolom "NO". U
kiest een of meerdere funkties door de spatiebalk te drukken nadat U de cursor
achter de gewenste funktie heeft gezet. "NO" verandert dan in "YES". Door
nogmaals op de spatiebalk te drukken, wordt de funktie weer buiten gebruik
gesteld ("Yes" wordt "NO"). De gekozen funktie(s) worden uitgevoerd als de
toets 'S' wordt gedrukt terwijl het menu op het scherm staat. De details van
elke funktie worden verderop behandeld.

Uit de 5 funkties mogen meerdere funkties gelijktijdig gekozen worden. De
funkties worden uitgevoerd in de volgorde, zoals die van boven naar beneden
in het menu staan. Hieraan is een beperking verbonden. Als n.l. meerdere
funkties tegelijk gekozen worden en een funktie levert resultaten, welke voor
de gebruiker van belang zijn en die door een daarop volgende funktie weer van
het scherm zouden verdwijnen, dan zal een dergelijke kombinatie van funkties
niet worden geaccepteerd. In dat geval verschijnt na het drukken van de toets
'S' op de resultaatregel de boodschap "ILLEGAL COMMAND ORDER" en dient men de
gekozen funkties aan te passen d.w.z. een voor een uit te laten voeren i.p.v.
ineens achter elkaar. Als de 'S'-toets wordt gedrukt terwijl nog geen enkele
funktie is gekozen, verschijnt de foutmelding "NO FUNKTION CHOOSEN". Een
'lopende' funktie kunt u afbreken door de STOP-toets even INGEDRUKT TE HOUDEN.

De volgende funktie-kombinaties worden niet geaccepteerd:

          BLANKCHECK + VERIFY          PROGRAMMING + DISPLAY MEMORY
          VERIFY + DISPLAY MEMORY      CHECKSUM + DISPLAY MEMORY


Epromtype en adressen kiezen
WWWWWWWWWWWWWWWWWWWWWWWWWWWW
Indien een ander eprom-typenummer wordt gekozen, worden zowel de epromadressen
als de geheugenadressen automatisch aangepast aan het adresbereik van het
gekozen eprom type. Indien U slechts een deel van het adresbereik van een
eprom wenst te gebruiken, kunt U de automatisch ingestelde begin- en eind-
adressen veranderen door de cursor bij het te veranderen adres te plaatsen en
een ander (hex-)adres in te typen. (Alleen hex karakters worden geaccepteerd.)
Bij elke verandering van het eprom-typenummer wordt tevens de programmeerspan-
ning op 0 Volt teruggezet en de programmeer-mode op 'Normaal'. Dit is een be-
veiliging als U vergeten mocht hebben om de juiste programmeerspanning in te
stellen en daarna opdracht geeft om te programmeren. Er gebeurt dan n.l. niets
omdat een programmeerspanning van 0 Volt wordt gebruikt voor de programmeer-
funktie. U kunt daardoor een eprom niet per ongeluk opblazen c.q. vernielen.

Voor die funkties, welke zowel de epromadressen als de geheugenadressen
gebruiken moet de lengte van beide adresbereiken even groot zijn, d.w.z. het
verschil tussen start- en eindadres moet voor beide adresgroepen gelijk zijn.
Voordat een gekozen funktie wordt uitgevoerd (welke beide adresbereiken ge-
bruikt) wordt die vereiste gelijkheid door het programma gekontroleerd.
Er wordt tevens gekontroleerd of de ingestelde epromadressen binnen het adres-
bereik VAN HET GEKOZEN EPROM-TYPE liggen . Indien aan deze eisen niet is
voldaan verschijnt de foutmelding "ADDRESS ERROR" en wordt de funktie niet
uitgevoerd. U dient dan eerst de fout te herstellen en daarna opnieuw de
funktie te starten met de 'S'-toets.

De geheugenadressen (Startaddress memory & Endaddress memory) mag U niet kiezen
buiten het gebied van &H4000 - &HBFFF, anders krijgt U een foutmelding. Alleen
voor de funktie "DISPLAY MEMORY" geldt die beperking niet. U kunt daarbij elk
gewenst beginadres instellen om de inhoud van het geheugen te bekijken.

Als U het epromtype 27512 kiest, wordt voor de geheugenadressen het adresbereik
&H4000 - &HBFFF ingevuld en voor de epromadressen het werkelijke adresbereik
&H0000 - &HFFFF. Deze 2 bereiken zijn dus niet even groot en zullen tot een
foutmelding leiden als U niet het eprombereik aanpast. (&H0000 - &H7FFF of
&H8000 - &HFFFF). U moet dus zelf bewust het te gebruiken deel van de 27512
kiezen. Het programma dwingt U derhalve deze gewenste keuze te maken, zodat U
dit niet kunt vergeten. Om een 27512 volledig te programmeren, moet U dus
eerst de ene helft programmeren en daarna de andere helft. U heeft voor een
27512 een verloopprintje nodig. Standaard is te Toepromkaart geschikt voor
2764, 27128 en 27256 eprom's. De oudere types 2716 en 2732 kunnen niet gebruikt
worden. Het programma kent die mogelijk wel, doch daarvoor moet de Toepromkaart
omgebouwd worden om met een verplaatsbaar jumperblok te kunnen werken. Er is
ook een eenvoudiger ombouw mogelijk, waarbij met een jumperblokje omgeschakeld
kan worden voor:  Of 2764, 27128, 27256    Of 27512.


                             EXTRA OPTIES
			   

De extra-opties, welke opgeroepen kunnen worden met de toetsen 'L', 'M' of 'R'
zijn o.a. bestemd om data-files te laden van diskette of data te saven naar
diskette. Een data-file is een file welke NIET BEGINT met een file-herkennings-
byte. (&HFF voor basic-files of &HFE voor binaire files.)  Er is dan ook geen
begin-, eind- en start-adres aanwezig, doch uitsluitend de data welke in een
eprom moeten worden geprogrammeerd of uit een eprom zijn gelezen. Basic-files
kunnen wel van diskette worden ingelezen, doch niet met de 'L'-optie. Zie het
hoofdstuk "Laden en programmeren van basicprogramma's" voor details.

De extra opties bieden naast de diskette funkties een aantal andere unieke
gebruiksmogelijkheden, welke hierna besproken worden.



                     DETAILS VAN L-OPTIE  (Load from disk)
		     

Wordt opgeroepen als het menu op het scherm staat en toets 'L' wordt gedrukt.

Funktie:   Inlezen van een data-file naar het geheugen vanaf adres &H4000.
-------    Wat wordt bedoeld met 'data-file' werd reeds eerder besproken.

Zodra toets 'L' is gedrukt wordt er een venster geopend onder op het menu-
scherm, waarin alle benodigde aanwijzingen voor de optie worden gegeven. Als
dit venster is geopend, kan men ALTIJD de optie verlaten c.q. afbreken door de
ESC-toets te drukken. Het venster wordt dan verwijderd en het menu verschijnt
weer zoals het was.

Direkt na het openen van het venster leest men een boodschap, dat het start-
adres van het geheugen &H4000 moet zijn. Men kan nu alsnog via de ESC-toets
terug naar het menu om aan deze voorwaarde te voldoen.

U gaat verder door de RETURN-toets te drukken. Dit aktiveert de L-optie, welke
begint met voornoemde voorwaarde te kontroleren. Is daaraan niet voldaan, dan
wordt teruggekeerd naar het menu en een foutmelding op de resultaatregel gezet.
Ook als het ingestelde adresbereik van de epromadressen NIET EVEN GROOT is als
het ingestelde adresbereik van het geheugen gebeurt hetzelfde. Idem als het
ingestelde adresbereik voor de eprom buiten het ADRESBEREIK VAN HET EPROM-TYPE
ligt. Het werken met een foutieve instelling is derhalve onmogelijk.

U wordt gevraagd de drive-naam op te geven. U dient dan de letter voor een
diskdrive te typen. Het programma 'weet' hoeveel logische diskdrives aanwezig
zijn en heeft de mogelijke drive-namen al tussen haakjes vermeld. Indien U de
naam van een niet aangesloten diskdrive typt, zal die worden geweigerd. Er
gebeurt gewoon niets. Als U maar 1 diskdrive heeft, zijn wel 2 logische drives
aanspreekbaar (b.v. A & B), doch maar 1 fysieke drive. U moet dan dus de letter
'A' typen. U kunt een ingetypte letter nog veranderen door de ESC-toets te
drukken en daarna opnieuw te beginnen. Vervolgens kunt U de juiste letter voor
de diskdrive intypen. U bevestigt de getypte drive-naam met de RETURN-toets.

Vervolgens wordt U gevraagd de filenaam te typen. Met de BS-toets kunnen type-
foutjes gekorrigeerd worden. Voor een filenaam zijn volgens de 'DOS' regels
niet alle karakters toegestaan, die via het toetsenbord ingetypt kunnen worden.
Indien men een illegaal karakter typt volgt geen foutmelding, doch zo'n ille-
gaal karakter wordt gewoon geweigerd, d.w.z. er wordt niet op de toetsaanslag
gereageerd. Ook meer dan 8 karakters voor de filenaam worden geweigerd. Een
scheidingspunt tussen filenaam en extensie wordt pas geaccepteerd als er ten-
minste 1 karakter voor de filenaam is ingetypt. Een 2e scheidingspunt wordt
eveneens geweigerd evenals meer dan 3 karakters voor de extensie. Dit kontrole-
systeem geeft een (voor de gebruiker eenvoudige) garantie, dat een geldige
filenaam wordt opgegeven zonder min of meer ingewikkeld gedoe met foutmel-
dingen, herstellen e.d. Er kan alleen maar een filenaam van de juiste samen-
stelling worden ingetypt. U bevestigt de getypte filenaam met de RETURN-toets.

Als na het ingeven van drive- en filenaam wordt verdergegaan wordt de lengte
van de te laden data-file vergeleken met de lengte van het ingestelde geheu-
gengebied. Indien die met elkaar overeenstemmen wordt de file van diskette in
het geheugen geladen.

Als bovengenoemde overeenstemming er niet is, wordt in het venster gemeld
of de file-lengte groter of kleiner is dan de grootte van het ingestelde
geheugenbereik. Vervolgens kan men door het beantwoorden van de vraag 'Y/N'
bepalen of men verder wil gaan of niet.

Na indrukken van de toets 'Y' wordt DE KLEINSTE LENGTE GEBRUIKT bij het laden.
Als slechts een gedeelte van een eprom moet worden geprogrammeerd, kan de
datafile korter zijn dan het ingestelde geheugenbereik. Men kan dan rustig de
file laden en daarna alsnog de adressen aanpassen voordat men daadwerkelijk
gaat programmeren. Men kan b.v. eerst met de displayfunktie de ingeladen data
bekijken om te beoordelen of een en ander in orde is.

Als de datafile langer is dan het ingestelde geheugenbereik, dan heeft door-
gaan weinig zin omdat dan het ingestelde geheugengebied de inhoud van de file
niet geheel kan bevatten. Men dient dan de toets 'N' te drukken, waardoor
teruggekeerd wordt naar het menu. Men kan daar de adressen aanpassen en dan
de L-optie opnieuw aanroepen met toets 'L'. Men kan echter ook bewust doorgaan
om daarna met de display-funktie het wel geladen gedeelte van de datafile
met de display-funktie te bekijken. Daarmee kan men b.v. ontdekken of (door
onjuist assembleren van de datafile) een herkenningsbyte en begin- eind- en
startadressen in de file staan, welke er niet in horen te staan en de file-
lengte te groot hebben gemaakt. Men weet dan wat te doen staat om de datafile
alsnog korrekt te maken.

Als de file wordt geladen, wordt dit in het venster gemeld. Zodra het laden
gereed is, wordt teruggekeerd naar het menu met op de resultaatregel de
melding "MEMORY LOADED".

		     DETAILS VAN R-OPTIE  (Read eprom)
		    W


Wordt opgeroepen als het menu op het scherm staat en toets 'R' wordt gedrukt.

Funktie:   Eprom inhoud uitlezen en in geheugen plaatsen vanaf adres &H4000.
-------
Deze optie biedt de volgende mogelijkheden:

        1. Inhoud van een eprom op het scherm bekijken.
        2. Inhoud van een eprom bewaren op diskette.
        3. Inhoud van een eprom kopieren naar een andere eprom.

Zodra toets 'R' is gedrukt wordt er een venster geopend onder op het menu-
scherm, waarin alle benodigde aanwijzingen voor de optie worden gegeven. Als
dit venster is geopend, kan men ALTIJD de optie verlaten c.q. afbreken door de
ESC-toets te drukken. Het venster wordt dan verwijderd en het menu verschijnt
weer zoals het was. Deze mogelijkheid geeft de optie o.a. zijn veelzijdige
gebruiksmogelijkheden.

Direkt na het openen van het venster leest men een boodschap, dat het start-
adres van het geheugen &H4000 moet zijn. Men kan nu alsnog via de ESC-toets
terug naar het menu om aan deze voorwaarde te voldoen.

Men dient nu de eprom, welke men wil uitlezen in de eprommer te plaatsen (als
dit nog niet gebeurt was) en met de RETURN-toets verder te gaan. Deze laatste
aktie aktiveert de R-optie, welke begint met voornoemde voorwaarde te kontro-
leren. Is daaraan niet voldaan, dan wordt teruggekeerd naar het menu en een
foutmelding op de resultaatregel gezet. Ook als het ingestelde adresbereik
van de epromadressen NIET EVEN GROOT is als het ingestelde adresbereik van het
geheugen gebeurt hetzelfde. Idem als het ingestelde adresbereik voor de eprom
buiten het adresbereik van het eprom-type ligt. Het werken met een foutieve
instelling is derhalve onmogelijk.

Als alles in orde blijkt, wordt na het drukken van de RETURN-toets de inhoud
van de eprom gekopieerd naar het geheugen. Zowel het uitlezen als het gereed
zijn van de uitlezing wordt in het venster gemeld. Er wordt aangeraden om de
eprom na het uitlezen direkt te verwijderen uit de voet. Daarmee vermijdt U
het risico dat U b.v. per ongeluk 'programmeren' aktiveert en daarmee de
inhoud van de eprom verminkt of de eprom vernielt met een onjuiste program-
meerspanning.

Als de eprom-inhoud in het geheugen staat kan men of doorgaan volgens de aan-
wijzingen op het scherm om de geheugeninhoud op diskette te saven of men kan
met de ESC-toets naar het menu teruggaan. In het menu kan men nu kiezen om de
(in het geheugen gekopierde) eprominhoud te bekijken met de funktie 'DISPLAY
MEMORY' of men kan een lege eprom in de eprommer plaatsen. Na het instellen van
de gegevens voor deze eprom kan men de geheugen-inhoud direkt in de lege eprom
programmeren en verkrijgt men aldus een kopie van de uitgelezen eprom.

Indien U bent doorgegaan d.m.v. het indrukken van de 'RETURN' toets, volgt
dezelfde procedure voor het typen van de drive-naam en de filenaam als reeds
eerder besproken bij de L-optie. Daarna wordt de inhoud van het ingestelde
geheugenbereik gesave'd naar diskette en dit wordt in het venster gemeld.
Zodra dit is gebeurd wordt teruggekeerd naar het menu en op de resultaatregel
verschijnt de melding "COPY SAVED ON DISK".


                     DETAILS VAN M-OPTIE  (Memory copy)
		     

Wordt opgeroepen als het menu op het scherm staat en toets 'M' wordt gedrukt.

Funktie:    Het kopieren van 1 page (16k) uit een slot of subslot naar het
-------     geheugengebied &H4000 t/m &H7FFF

Deze optie biedt de mogelijkheid om een door U te kiezen page uit een door U
te kiezen slot of subslot te kopieren naar RAM. Daarna kunt U deze page saven
naar disk en/of bekijken met de funktie 'DISPLAY MEMORY'. In feite heeft U via
de 'M'-optie een geheugen monitor voor zowel RAM als ROM ter beschikking.
(De 'display memory' funktie bevat weer een optie om e.e.a. uit te printen.)
U kunt zelfs de inhoud van de Eprom met het besturingsprogramma erin uitlezen
als U het slotnummer kiest, waar de eprom-kaart in is geplaatst en vervolgens
het beginadres &H4000.

Waarschuwing:
=============   
                Met deze funktie kunt U ook de inhoud van ROM's uitlezen en
                bekijken. Het naar disk kopieren en/of uitprinten daarvan
                mag U pas doen als U er zeker van bent, dat U daarmee geen
                'COPYRIGHT' (auteursrechten) schendt !!!  De maker en de
                leverancier van dit programma zijn op geen enkele wijze
                verantwoordelijk te stellen voor het misbruiken van dit
                programmagedeelte voor onwettige aktiviteiten. De gebruiker
                is daarvoor zelf aansprakelijk !!!!!

Zodra toets 'M' is gedrukt wordt er een venster geopend onder op het menu-
scherm, waarin alle benodigde aanwijzingen voor de optie worden gegeven. Als
dit venster is geopend, kan men ALTIJD de optie verlaten c.q. afbreken door de
ESC-toets te drukken. Het venster wordt dan verwijderd en het menu verschijnt
weer zoals het was.

Alleerst wordt U gevraagd het slotnummer in te typen van de page welke U wilt
kopieren. Andere- dan de cijfertoetsen 0 t/m 3 worden niet geaccepteerd.
Indien het opgegeven slot is ge-expandeerd zal U worden gevraagd ook het sub-
slotnummer in te typen. Ook daarvoor worden alleen de cijfers 0 t/m 3 geaccep-
teerd. Vervolgens wordt U gevraagd om het ontbrekende 1e karakter in te
vullen voor het, in het venster geplaatste, beginadres voor de page. U dient
te kiezen uit de toetsen 0, 4, 8, c of C. Andere toetsen worden geweigerd.

Hierna wordt de kopieeropdracht uitgevoerd en gemeld. Zodra de opdracht is
voltooid, wordt ook dit gemeld en de geheugenadressen in het menu aangepast. U
kunt nu kiezen uit de volgende 2 mogelijkheden:

          Optie afbreken door drukken van de ESC-toets
          Doorgaan door drukken van de RETURN-toets.

De ESC-toets brengt U terug in het menuscherm, waar U door het kiezen van de
funktie 'DISPLAY MEMORY' en vervolgens drukken van de 'S'-toets de gekopieerde
page kunt bekijken en desgewenst uit kunt printen. Voor details van de display-
funktie zie het desbetreffende hoofdstuk.

Met de returntoets komt U bij dezelfde procedure voor het intypen van de
drive-naam en de filenaam als reeds besproken bij de L-optie. Zodra die proce-
dure is voltooid, wordt de page naar disk weggeschreven. Tenslotte wordt terug-
gekeerd naar het menu met op de resultaatregel de melding "COPY SAVED ON DISK".


                              BLANKCHECK
			    

Deze funktie kontroleert of het adresbereik voor de eprom, ingesteld op het
menu, leeg is. Zo ja, dan verschijnt op de resultaatregel het bericht 'BLANK'.
Zo niet, dat luidt het bericht 'NOT BLANK' en moet de eprom eerst gewist
worden, voordat U die succesvol kunt programmeren. U kunt dus door het veran-
deren van de automatisch ingestelde epromadressen ook kontroleren of een deel
van de eprom leeg is en daarna alleen dit deel programmeren.




                        PROGRAMMEER MOGELIJKHEDEN
		       

Er zijn 4 mogelijkheden beschikbaar, welke U met de spatiebalk kunt kiezen als
de cursor achter 'PROGRAMMING MODE' staat, n.l.:

        Intelligent programmeren  (Intell)
        Standaard programmering   (Normal)
        Snel programmeren         (Fast 1)
        Dubbel snel programmeren  (Fast 2)

De juiste programmeerspanning en programmeer-mode kunt U opzoeken in de tabel-
len van de helppagina's als U die informatie niet heeft. Als de Eprom niet in
de tabellen voorkomt, kiest U "Intel-mode" en 12.5 Volt. Indien U dan de fout-
melding 'NOT PROGRAMMABLE' krijgt, dan probeert u "Normal-mode" en 12,5 Volt.
Als na 'VERIFY' de eprom niet goed geprogrammeerd blijkt, herhaalt U de pro-
grammering met 21 Volt. Als ook dat niet lukt, dan nog eens met 25 Volt pro-
beren. Als ook dat niet lukt is de eprom defekt.


                        INTELLIGENT PROGRAMMEREN
		       

Bij de intelligente programmeer-mode wordt elke byte met een puls van 1
milisekonde geprogrammeerd. Vervolgens wordt gekontroleerd of de byte goed
geprogrammeerd is en zo niet dan wordt nogmaals een programmeerpuls gegeven.
Dit wordt herhaald tot er 25 programmeerpulsen zijn gegeven. Is de byte dan
nog niet goed geprogrammeerd dan wordt het programmeren afgebroken met de
boodschap 'NOT PROGRAMMABLE' en toont de adrescounter het adres waar de
fout optrad. De Eprom kan dan niet met de intelligente programmeer-mode
geprogrammeerd worden omdat de eprom waarschijnlijk defekt is. (Men kan dan
alsnog proberen of het met de 'NORMAL' programmeermode wel lukt, zie verderop)

Als na 1 of meer programmeerpulsen de byte goed geprogrammeerd blijkt, wordt
daarna nog een na-programmeerpuls gegeven waarvan de lengte (milisekonden)
3 x zo lang is als de som van het aantal programmeerpulsen, dat nodig was om
de byte goed te programmeren. Dit geeft een betrouwbare programmering.

Als alle bytes geprogrammeerd zijn verschijnt op de resultaatregel de bood-
schap "PROGRAMMED" . Men is er dan zeker van dat in de Eprom een getrouwe
kopie staat van de inhoud van het gekozen geheugengebied. De 'VERIFY' funktie
is dus overbodig bij intelligent programmeren. Dat is al gedaan tijdens het
intelligent programmeren.



                   PROGRAMMEREN   NORMAL, FAST1 & FAST2
		   

Bij de 3 andere programmeer-modes 'NORMAL', 'FAST1' en 'FAST2' wordt elke
byte geprogrammeerd met een programmeerpuls met een vaste lengte. De puls-
lengte is 50 mSek. bij 'NORMAL', 10 mSek. bij 'FAST1' en 5 mSek. bij 'FAST2'.
De 'FAST2' mode is bestemd voor moderne Eproms, welke snel geprogrammeerd
(en gewist) kunnen worden. De intelligente programmeer mode is meestal veel
sneller van 'FAST2'. (Ca. 1 minuut voor intelligent programmeren type 27128.)
Daarbij moet U bedenken dan een programmeerpuls welke veel langer is dan strikt
nodig, het eventueel wissen moeilijker maakt. Er moet dan veel langer gewist
worden om de eprom weer "blank" te maken.

Als alle bytes geprogrammeerd zijn verschijnt ook nu de boodschap "PROGRAMMED"
doch tijdens het programmeren is NIET GEKONTROLEERD of alle bytes werkelijk
goed geprogrammeerd zijn. Dat moet U zelf doen met de funktie 'VERIFY'.




                                 VERIFY
			      

Na het kiezen van deze funktie en het drukken van de toets 'S' wordt de
inhoud van de eprom (het gekozen epromadresbereik) vergeleken met de inhoud
van het geheugen (ingesteld geheugenbereik). Indien die exact gelijk is, ver-
schijnt op de resultaatregel de boodschap 'VERIFIED'.

Indien er een byte ongelijk blijkt dan wordt eerst de aard van de ongelijk-
heid bepaald. Als er 1 of meerdere bits van de byte in de eprom "0" zijn,
welke "1" hadden moeten zijn, dan is de eprom defekt. In dat geval wordt
de verify-funktie afgebroken en verschijnt op de resultaatregel de boodschap
"VERIFY ERROR" en de adrescounter geeft aan op welk adres de fout werd
gekonstateerd.

Indien er 1 of meerdere bits van de byte in de eprom "1" zijn, welke "0"
hadden moeten zijn, dan is die byte nog niet goed geprogrammeerd. Dit feit
wordt 'onthouden' en er wordt verder gegaan met het kontroleren van de
overige bytes. Als alle bytes gekontroleerd zijn verschijnt op de resultaat-
regel de boodschap "REPROGRAMMABLE" ten teken dat de fout door nogmaals
programmeren hoogstwaarschijnlijk gekorrigeerd kan worden. Als na herhaalde
malen programmeren en verifieren nog steeds de boodschap "REPROGRAMMABLE"
verschijnt is de eprom echt defekt.



                        READ & RUN CHECKSUM
		       

Deze funktie telt de waarde bij elkaar op van alle bytes van het gekozen
eprom adresbereik tot een 16 bits getal. Een overflow naar bit 17 en hoger
wordt genegeerd. De aldus verkregen som wordt als hexadecimaal getal op het
scherm getoond op de regel 'CHECKSUM'.



                           DISPLAY MEMORY
			  

Deze funktie geeft op het scherm een overzicht van 256 bytes van de inhoud van
het geheugen vanaf het ingestelde startadres. Als dit geheugengebied op het
scherm gezet is kan men met de cursor/up en cursor/down toetsen naar believen
een overzicht oproepen van de volgende of vorige 256 bytes van het geheugen.
Onder op het displayscherm staan de bedieningsaanwijzingen. Men kan met de
cursortoetsen door het gehele geheugengebied bladeren ongeacht de adresin-
stelling op het menuscherm. Alleen het geheugen-startadres in het menu bepaalt
welk geheugengebied het eerst wordt getoond. U kunt dus even naar het menu
terug gaan met de ESC-toets, het beginadres daar veranderen en opnieuw de
'S'-toets drukken om een ander geheugengebied te bekijken.



                             SCREENDUMP
			   

Door drukken van de toets 'P' kan een schermbeeld naar een printer worden
gestuurd. De printroutine is geschikt voor nagenoeg elke type printer.
Alleen als het venster voor de R-optie, de L-optie of de M-optie is geopend
is het maken van een schermafdruk op de printer niet mogelijk.

Indien de printer niet is ingeschakeld zal bij het drukken van toets 'P'
een foutmelding worden gegeven met verdere aanwijzingen.




             LADEN EN PROGRAMMEREN VAN EEN BASICPROGRAMMA
	     

Een basic-file op diskette bevat een (herkenings-)beginbyte, die bij het laden
via de basicopdracht 'LOAD' wordt verwijderd. Dat is de reden, waarom de
L-optie niet kan worden gebruikt voor het inladen van een basicprogramma.

Om een basicprogramma op de juiste manier in het geheugen te laden, moet dit
dus vanuit direct mode (basic) geschieden. Eerst moet U besturingsprogramma
opstarten, zodat het EPROM-programma het geheugen initieert. Vervolgens moet U
vanuit het menuscherm met de toetskombinatie 'CTRL-STOP' terugkeren naar direct
mode, het basicprogramma laden en daarna het besturingsprogramma opnieuw op-
roepen met   'CALL TOE'   of   'CALL TOEPROM'.

Het laden zelf doet men op de gebruikelijke manier, dus vanaf diskette met de
opdracht LOAD gevolgd door de filenaam tussen aanhalingstekens (vanaf cassette
met CLOAD gevolgd door de filenaam tussen aanhalingstekens of met LOAD"CAS:
gevolgd door de filenaam.)

Nadat men een basicprogramma heeft geladen en het EPROM programma is opge-
roepen, wordt het basicprogramma dat zich in het adresbereik vanaf &H8000
bevindt gekopieerd naar het geheugengebied &H0000 t/m &H3FFF. Hier wordt het
originele basicprogramma bewaard. Als later met 'CTRL-STOP' het besturings-
programma wordt verlaten wordt eerst de bewaarde kopie van het basicprogramma
weer teruggekopieerd naar zijn oorspronkelijk plaats (&H8000 - &HBFFF).
Daardoor kan het geheugengebied &H8000 - &HBFFF door het besturingsprogramma
gebruikt worden, zonder dat het originele basicprogramma verloren gaat. Als
men het besturingsprogramma verlaat d.m.v. 'CTRL-STOP' staat het originele
basicprogramma dus weer (ongewijzigd) op de normale plaats in het geheugen na
de terugkeer naar direct mode.

Voordat het geladen basicprogramma in een eprom mag worden geprogrammeerd
moet de struktuur daarvan eerst aangepast worden aan de MSX-normen voor een
basic-cartridge-programma. U dient nu eerst het Epromtype-nummer te kiezen.
(waarom, zie verderop) De herstrukturering wordt door het besturingsprogramma
uitgevoerd als het menu op het scherm staat en U toets 'I' drukt.

Zodra de herstrukturering is uitgevoerd worden de eprom- en de geheugenadres-
sen op het menu AANGEPAST AAN DE LENGTE VAN HET BASICPROGRAMMA. Dit zorgt
ervoor dat alleen dat deel van een eprom geprogrammeerd zal worden waarin het
basicprogramma past. Daardoor kost het programmeren minder tijd. Het AANGEPASTE
BASICPROGRAMMA staat dan in het geheugen vanaf adres &H8000. Als men pas daar-
na het eprom-nummer zou instellen worden genoemde adressen weer automatisch op
de eprom ingesteld en raakt U de reeds ingestelde adressen kwijt. Het program-
meren zal dan langer duren dan nodig, omdat de gehele eprom moet worden
geprogrammeerd als U de eindadressen niet had genoteerd om deze opnieuw in te
stellen.

Indien het basicprogramma te lang is (meer dan 16368 bytes) om na herstruk-
turering nog te passen in het beschikbare geheugengebied (&H8000 t/m &HBFFF),
wordt de herstrukturering niet uitgevoerd, doch verschijnt op de resultaat-
regel de boodschap 'BASICPROGRAM TO LARGE'. Als alles in orde is verschijnt
de boodschap 'BASIC INITIALIZED' op de resultaatregel zodra de herstrukture-
ring gereed is. Daarna wordt niet meer gereageerd op het drukken van toets 'I'.
Pas als men opnieuw een basicprogramma heeft ingeladen vanuit direct mode
(basic) zal weer op toets 'I' gereageerd worden.

Na het kiezen van de programmeerspanning, het kiezen van de programmeer-mode
en het plaatsen van een lege eprom zal door drukken van toets 'S' de eprom
worden geprogrammeerd.

Om deze basic-eprom te kunnen gebruiken moet deze op een printkaart of in een
cartridge geplaatst worden, waarop de adressering zodanig is ingesteld (of
gedecodeerd), dat de eprom in het adresgebied vanaf &H8000 zit. Als aan die
voorwaarde is voldaan, zal het basicprogramma automatisch opstarten als de
computer wordt opgestart (of gereset) met de basic-eprom in een van de slots.
