OLI76.HU - Orosz Olivér weboldala
személyes blog festmények, airbrush online játékok android retro rovat videoton tvc programozás
személyes blog festmények, airbrush online játékok android retro rovat videoton tvc programozás
Videoton TVC

menü:
információ a TVC-ről
TVC emulátor
TVC emulátor mini
emulátor kezelése
a TVC kezelése
játékok kezelése
emulátor letöltése
galéria
screenshot-ok 1
speciális képek 1
speciális képek 2
TVC BASIC

mélyvíz:
hardver
memória térkép
assembly

játékok:
Gyíkkirály
Boszorkány 2
Raiders of Lost Ark
Adventure
Kincskereső
Kardhalak és Kincsek

fórum:
kapcsolódó fórum



memória térkép

A gép egyszerre maximum 64 Kbyte memóriát tud címezni. A valódi memória lehet ennél több. A 64K memória 4 lapra van felosztva, és meghatározhatjuk, hogy melyik lapon melyik memóriaszeletet lássuk.

A négy lap címe:

0. lap: 0000h-3FFFFh
1. lap: 4000h-7FFFFh
2. lap: 8000h-BFFFFh
3. lap: C000h-FFFFFh

A különböző lehetséges beállítható memória típusok:
0..URAM0
1..URAM1
2..URAM2
3..URAM3
4..VID -video RAM
5..CART -cartridge
6..SYS - rendszer ROM
7..EXT - rendszer ROM kiegészítés

A 2-es portra írással állíthatjuk be a kívánt lapot a következő módon:

0. lap: 3-4 bit, 0x00-SYS, 0x08-CART, 0x10-URAM0
1. lap: 2. bit, 0x00-URAM1, 0x04-video ram
2. lap: 5. bit, 0x00-video ram, 0x20-URAM2
3. lap: 6-7 bit, 0x00-CART, 0x40-SYS, 0x80-U3, 0xc0-IO mem/EXT SYS

Bekapcsolás után a felosztás:
0. lap: URAM0
1. lap: URAM2
2. lap: URAM3
3. lap: SYS (rendszer ROM)

Memória felosztása:
0x0003 -(1 byte) memória lapozás mód, 2-es portra írás előtt ide mentjük az értéket
0x0008 -(25 byte) BASIC hibakezelő rutinok
0x0021 -(7*2 byte) gépi kódú rutinok kezdőcímei
0x0030 -(8 byte) funkcióhívások belépési pontjai
0x0038 -(8 byte) IT belépési pont
0x0040 -(192 byte) csatolókártyák azonosítói
0x0100 -(1600 byte) a 64x25 karakteres képernyő mátrixa, képernyőn lévő karakterek kódjait tartalmazza, a 25. sor nincs használva
0x0740 -(960 byte) 128 és 223 közötti karakterek képe, 1 karakter 10 byte
0x0B00 -(8 byte) Input hozzárendelési tábla
0x0B08 -(8 byte) Output hozzárendelési tábla
0x0B10 -(1 byte) Cursor IT által kiszolgált eszközök
0x0B11 -(1 byte) 3-as port tükörképe
0x0B12 -(1 byte) 5-ös port tükörképe
0x0B13 -(1 byte) 6-os port tükörképe (grafikus mód)
0x0B14 -(1 byte) FF: előző hang nem befejeződött még be
0x0B15 -(1 byte) FF: új hang megszakítja a régit
0x0B16 -(1 byte) FF: CTRL+ESC-t lenyomtak
0x0B17 -(2 byte) verem alsó határa képkitöltésnél
0x0B19 -(2 byte) a legmagasabb RAM cím
0x0B1B -(1 byte) FF-hiba a 3. lapon, 0-3. lap jó
0x0B1D -(2 byte) számláló, értéke 20 ms-onként egyel nő
0x0B1F -(1 byte) csatolókártya IT engedélyezés
0x0B20 -(1 byte) IT kiszolgálás alatt
0x0B21 -(1 byte) meleg RESET van folyamatban
0x0B22 -(1 byte) FF: meleg RESET tiltva
0x0B23 -(20 byte) funkcióhívások kezdő része
0x0B37 -(10 byte) funkcióhívások befejező része
0x0B41 -(8 byte) IT program befejező rész
0x0B49 -(2 byte) verem mutató idéglenes tárolása
0x0B4B -(1 byte) grafikus pont felülírási módja
0x0B4C -(1 byte) vonaltípus
0x0B4D -(1 byte) tinta szín
0x0B4E -(1 byte) papírszín
0x0B4F -(1 byte) keretszín
0x0B50 -(1 byte) karakter felülírási flag
0x0B51 -(10 byte) beolvasott karakter mátrix
0x0B5B -(10 byte) előző karakter mátrix
0x0B65 -(1 byte) auto repeat késleltetési idő (20 ms)
0x0B66 -(1 byte) 0.bit=CAPS, 1. bit=SHIFT, 7. bit=ALT lenyomva
0x0B67 -(1 byte) auto repeat időzítés (20 ms)
0x0B68 -(1 byte) 0-HOLD mód engedélyezve ,FF-tiltva (CTRL+P hatástalan)
0x0B69 -(1 byte) soros vonal sebessége
0x0B6A -(1 byte) USART üzemmód
0x0B6B -(1 byte) bufferelt (FF) /nem bufferelt(00) file
0x0B6C -(1 byte) magnó motorvezérlő kijelölése
0x0B6D -(1 byte) ha nem nulla akkor megnyitás után védett (FF) fájl lesz
0x0B6E -(1 byte) 0-nincs file vége, nagyobb érték: file vége van
0x0B6F -(2 byte) CRC számítás kiinduló értéke
0x0B71 -(1 byte) FF: hangkeltés elrontotta a soros vonal órajelét
0x0B72 -(15 byte) video munkaterület
0x0B81 -(100 byte) I/O munkaterület
0x0BE5 -(10 byte) billentyűzet munkaterület
0x0BEF -(1 byte) hang munkaterület
0x0BF0 -(600 byte) kazetta munkaterület
0x0E48 -(80 byte) editor munkaterület
0x0E98 -(20 byte) program azonosító szöveg BASIC 1.3-tól
0x0EAC -(2048 byte) rendszer verem
0x16AC -(835 byte) BASIC munkaterület
0x1703 -(1 byte) FF: parancs módban törlődik a basic program
0x1707 -(1 byte) automatikus programindítás, ha mentéskor az értéke 255
0x1708 -(1 byte) szimbólumtábla aktuális elemének típusa
0x170C -(2 byte) aktuális BASIC sor kezdőcíme
0x1720 -(2 byte) BASIC terület kezdete
0x1722 -(2 byte) BASIC program kezdőcíme
0x1724 -(2 byte) szimbólumtábla utolsó elemének címe
0x1726 -(2 byte) szimbólumtábla következő szabad byte-jának címe
0x1732 -(255 byte) aktuális BASIC programsort tartalmazó puffer
0x1831 -(255 byte) input puffer a billentyűzet számára
0x19C0 -(7 byte) lebegőpontos aritmetikai regiszter
0x19C7 -(7 byte) lebegőpontos aritmetikai regiszter
0x19CE -(17 byte) filenév buffer, 0.byte filenév hossza, 1..16 filenév Név nélküli LOAD/SAVE innen veszi a nevet, normál esetben üres sztring
0x19EF -BASIC munkatretület kezdete. Ha írunk egy programot az innen foglal helyet, és ha betöltünk fájlból egy BASC prgoramot az is ide töltődik be.

0xC5B5 -(960 byte) 32 és 127 közötti kódú karakterek pontmátrixa (képe), 1 karakter 10 byte