Welcome, Guest. Please login or register.


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

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Általános BASIC Kérdések
« on: 2006.February.09. 23:33:29 »
Be lehet tölteni a karakterkészletet BASIC-be a következõvel:

100 ALLOCATE 20
110 OPEN #1:""
120 CODE M=HEX$("11,80,B4,01,80,04,3E,01,F7,06,C9")
130 CALL USR(M,0)

Elmenteni hogyan lehet?
« Last Edit: 2021.December.28. 10:36:18 by MrPrise, Reason: Topik átnevezése »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline hsoft

  • EP fan
  • *
  • Posts: 113
Re: Általános BASIC Kérdések
« Reply #1 on: 2006.February.11. 09:14:40 »
Ugyan igy is lehet csak pár hexa szám más lesz :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #2 on: 2006.February.12. 17:45:44 »
Quote from: "hsoft"
Ugyan igy is lehet csak pár hexa szám más lesz :)


Halvány gõzöm sincs a gépi kódról meg az assemblyrõl. Az ilyen karakterdefi fájlokat be lehet tõlteni vajon úgy, hogy basicben megnyitunk egy csatornát access input módon, onnan read #n (vagy input vagy get #n, már nem tudom), és spoke utasításban hivatkozunk a beolvasott számokra? (Asszem, a demokazetta karakterdefiniáló programjából ki lehet szedni, hogy mely memóriaterületeken tárolódnak a karakterek alakjai.)
(Érdekes, hogy ha BASIC-ben simán betöltünk egy CHR fájlt, akkor OK-val leáll és nem hibaüzenetet küld - nem mintha túl nagy jelentõsége lenne.)
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline hsoft

  • EP fan
  • *
  • Posts: 113
Re: Általános BASIC Kérdések
« Reply #3 on: 2006.February.13. 13:28:28 »
Helyesen látod: Egyik módszer az hogy használod a basic karakter definiálló utasítását. A másik, kevésbé elegáns, ha spoke(255,x,y)-al közvetlenül feltõltöd a karakterdefiniciós rendszerterületre. Címét megtudhatod pl. az EXOS leírásából. Az elsõ 128 bájt a karakterek felsõ pixelei, összesen 9 sor van definiálva, tehát 9*128 bájtos területrõl van szó. Harmadik módszerben gépi kódú utasításokkal végzed el ugyanezt.
Viszont most úgy nézem Te inkább menteni szeretnél. Ehhez mindössze le kell mentened a teljes területet, de ha csak egyes karakterre van szükséged akkor valahogy így:

OPEN #1:"név" Access Output
X=karakterkód band 127 (magyarul if X>127 then X=X-128)
For Y=0 to 8
  Print #1:chr$(SPeek(255, CharDef+X+Y*128));
Next Y
Close #1

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #4 on: 2006.February.15. 22:50:45 »
Köszi a válaszokat!

Meg az is érdekes, hogy ha az autosorszámozás be van kapcsolva, akkor a read if missing után a 616. vagy hasonló sor jön mindig. De mintha az elején ez nem így lett volna. Pár évig is soxor akcióztam auto-val, és írtam be a read if missinget és akkor jó volt. Szerintem idõközben romlott el a gépben ez. Ez azért érdekes, mert valamelyik Enterpressben olvastam, hogy ez több gépen is így van, tehát nem az én gépem romlott el, vagy pedig egyes gépeken eleve rossz ez, másokon meg késõbb romlik el...

Tényleg, az emulátoron még nem próbáltam, hogyan mûk.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #5 on: 2006.August.15. 01:18:05 »


Nemrég került fel ez az ep128.hu oldalra.
Most azért hozom ezt fel, mert az elõbbi pillanatban hoztam be egy bögre kakaót és a gép mellé tettem, és hírtelen eszembejutott, hogy itt a lehetõség. Nem is tudom, évek során valaha volt-e a gép mellett kakaó. Ezért a kérdésem: Tudja esetleg valaki, hogy PC-n az emulátorral is mûködik bögre kakaó mellett ez a program, vagy csak az eredeti gépen? (Nem tudom, hogy a kakaóérzékelõ emuláció is mûködik-e, nem akarom elrontani a gépet.)
Azt hiszem, sürgõsen Egzo-hoz kéne fordulnom.
PS. Instant kakaóporból készült kakaó is megteszi, vagy csak a boltban kapható dobozos ill. zacskós :?:
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #6 on: 2006.August.15. 09:38:23 »
Én is nagyon jókat nevettem a Biciklipumpa Teszten.  :D
Nagy csoda az a program, fõleg hogy egyáltalán mûködik:


(magyarázza el valaki, hogy a 910-es sornál miért nem jelez INVALID END OF BLOCK hibát???)

Offline MrPrise

  • Administrator
  • EP addict
  • *
  • Posts: 2755
  • Country: hu
    • Enterprise Forever
Re: Általános BASIC Kérdések
« Reply #7 on: 2006.August.15. 09:49:04 »
Quote from: "Lacika"
(magyarázza el valaki, hogy a 910-es sornál miért nem jelez INVALID END OF BLOCK hibát???)

Nincs benne rejtett sor? Nem ismertem ezt a programot, de nem semmi ;-)

Offline gafz

  • EP lover
  • *
  • Posts: 700
  • Country: hu
    • http://gafz.atw.hu
Re: Általános BASIC Kérdések
« Reply #8 on: 2006.August.15. 09:52:21 »
Nem lehet, hogy átugorja mindenképpen azt a 2. end if-et?
Enterprise Forever

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #9 on: 2006.August.15. 09:59:03 »
Quote from: "Lacika"

(magyarázza el valaki, hogy a 910-es sornál miért nem jelez INVALID END OF BLOCK hibát???)

Azért mert ahogy a listából is látszik az ott egy invalid end of block :-)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #10 on: 2006.August.15. 10:08:45 »
Quote from: "MrPrise"
Na, de õ pont azt kérdi, hogy miért nem jelez hibát :-D

Talán mert soha nem jut el oda a program? :-) 890-esben van egy GOTO...

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #11 on: 2006.August.15. 13:43:24 »
Quote from: "Lacika"

(magyarázza el valaki, hogy a 910-es sornál miért nem jelez INVALID END OF BLOCK hibát???)


Szerintem ott van a hiba, hogy azt hitte a gép, hogy van ott egy bögre kakaó. Nem lehet, hogy a gép mellett volt valami, ami nagyon hasonlít egy bögre kakaóhoz? Ha azt elveszed onnan, lehet, hogy már nem fog mûködni.
Ezentúl mindig bögre kakaó mellett fogom a programokat futtatni, mert akkor sosincs

[epline tc=146 bc=0 ttc=0 tbc=1 xs=1 ys=2]*** Invalid end of block.[/epline]
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline gafz

  • EP lover
  • *
  • Posts: 700
  • Country: hu
    • http://gafz.atw.hu
Re: Általános BASIC Kérdések
« Reply #12 on: 2006.August.15. 13:44:48 »
Kakaó nem volt, legfeljebb egy csikkel teli hamutartó... :lol:

[epline tc=146 bc=0 ttc=0 tbc=1 xs=1 ys=2]*** Fatal Error, re-starting system[/epline]
Enterprise Forever

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #13 on: 2006.August.15. 13:56:19 »
Quote from: "Lacika"

(magyarázza el valaki, hogy a 910-es sornál miért nem jelez INVALID END OF BLOCK hibát???)


[epline tc=146 bc=0 ttc=0 tbc=1 xs=1 ys=2]*** No cocoa mug found.[/epline]


Viccet félretéve, a gépnek szerintem tök mindegy, van-e az END mellett IF vagy nincs. Amikor még gõzöm sem volt, mi az az eljárás meg a ciklus, poénból idõnként odaírtam az IF-et az END mellé. Késõbb rájöttem, hogy ennek más funkciója (is?) van.
Egyébként mintha a gépkönyvben is lennének olyan példaprogramok, melyeknek a végén van egy END IF, utána pár sor !-es megjegyzésekkel, és utána END.

Két eset lehetséges:

1. Az END IF nem csak az IF-es eljárás lezárására hivatott, hanem más funkciója is van (a természetes nyelvben ezt nevezik többjelentésû szónak, míg pl. a ! és a REM rokon értelmûek).

2. Az IS-BASIC-be valami hiba csúszott (pl. kontakthiba  :D ), (vö, az AUTO is meghülyül a READ IF MISSING-nél).

Én az elõbbit tartom valószínûnek, hiszen a gépkönyvben is alkalmazzák az END IF-et IF eljárás nélkül.
Érdemes lenne megnézni más gépek basic nyelvét (pl. Spectrum), ott hogy van ez. Egyáltalán létezik más gépek basic-jében pl. az IF, a DEF, mint eljárás? Az END DEF, END IF, END WHEN mintha EP specifikusak lennének. Hiába, az EP ilyet is tud, amit más gép nem. :smt006

Kakaót rá!!!
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: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: Általános BASIC Kérdések
« Reply #14 on: 2006.August.15. 14:08:48 »
Quote from: "szipucsu"

Én az elõbbit tartom valószínûnek, hiszen a gépkönyvben is alkalmazzák az END IF-et IF eljárás nélkül.

Ha ilyet láttál benne, akkor az nyomdahiba. Mindig is hírhedt volt arról a magyar könyv, hogy tele van hibákkal.
Az END IF az csak IF-hez tartozhat.
Itt az elsõ END IF a 720-as sorban lévõ IF-hez tartozik, a második nem tartozik semmihez (abból is látszik ugyanabban az oszlopban van kilistázva mint az elsõ), de mivel a GOTO-k miatt soha nem jut el ide a programvégrehajtása, ezért nincs hibaüzenet.