Koittakaapas selittää tälläiselle typerykselle, että mitä toi Segment tarkoittaa ja kaikki noi Def seg jutut.
Ne on jotain Segmenttiosoitteita, joihin on tallennettu esim näytön pikselien värit.
Segmentti osoite valitaan esim.
Def Seg = &HA000
Ja niihin tallennettua tietoa voi muuttaa:
POKE muuttuja
Ja lukea:
PRINT PEEK muuttuja
Muistia ei voi DOSissa osoittaa suoraan, vaan osoittaminen täytyy tehdä erillisen segmenttiosoitteen ja siirrososoitteen (offset) avulla. Kun segmenttiosoite kerrotaan 16:lla ja siihen lisätään siirrososoite, saadaan todellinen muistiosoite. Tämä tarkoittaa myös sitä, että sama muistiosoite voidaan muodostaa useammalla tavalla.
QBasicissa segmenttiosoite määritetään DEF SEG -komennolla. Tämän jälkeen siirrososoitetta voidaan käyttää POKEn (muistiin) ja PEEKin (muistista) kanssa. hunajavohveli antoikin oivan esimerkin asiasta: näyttömuistin aloitussegmentti on &HA000, ja kun se on valittu, voidaan pikselien väriä muuttaa POKElla ja lukea PEEKillä. Pikselit on tallennettu muistiin järjestyksessä näytön vasemmasta ylänurkasta alkaen, vasemmalta oikealle ja ylhäältä alas.
(https://www.ohjelmointiputka.net/koodivinkit/
Tuo koodivinkki selostaakin hyvin, miten pikselin kahdesta x ja y-koordinaateista saadan yksi segmenttiosoitteen numero.
Aihe on jo aika vanha, joten et voi enää vastata siihen.