Käyttö

WHDLoad voidaan käynnistää komentoriviltä (CLI/Shell) tai Workbenchista. Valinnat voidaan määrittää yleisessä asetustiedostossa sekä argumentteina tai Tooltypesin kautta. Slave -valinta vaaditaan yleensä. Muitakin valintoja saatetaan tarvita, riippuen laitteistostasi ja WHDLoadilla suoritettavasta ohjelmasta. Käynnistettäessä komentoriviltä WHDLoad antaa poistumisen yhteydessä seuraavat paluukoodit:

Valinnat ja yleiset asetukset

Valintoja on kahta tyyppiä, paikallisia ja yleisiä. Paikalliset valinnat määritetään komentorivin argumentteina tai ToolTypesin kautta, kun ohjelma käynnistetään Workbenchista.
Yleinen asetustiedosto on "S:WHDLoad.prefs". Se on tavallinen ASCII-tiedosto ja sisältää yhden valinnan riviä kohti. Tyhjät rivit ja kommentit jätetään huomiotta. Kommentit ovat rivipohjaisia, alkavat merkillä ";" ja jatkuvat rivin loppuun.
Esimerkki asetustiedostosta on WHDLoad-paketissa ("S/WHDLoad.prefs").

Luettelo käytettävissä olevista valinnoista

valintoja on kolmea tyyppiä:
numeeriset: valinnan arvo on kokonaisluku,
komentorivillä tulee käyttää desimaalimerkintää, ToolTypessä voidaan käyttää myös heksadesimaalia, jonka alussa on "$"
merkkijono: valinnan arvo on merkkijono
kytkin: valinta otetaan käyttöön, jos se määritetään (boolean)

Paikallinen-sarake näyttää, voidaanko valintaa käyttää komentorivillä ja kuvakkeen tooltypenä. Yleinen-sarake näyttää, voidaanko valintaa käyttää yleisessä asetustiedostossa.

Monet valinnoista eivät ole käytettävissä WHDLoadCD32:ssa. CD³²-sarake näyttää, onko valinta käytettävissä tässä WHDLoadin erikoisversiossa.
Valinnan nimiTyyppiPaikallinenYleinenCD³²Oletusarvo
BranchCachekytkinx--
ButtonWaitkytkinxxx
Cachekytkinx-x
Chkkytkinx--
ChkBltHogkytkinx--
ChkBltSizekytkinx--
ChkBltWaitkytkinx--
ChkColBstkytkinx--
ChkCopConkytkinx--
ChkIntskytkinx--
ChipNoCachekytkinxx-
CoreDumpkytkinx--
CoreDumpPathmerkkijono-x-PROGDIR:
Custommerkkijonox-x""
Custom1numeerinenx-x0
Custom2numeerinenx-x0
Custom3numeerinenx-x0
Custom4numeerinenx-x0
Custom5numeerinenx-x0
Dkytkinx--
Datamerkkijonox-x-
DebugKeynumeerinenxx--
DCachekytkinx--
ExecuteCleanupmerkkijonoxx--
ExecuteStartupmerkkijonoxx--
Expertkytkin-x-
ExpChipkytkinx--
ExpLocalkytkinx--
Exp24Bitkytkinx--
FileLogkytkinx--
FreezeKeynumeerinenxx--
MMUkytkinxx-
NoAutoVeckytkinxxx
NoCachekytkinx-x
NoFileCachekytkinx-x
NoFilterkytkinxxx
NoFlushMemkytkinxx-
NoMMUkytkinxx-
NoResIntkytkinx-x
NoReqkytkinxxx
NoTrapHandlerkytkinx-x
NoVBRMovekytkinx-x
NoWriteCachekytkinxx-
NTSCkytkinxxx
PALkytkinxxx
Preloadkytkinx-x
QuitKeynumeerinenxxx-
ReadDelaynumeerinen-xx0
RestartKeynumeerinenxxx-
ShowRegsmerkkijono-x-SYS:Utilities/MultiView
Slavemerkkijonox-xWHDLoad.Slave
Snoopkytkinx--
SnoopAGAkytkinx--
SnoopECSkytkinx--
SnoopOCSkytkinx--
SplashDelaynumeerinenxxx200
StoreBufferkytkinx--
SuperScalarkytkinx--
TimeOutnumeerinenx-x0
WriteDelaynumeerinenxx-150

Esimerkki

Workbench: Workbench-valinnat
CLI tai Shell: 1> WHDLoad SuperGame.Slave Preload NTSC QuitKey=69 Custom1=1

Jokaisen valinnan kuvaus

ButtonWait/S

Valinta ei vaikuta itse WHDLoadiin, mutta Slave-ohjelma voi testata sen.
Valinnan merkitys on, että jos se on valittuna, käyttäjä haluaa asennetun ohjelman odottavan näppäimen painallusta näyttäessään kuvia ja/tai soittaessaan musiikkia, mikä normaalisti kestäisi todella lyhyen ajan (kiintolevy/RAM-latauksen ollessa huomattavasti levykkeeltä lataamista nopeampaa).

BranchCache/S

Tämä valinta ottaa 68060:n branch cache -toiminnon käyttöön. Sillä ei ole vaikutusta muilla suoritintyypeillä.
Valinnalla ei ole vaikutusta, jos NoCache/S on myös asetettuna.

Cache/S

Tämä valinta ottaa asennetulle ohjelmalle käyttöön komentovälimuistin ja kytkee datavälimuistin pois. Mikäli MMU on WHDLoadin käytössä, se merkitsee Chip-muistin tilaan Cacheable Writethrough (epätarkka).
Valinnalla ei ole vaikutusta, jos NoCache/S on myös asetettuna.

Chk/S

Tämä valinta on oikotie, joka kytkee valinnat ChkBltSize/S, ChkBltWait/S ja ChkColBst/S.

ChkBltHog/S

Tämä valinta tarkistaa koko ajan, että bitti blthog (bltpri) rekisterissä custom.dmacon ei ole asetettuna. Ominaisuus toimii vain yhdessä jonkin SnoopOCS/SnoopECS/SnoopAGA -valinnoista kanssa.

ChkBltSize/S

Tämä valinta tarkistaa, että asennettu ohjelma käyttää blitteriä oikein, jotta vain kelvollisia muistialueita käytetään blitteritoimenpiteisiin. Ominaisuus toimii vain yhdessä jonkin SnoopOCS/SnoopECS/SnoopAGA -valinnoista kanssa.

ChkBltWait/S

Tämä valinta tarkistaa, että asennettu ohjelma odottaa oikein blitterin vapautumista ennen uuden blitterityön aloitusta. Ominaisuus toimii vain yhdessä jonkin SnoopOCS/SnoopECS/SnoopAGA -valinnoista kanssa.

ChkColBst/S

Tämä valinta tarkistaa koko ajan, että bitti color rekisterissä custom.bplcon0 on asetettuna. Ominaisuus toimii vain yhdessä jonkin SnoopOCS/SnoopECS/SnoopAGA -valinnoista kanssa.

ChkCopCon/S

Tämä valinta tarkistaa, että asennettu ohjelma ei anna copperille pääsyä DMA-rekistereihin asettamalla custom.copcon -bittiä. Ominaisuus toimii vain yhdessä jonkin SnoopOCS/SnoopECS/SnoopAGA -valinnoista kanssa.

ChkInts/S

Tämä valinta tarkistaa jokaisen keskeytyksen kohdalla, onko ko. keskeytykselle yhteensopiva pari asetettu kohteissa intreq ja intena. Mikäli näin ei ole, asennettu ohjelma pysäytetään sopivalla virhekoodilla. Tämän toiminnon avulla voidaan helposti havaita keskeytysten kuittausongelmat nopeammilla koneilla (68040/060) tai laitteistoviat, jotka aiheuttavat ei-toivottuja keskeytyksiä. Koska tämä tilanne saattaa aiheutua myös silloin, kun keskeytykset on poistettu asettamalla intena keskeytyksen tapahtumahetkellä, toiminto voidaan kytkeä päälle tai pois.

ChipNoCache/S

Tämä valinta poistaa Chip-muistin (BaseMem) välimuistikäytön. Sitä tulee käyttää laitteistossa, joka ei salli Chip-muistin siirtämistä välimuistiin (esim. BlizzardPPC-kortit), jotta vältetään asennetun ohjelman hidastelu. Katso myös CPU-välimuistin käsittely.

CoreDump/S

Mikäli tämä on valittuna, WHDLoad luo aina ohjelmasta poistuttaessa muisti- ja rekisteridumpin. Tästä voi olla apua, jos halutaan irrottaa musiikkimoduuli muistidumpista tai etsiä vikaa.

CoreDumpPath

Kaikkien WHDLoadin dumppitiedostojen kohdehakemisto.

Custom/K, Custom1/K/N, Custom2/K/N, Custom3/K/N, Custom4/K/N, Custom5/K/N

WHDLoad itse ei käytä näitä valintoja, mutta Slave-ohjelma voi käyttää niitä ohjaamaan useita ohjelmakohtaisia seikkoja. Custom/K voi sisältää merkkijonon ja Custom1-5/K vain kokonaisluvun. Tarkista kunkin asennustiedoston dokumentoinnista, tukeeko se Custom-valintoja.

D/S

Tämä valinta on hyödyllinen vianetsintään. Mikäli valinta on käytössä ja muistista löytyy tuettu freezer-ohjelma (Hrt/TK), WHDLoad simuloi NMI:tä ennen kuin suorittaa Slave-ohjelman ensimmäisen suoritinkäskyn.

Data/K

Tällä valinnalla voidaan määrittää hakemisto, johon WHDLoad siirtyy ennen asennetun ohjelman datan lataamista. Tämä valinta ylikirjoittaa Slave-ohjelman ws_CurrentDir -arvon.

DCache/S

Tämä valinta ottaa asennetulle ohjelmalle käyttöön komento- ja datavälimuistin. Mikäli MMU on WHDLoadin käytössä, se merkitsee Chip-muistin tilaan Cacheable Writethrough (epätarkka).
Valinnalla ei ole vaikutusta, jos NoCache/S on myös asetettuna.

DebugKey/K/N

Asettaa rawkey-koodin, jolla ohjelma poistuu vianetsintätilassa (kirjoittaa coredump-tiedostot ja poistuu). Tämä toimii vain, mikäli expert-tila on käytössä, jos WHDLoad siirtää VBR:n (NoVBRMove/S ei ole asetettuna ja suoritin on vähintään 68010) tai itse Slave-ohjelma tukee sitä.

ExecuteCleanup

Tällä valinnalla voidaan määrittää komento, jonka WHDLoad suorittaa poistuttaessa.

ExecuteStartup

Tällä valinnalla voidaan määrittää komento, jonka WHDLoad suorittaa käynnistettäessä. Voidaan käyttää kytkemään pois laitteita, jotka aiheuttavat ongelmia WHDLoadin kanssa, pysäyttämään TCP/IP-pino tai muuta vastaavaa.

Expert/S

Tämä valinta kytkee WHDLoadin expert-tilan. Tällä hetkellä se vaikuttaa DebugKey/S-ominaisuuteen sekä varoituksiin asennetun ohjelman ja käyttöjärjestelmän vaihdon yhteydessä (väriliuku-copperruudut). Mikäli expert-tila ei ole käytössä, DebugKey/S ei ole käytettävissä. Expert-tilassa ilmestyy myös toinen painike joihinkin WHDLoadin virheilmoituksiin. Painike Show Regs näyttää rekisteri- ja tilatietoa samoin kuin rekisteridumppi.

ExpChip/S, ExpLocal/S, Exp24Bit/S

Mikäli asennettu ohjelma käyttää laajennettua muistai (ws_ExpMem), näillä valinnoilla WHDLoad voidaan pakottaa varaamaan tämä muisti Chip-, Local- tai 24BitDma-muistista. Tämä saattaa huonontaa suorituskykyä, sillä määritetty muisti saattaa olla hitaampaa CPU:n käytössä oletusarvoiseen Fast-muistiin verrattuna. Ulkopuolisten työkalujen (esim. SysInfo, GvpInfo) avulla voit tarkistaa muistiasetuksesi ja katsoa, millä muistilla on mitkäkin ominaisuudet.
Näitä valintoja käytetään korjaamaan yhteensopivuusongelmia asennetuissa ohjelmissa nopeilla koneilla, hidastamalla suoritusnopeutta ohjaamalla suoritus hitaampaan muistiin.

FileLog/S

Tätä valinta käytetään vain vianetsintätarkoituksiin. Lisätietoja on kohdassa Dumpit ja lokitiedostot.

FreezeKey/K/N

Jos käytät tuettua freezer-ohjelmaa (HrtMon tai Thrillkill), voit tämän valinnan kautta asettaa rawkey-koodin, jota painettaessa WHDLoad siirtyy freezeriin. Jotta tämä toimii, WHDLoadin on siirrettävä VBR (NoVBRMove/S ei saa olla asetettuna ja suorittimen on oltava vähintään 68010) ja freezer-ohjelman on oltava aktiivinen.

MMU/S

Tätä valintaa tulee käyttää 68030-koneissa, jotta saadaan MMU-toiminnot käyttöön (muistinsuojaus, parannettu välimuistin hallinta, Snooping ja resload_Protect#? -toiminnot). 68040/060-suorittimilla tällä valinnalla ei ole vaikutusta, koska MMU:ta käytetään oletuksena. On suositeltavaa asettaa valinta yleisessä asetustiedostossa kaikissa järjestelmissä, joissa on 68030 toimivalla MMU:lla (ts. ei 68ec030), koska se parantaa vakautta ja turvallisuutta huomattavasti. Mikäli valinta NoMMU/S on myös asetettuna, tällä valinnalla ei ole vaikutusta.

NoAutoVec/S

Mikäli tämä valinta on asetettuna, WHDLoad ei keskeydy, mikäli saadaan odottamaton autovector-keskeytys tai NMI (vektorit #25-31 / $64-$7c). Tätä voidaan käyttää järjestelmissä, joissa syntyy satunnaisesti tällaisia keskeytyksiä, jotta WHDLoad ei keskeydy (parempi on kuitenkin poistaa rikkinäinen laitteisto!).

NoCache/S

Mikäli tämä on valittuna, kaikki välimuistit kytketään pois.
Tämä valinta ohittaa valinnat BranchCache/S, Cache/S, DCache/S, StoreBuffer/S ja SuperScalar/S.

NoFileCache/S

Kytkee WHDLoadin tiedostovälimuistin pois ja pakottaa siirtymään käyttöjärjestelmään aina asennetun ohjelman käyttäessä levyä.
Tämä valinta kytkee pois valinnan Preload/S.

NoFilter/S

Kytkee audiosuodattimen pois. Huomaa, että tämä valinta vaikuttaa vain alustukseen käynnistyksen yhteydessä, jos itse ohjelma muuttaa äänisuodattimen tilaa, tällä valinnalla ei ole vaikutusta.

NoFlushMem/S

Normaalisti WHDLoad tyhjentää muistin käynnistyksen yhteydessä, jotta Preload/S-toimintoa varten saadaan mahdollisimman paljon vapaata muistia. Se poistaa muistista käyttämättömät resurssit, kuten kirjastot, fontit jne. Tätä valintaa käytettäessä WHDLoad ei tyhjennä muistia. Sitä voidaan käyttää parantamaan suorituskykyä järjestelmissä, joissa on paljon vapaata muistia.

NoResInt/S

Tämä valinta kytkee keskeytykset pois päältä suoritettaessa resload-toimintoja. Normaalisti keskeytykset sallitaan resload-toimintojen aikana. Keskeytykset saattavat toistaa ääntä, päivittää ruutua tai tehdä muuta tärkeää. Niiden estäminen saattaa aiheuttaa äänen/kuvan häiriötä tai yleisempää väärin toimimista. Virheellisesti toimivat keskeytykset voivat kuitenkin tuhota WHDLoadin data-alueita, mikä johtaa useimmiten WHDLoadin ja todennäköisesti koko käyttöjärjestelmän kaatumiseen. Tällä valinnalla voidaan tarkkailla näitä ongelmia. Mikäli asennustiedosto käyttäytyy oudosti tai kaataa WHDLoadin ilman tätä valintaa, mutta toimii hyvin valinnan kanssa, syynä on hyvin todennäköisesti keskeytysongelma. Tällöin asennustiedosto tulee korjata.

NoReq/S

Tätä valintaa voidaan käyttää vain, kun WHDLoad on käynnistetty komentoriviltä (CLI/Shell). Workbenchista käynnistettynä sillä ei ole vaikutusta. Tämä valinta aiheuttaa sen, että WHDLoad ei näytä valitsimia uusissa ikkunoissa vaan ohjaa tulostuksen komentoikkunaan, josta WHDLoad on käynnistetty.

NoMMU/S

Mikäli tämä valinta on asetettuna, WHDLoad ei käytä MMU:ta. Tämä on kriittinen ja vaarallinen valinta, jota suositellaan vain testaukseen ja vianetsintään, ei normaaliin käyttöön. Lisätietoja on luvussa MMU. Tämä valinta ohittaa valinnan MMU/S.

NoTrapHandler/S

Mikäli tämä valinta on käytössä, WHDLoad käyttää käyttöjärjestelmän alkuperäistä vektoritaulukkoa, joka on aktiivisena käynnistyksen yhteydessä. Käynnistettäessä WHDLoad kopioi järjestelmän vektoritaulukon eikä luo omaansa. Tämä on hyödyllinen vain vianetsintään, eikä sitä tule käyttää normaalisti. Varoitus: Mikäli poikkeuksenkäsittelijä, jota kutsutaan alkuperäisen vektoritaulukon kautta, yrittää kutsua käyttöjärjestelmäfunktiota tai käyttää käyttöjärjestelmän datarakenteita, järjestelmä kaatuu (esim. exec.Alert).

NoVBRMove/S

Oletuksena WHDLoad siirtää vektoritaulukon VBR:n (Vector base Register) avulla eri muistiosoitteeseen kuin $0. Tämän etu on, että asennettu ohjelma ei voi muuttaa vektoritaulukkoa, mitkä lisää huomattavasti WHDLoadin turvallisuutta ja vakautta. Jotkin asennetut ohjelmat/slave-ohjelmat eivät toimi oikein siirretyllä VBR:llä. Syynä on, että asennettu ohjelma tekee jotakin kummallista, jota siirretty VBR ei tue, tai asennustiedoston tekijä oli laiska eikä tehnyt tukea siirretylle VBR:lle. Tässä tapauksessa valinta tulee asettaa, jotta WHDLoad ei siirrä VBR:ää.
Toinen siirretyn VBR:n ominaisuus on, että WHDLoad voi tarkistaa näppäimistön tilan joka kerta, kun tapahtuu Autovector-keskeytys. Tämän tarkistuksen myötä WHDLoad voi pysäyttää asennetun ohjelman/slave-ohjelman siitä riippumatta, jos QuitKey/S- tai DebugKey/S-valinnan näppäintä painetaan (samoin asennettu ohjelma voidaan keskeyttää, jos FreezeKey/S-näppäintä painetaan).
VBR:n siirtotoiminto vaatii ainakin 68010:n toimiakseen. 68000:lla valinnalla ei ole vaikutusta, sillä VBR on aina osoitteessa $0 eikä sitä voi siirtää.

NoWriteCache/S

Tämä valinta poistaa WHDLoadin levykirjoitusvälimuistin. Ilman tätä toimintoa WHDLoad yrittää pitää kaikki kirjoitusoperaatiot muistissa ja suorittaa ne vasta poistuttaessa ohjelmasta, jotta vältetään tarpeettomilta siirtymiltä käyttöjärjestelmään.

NTSC/S

Mikäli tämä on valittuna, WHDLoad käyttää NTSC-näyttöä (60 Hz) asennetulle ohjelmalle. PAL-Amigassa tulee asentaa NTSC-näyttöajuri hakemistoon "DEVS:Monitors/".

PAL/S

Mikäli tämä on valittuna, WHDLoad käyttää PAL-näyttöä (50 Hz) asennetulle ohjelmalle. NTSC-Amigassa tulee asentaa PAL-näyttöajuri hakemistoon "DEVS:Monitors/".

Preload/S

Mikäli valinta on käytössä, WHDLoad lataa mahdollisimman monta tiedostoa ja levynkuvaa muistiin (riippuen vapaan muistin määrästä) käynnistyksen yhteydessä. Tämä parantaa suorituskykyä asennetun ohjelman ollessa käynnissä, koska siten vältetään siirtyminen käyttöjärjestelmään tietojen lataamiseksi suoraan kiintolevyltä. Tämän valinnan tulee olla aina kytkettynä.

QuitKey/K/N

Asettaa rawkey -koodin, jolla ohjelma loppuu, tämä toimii vain, jos WHDLoad on siirtänyt VBR:n (NoVBRMove/S ei saa olla asetettuna ja suorittimen on oltava vähintään 68010) tai slave-ohjelma tukee sitä.

ReadDelay/K/N

Tämä valinta määrittää ajan, yksikkönä 1/50 s, jonka WHDLoad odottaa luettuaan tiedot levyiltä sekä esilatauksen valmistuttua. Tämä ratkaisee ongelmia asemien (esim. CD-asemat) kanssa, jotka haluavat tehdä jotain lukemisen jälkeen (esim. kytkeä moottorin pois).

RestartKey/K/N

Tämän valinnan avulla voit määrittää rawkey-koodin, jota painettaessa WHDLoad käynnistää asennetun ohjelman uudestaan.

ShowRegs/K/N

Tämä valinta on hyödyllinen vain valinnan Expert/S kanssa. Tällä valinnalla voidaan määrittää, millä ohjelmalla WHDLoad näyttää rekisteridumpin jos painetaan Show Regs -painiketta WHDLoadin virheilmoituksessa. WHDLoad lisää tilapäisesti tallennetun tiedoston nimen (tällä hetkellä T:.whdl_register) määritettyyn komentoriviin.

Slave

WHDLoadin käyttämän slave-ohjelman nimi. Slave sisältää rajapintakoodin, jota tarvitaan tiedonsiirtoon asennetun ohjelman ja WHDLoadin välillä.

Snoop/S, SnoopAGA/S, SnoopECS/S, SnoopOCS/S

Nämä valinnat ottavat käyttöön WHDLoadin Cia/Custom register snoop -toiminnon.

SplashDelay/K/N

Tämä valinta määrittää ajan, yksikkönä 1/50 s, jonka WHDLoad näyttää tietoikkunan käynnistyksen yhteydessä. Mikäli SplashDelay/K/N on pienempi kuin ReadDelay/K/N, se jätetään huomioimatta, ja ikkunaa näytetään valinnan ReadDelay/K/N määrittämän ajan. Ikkunaa näytetään ainakin sen ajan, kuin Preload/S toimii.
Mikäli asetus on 0, ikkunaa ei näytetä.

StoreBuffer/S

Tämä valinta ottaa 68060:n Store Buffer -toiminnon käyttöön. Sillä ei ole vaikutusta muilla suoritintyypeillä.
Valinnalla ei ole vaikutusta, jos NoCache/S on myös asetettuna.

SuperScalar/S

Tämä valinta ottaa käyttöön 68060:n kyvyn suorittaa useita käskyjä kellojaksolla. Muilla suoritintyypeillä sillä ei ole vaikutusta.
Valinnalla ei ole vaikutusta, jos NoCache/S on myös asetettuna.

TimeOut/K/N

Asetettuna antaa WHDLoadin ja asennetun ohjelman päättyä määritellyn ajan jälkeen. Edellyttää, että valinta NoVBRMove/S ei ole asetettuna, ja että asennettu ohjelma ei muuta ciaa.ciatod -ajastinta. Lopetusaika määritellään yksiköllä 1/50 s. Voit mitata tämän ajan demolle tai pelille ottamalla käyttöön valinnan Expert/S ja asettamalla DebugKey/K/N:n, kun haluamasi lopetuspiste saavutetaan, paina debug-näppäintä. Katso nyt luotua .whdl-register-tiedostoa ja etsi ciaa-event-arvo. Mikäli virtalähteen taajuus on 50 Hz, arvo on suoraan se, joka tulee asettaa TimeOut/K/N:ään, jos taajuus on 60 Hz, arvo tulee kertoa 5/6:lla.

WriteDelay/K/N

Tämä valinta määrittää ajan, yksikkönä 1/50s, jonka WHDLoad odottaa kirjoitettuaan mitään fyysisesti levylle. Se vaikuttaa kaikkiin resload_Save#? -toimintoihin ja FileLog/S-ominaisuuteen. Tässä on järkeä, koska tiedostojärjestelmät eivät yleensä kirjoita tietoja levylle välittömästi. Kestää aikaa (1-3 sek) ennen kuin kaikki tiedostojärjestelmän rakenteet on päivitetty onnistuneesti. Oletusarvo WriteDelaylle on 150, jolloin WHDLoad odottaa 3 sekuntia jokaisen kiintolevylle kirjoituksen jälkeen. Voit asettaa tämän arvon 0:aan, mutta silloin et voi koskaan poistua resetoimalla asennetusta ohjelmasta, koska tallennetut tiedot eivät ole ehkä oikein kirjoitettuna.