Welcome, Guest. Please login or register.


Author Topic: Általános BASIC Kérdések (Read 428895 times)

Offline Lacika

  • EP addict
  • *
  • Posts: 3197
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #420 on: 2013.January.24. 13:24:12 »
80 karakteres módban talán van több szín is.

Csak két színpár van text 80-ban.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14732
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #421 on: 2013.January.24. 13:30:52 »
Jééé, tényleg, de érthető miért, peek-el is ugyanide jutnánk.
A karakterkészleteknél kitárgyaltuk, hogy 128 karakteres Nick módot használ az EXOS, azonban az ASCII-ban 32-től kezdődnek a nyomtatható karakterek. Így kihasználatlan lenne a 128-as karakterkészlet 0-31 kódú karakterei.
Ezért ezeket az EXOS-on keresztül 128-159 kódokkal érhetjük el, azonban a videó memóriába már konvertálva az eredeti kódokon kerülnek. És ezt is kapjuk vissza, amikor olvasunk a videó lapról.

A megoldás az, hogy LOOK-al olvasni numerikus változóba, és ha a kód 32-nél kisebb, akkor hozzá kell adni 128-at. Utána mehet a Print CHR$-el.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14732
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #422 on: 2013.January.24. 13:34:40 »
Quote from: Lacika
Csak két színpár van text 80-ban.
Akkor számold meg, hogy pl az FDISK mennyit használ :-)
Amúgy meg Application Notes 25., 2. oldal :-D

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #423 on: 2013.January.24. 21:34:13 »
Quote from: Zozosoft
A megoldás az, hogy LOOK-al olvasni numerikus változóba, és ha a kód 32-nél kisebb, akkor hozzá kell adni 128-at. Utána mehet a Print CHR$-el.
Ezt hogyan kell? Erre kíváncsi lennék! És LOOK-ból hogyan tudjuk meg, milyen kódú karakter van az adott pozícióban? És ha pont olyan részt olvas ki a look egy karakterből, ahol éppen üres pixel van?

De tényleg nincs olyan memóriacím érték, ami egy adott pozícióban lévő adott karakter kódját tárolja?

A képernyő nyomtatása helyett esetleg még azt lehetne kipróbálni, hogy nem csak a képernyőre írja ki a naptárat, hanem menet közben valami string változókba is, és a végén ezeket a string-eket lehetne a nyomtatóra küldeni. Tehát nem csak PRINT ... "január", hanem LET XYZ$=XYZ$&"január", meg ilyesmi.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14732
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #424 on: 2013.January.24. 21:46:09 »
Quote from: szipucsu
Ezt hogyan kell? Erre kíváncsi lennék! És LOOK-ból hogyan tudjuk meg, milyen kódú karakter van az adott pozícióban? És ha pont olyan részt olvas ki a look egy karakterből, ahol éppen üres pixel van?
Elfelejtették beleírni a BASIC kézikönyvbe, hogy szöveges módban a karakterkódot adja vissza.
De az EXOS leírásból ki lehetett találni.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #425 on: 2013.January.24. 22:27:37 »
A 26254 és a 27215 közötti címeken valahogy a képernyőn lévő karakterek kódjait tárolja a gép. Ez lekérdezhető a SPEEK 255,26254, írható a SPOKE 255,26254,akármennyi utasításokkal. Bár nem úgy működik látszólag, ahogy elképzeltem. :D

A nyomtatáshoz amúgy talán a legjobban használható valami ilyesmi:
OPEN #1:"PRINTER:"
COPY FROM #102 TO #1
CLOSE #1
Gondolom, működik, bár még sose próbáltam élesben.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Lacika

  • EP addict
  • *
  • Posts: 3197
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #426 on: 2013.January.24. 22:44:20 »
Szerintem a LOOK csak grafikus képernyőn működik, ahogy a Felhasználói kézikönyv írja...
INVALID ESCAPE SEQUENCE üzenetet ad.

Offline Lacika

  • EP addict
  • *
  • Posts: 3197
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #427 on: 2013.January.24. 22:49:53 »
Quote from: szipucsu
A nyomtatáshoz amúgy talán a legjobban használható valami ilyesmi:
OPEN #1:"PRINTER:"
COPY FROM #102 TO #1
CLOSE #1
Gondolom, működik, bár még sose próbáltam élesben.
Zozo, ezt kipróbálod, műküdik-e. Nem hiszem, mert akkor file-ba is működnie kellene...

Offline Lacika

  • EP addict
  • *
  • Posts: 3197
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #428 on: 2013.January.24. 23:20:18 »
Quote from: Zozosoft
Akkor számold meg, hogy pl az FDISK mennyit használ :-)
Amúgy meg Application Notes 25., 2. oldal :-D
És tényleg... Mik derülnek ki 25 év után....

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14732
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #429 on: 2013.January.25. 07:53:50 »
Quote from: Lacika
Szerintem a LOOK csak grafikus képernyőn működik, ahogy a Felhasználói kézikönyv írja...
INVALID ESCAPE SEQUENCE üzenetet ad.
Igen valami el van benne rontva... :evil:
A kurzor pozicionálást elé egy PRINT #102, AT X,Y:; utasítással kell megoldani, aztán LOOK #102:V (azaz a példában a GET utasítást lecserélni).

Offline Lacika

  • EP addict
  • *
  • Posts: 3197
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #430 on: 2013.January.25. 09:18:55 »
Zozo!

Ezt a DDUMP-ot ki tudod próbálni nyomtatásra?
A MENTES eljárásba csak bele kellene rakni a DDPRINT-et, hogy az mit csinál. AZ a baj, hogy ez szerintem a KÉPERNYŐ tartalmát nyomtatja ki, a képből kilógó többi sort nem. Nekünk az 1-es csatorna tartalmát kellene kinyomtatnunk.
Furcsa, hogy egy ilyen "banális" feladattal, mint egy szöveges csatorna kinyomtatása, csöcsre futunk...

Offline Lacika

  • EP addict
  • *
  • Posts: 3197
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #431 on: 2013.January.25. 09:23:32 »
A kurzor pozicionálást elé egy PRINT #102, AT X,Y:; utasítással kell megoldani, aztán LOOK #102:V (azaz a példában a GET utasítást lecserélni).

Ez így működni fog? Ki van próbálva? Ez szimpatikus megoldásnak tűnne...

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14732
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #432 on: 2013.January.25. 09:51:50 »
Quote from: Lacika
Ez így működni fog? Ki van próbálva? Ez szimpatikus megoldásnak tűnne...
Ki, különben nem javasoltam volna :oops:

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9926
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #433 on: 2013.January.25. 16:54:13 »
Quote from: Zozosoft
Ki, különben nem javasoltam volna :oops:
Működik, de ha ALT-tal lenyomott billentyűvel írunk abba a sorba, azt nem tudja elolvasni...

A szöveges képernyő fájlba mentése tutira megoldható a COPY paranccsal, mert régen egyszer csináltam ilyet. Csak akkor a sor végét tényleg sor végének vette, akkor is, ha a következő sor valójában az előző sor folytatása volt, csak nem fért ki ki egy sorba.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14732
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #434 on: 2013.January.25. 16:59:00 »
Működik, de ha ALT-tal lenyomott billentyűvel írunk abba a sorba, azt nem tudja elolvasni...
Azt irtam korábban, hogy ha az érték 32-nél kisebb, akkor hozzá kell adni 128-at.