Welcome, Guest. Please login or register.


Author Topic: BASIC (Read 176158 times)

Offline szipucsu

  • EP addict
  • *
  • Posts: 8028
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 67.0 Firefox 67.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1380 on: 2019.July.09. 23:31:56 »
Esetleg lehet úgy programozni, hogy két SOUND közé betenni pl a karakter változókat helyezni?
Betenni be lehet éppen. Csak késni fog egymáshoz képest a két sound, ha két különböző csatornát használ (pl. egyik a source 1-et, a másik a source 2-t). De SYNC paraméterrel így is megoldható, hogy egyszerre szólaljon meg a két hang.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 754
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 67.0 Firefox 67.0
    • View Profile
Re: BASIC
« Reply #1381 on: 2019.July.10. 09:23:28 »
Akkor lehet rosszul magyarázok.
A sound-ba nem mélyültem el azokat össze ollóztam mindig.
Írnál egy 3-10 másodperces 1 csatornás zenét? Vágy ki ollózhatsz valahonnan.
 PL.: főcím, lehet több csatornás is.
Akár még az Entersnake -ba is bele tehető lesz.
Ha lefordítjuk ZZZIP-el akkor is normál sebbességgel játtsza le?

Offline szipucsu

  • EP addict
  • *
  • Posts: 8028
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 67.0 Firefox 67.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1382 on: 2019.July.10. 13:48:16 »
Ha lefordítjuk ZZZIP-el akkor is normál sebbességgel játtsza le?
Igen. A DURATION paraméter megadja a hang hosszát 1/50 másodpercben, ez akkor is annyi marad, ha Zzzippel van fordítva. A hang megszakításból megy, tehát mást is tud közben csinálni a gép. Viszont Zzzippel fordítva a "hangtár" (vagy mi a neve) megtelhet, a sok sound utasítás egymás után mindig elküldi a hangot a memóriának, hogy majd onnan játssza le a gép, de ez a tár megtelhet. Ezért kell valami késleltetés is (pl. FOR-NEXT ciklussal). A Hungry Creature játékban is így oldottam meg a menüben. (De annak nincs fent a basic változata, azt hiszem, de talán a fórumra egyszer feltettem.)
Sajnos (tudtommal) csak tippelni lehet, mekkora késleltetés kell a zzzippelt zenéhez, mert a basic lassabb, és később telik be a tár. Ha betelik a tár, akkor addig áll a program futása, míg az adott hang véget nem ér.

Az Entersnake-be én is gondolkodtam már zenén, van is tervben. A játék közbeni zenék közül lenne az egyik (nem kellenek külön DATA sorok), csak más hangzással. De attól még csinálhatsz te is zenét, hátha az jobb lesz, vagy máshova jó lesz.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline szipucsu

  • EP addict
  • *
  • Posts: 8028
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 67.0 Firefox 67.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1383 on: 2019.July.10. 13:56:18 »
Írnál egy 3-10 másodperces 1 csatornás zenét?
Ha ez kell a teszteléshez:

Code: [Select]
100 RESTORE
110 FOR I=1 TO 36
120   READ G
130   SOUND PITCH G,DURATION 10
140 NEXT I
150 DATA 37,39,37,39,37,39,41,42,44,44,44,44
160 DATA 37,39,37,36,37,39,37,36,34,32,34,34
170 DATA 49,48,46,48,49,48,44,46,42,44,41,37

A hangzáson még lehetne dobni sokat sokféleképpen, ha érdekel, pl.

Code: [Select]
130 SOUND PITCH G+.2,DURATION 10,SOURCE 2,SYNC 1
135 SOUND PITCH G,DURATION 10,SYNC 1,STYLE 128
A 130-as sorba +.2 helyett lehet pl. +.3 vagy +.1 vagy +.05, de Zzzippel ez nem fog így szólni, mert az mindent kerekít.

Vagy:
Code: [Select]
130 SOUND PITCH G,DURATION 10,SOURCE 0,SYNC 1,STYLE 64
135 SOUND PITCH G+7,DURATION 10,SYNC 1,SOURCE 1
A 135-ös sorba itt a 7 helyett lehet írni pl. 12-t vagy 19-et, más lesz a hangzás. (Ha kapásból jól írtam mindent.)
« Last Edit: 2019.July.10. 14:01:39 by szipucsu »
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 754
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 67.0 Firefox 67.0
    • View Profile
Re: BASIC
« Reply #1384 on: 2019.July.10. 14:46:16 »
Na valami ilyesmire gondolok.

listázd
futtasd
00:00:06       zene lefutási ideje, rész idő
00:00:10       program mérés vége

210  ! SET ...
220  ! SET ...

160    SET ...
170    SET ...

futtasd
00:00:06       zene lefutási ideje, rész idő
00:00:06       program mérés vége

Nos ezen már el lehet gondolkodni.

Offline szipucsu

  • EP addict
  • *
  • Posts: 8028
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1385 on: 2019.July.11. 18:43:34 »
Csak kíváncsiságból teszteltem, hogy a GOSUB-RETURN módszer gyorsabb-e, vagy a CALL-DEF:

Basic programban, ha nem akarjuk Zzzippel fordítani, a GOSUB-RETURN-t érdemes használni, ha számít a sebesség. (Már ha a mérési módszerem hiteles.)
Lehet, a basic Hamika turbó változatában is majd át kéne írni néhány CALL-t GOSUB-ra, hátha gyorsulna valamit.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 754
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 67.0 Firefox 67.0
    • View Profile
Re: BASIC
« Reply #1386 on: 2019.July.11. 19:02:05 »
Látom tanulsz.

De a 205 sort a 185 sorba kellet volna rakni.

Így tényleg gyorsabb.

De próbáld meg pl változó átvitellel meg oldani a bosub-ot

Gondolok a CALL CHAR_DEF(CH0,CH1,CH2,CH3,CH4...

Különben is a CALL nem olyan gyakori mint pl a PRINT.
Plusz ha a GOSUBnál elírod a sor számot rögtön prüszköl.
Csak RENUMBERel tudsz sorszámozni.
« Last Edit: 2019.July.11. 19:05:13 by Ferro73 »

Offline Ferro73

  • EP lover
  • *
  • Posts: 754
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
Re: BASIC
« Reply #1387 on: 2019.July.12. 15:46:26 »
Sebesség arány: GET A$  -  A$=INKEY$
BASIC                      37s            46s
ZZZIP                        6s              9s

Programozáshoz segítség.

Offline szipucsu

  • EP addict
  • *
  • Posts: 8028
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1388 on: 2019.July.13. 19:58:34 »
Fura, hogy nem fogad el egy sorban több PING-et:

100 PING :PING :PING
Ez hibát okoz.

Több CLEAR sem lehet egy sorban, ez is hibát okoz:
10 OPEN #1:"video:"
20 OPEN #2:"video:"
30 OPEN #3:"video:"
40 CLEAR #1 :CLEAR #2 :CLEAR #3


Viszont CLOSE lehet több is egy sorban:
10 OPEN #1:"video:"
20 OPEN #2:"video:"
30 OPEN #3:"video:"
40 CLOSE #1 :CLOSE #2 :CLOSE #3
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline endi

  • EP addict
  • *
  • Posts: 7271
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 75.0.3770.100 Chrome 75.0.3770.100
    • View Profile
    • Honlapom
Re: BASIC
« Reply #1389 on: 2019.July.16. 11:52:31 »
kéne méréseket végezni arra hogy ha a keyboard: és sound: eszközöket lezárjuk, az mennyit gyorsít.
a joy függvény asszem akkor is műxik, ha nincs keyboard eszköz, továbbá ha nagyon kell, akkor lehet port írással-olvasással is billentyűzetet figyelni.

persze a poke 56,201 mindezeket megcsinálja... de esetleg lehet olyan helyzet hogy csak a keyboard: vagy csak a sound: eszközt kell lezárni.

meg még milyen eszközök vannak amik viszik a proci időt?
Vigyázat! Szektás vagyok! :)

Offline Ferro73

  • EP lover
  • *
  • Posts: 754
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
Re: BASIC
« Reply #1390 on: 2019.July.16. 15:30:01 »
A sound: ot még csak meg értem de a keyboard: mivel irányítod a progit.
Vagy fordítva a DEMO-t?

Offline endi

  • EP addict
  • *
  • Posts: 7271
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 75.0.3770.100 Chrome 75.0.3770.100
    • View Profile
    • Honlapom
Re: BASIC
« Reply #1391 on: 2019.July.16. 16:12:00 »
A sound: ot még csak meg értem de a keyboard: mivel irányítod a progit.
Vagy fordítva a DEMO-t?

mint írtam, a joy függvény keyboard: eszköz nélkül is műxik.
és portok írása-olvasásával lehet billentyűzetet olvasni. (in, out parancsok).
Vigyázat! Szektás vagyok! :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13503
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #1392 on: 2019.July.16. 16:20:35 »
mint írtam, a joy függvény keyboard: eszköz nélkül is műxik.
Nem működik! Annyi igaz viszont, hogy POKE 56,201 alatt is működik.

Offline endi

  • EP addict
  • *
  • Posts: 7271
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 75.0.3770.100 Chrome 75.0.3770.100
    • View Profile
    • Honlapom
Re: BASIC
« Reply #1393 on: 2019.July.16. 16:49:27 »
Nem működik! Annyi igaz viszont, hogy POKE 56,201 alatt is működik.

ööö hát ez furcsa :D
Vigyázat! Szektás vagyok! :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13503
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #1394 on: 2019.July.16. 16:54:39 »
ööö hát ez furcsa :D
Nem furcsa, az EXOS 11 speciális funkcióhívásnak (amelyen belül a JOY lekérdezés van) is kell csatornaszámot megadni, ezért kell KEYBOARD csatorna legyen.
És azért működik POKE 56,201 alatt, mert ez azonnali lekérdezést végez, nem a megszakítási rutin által pufferbe tett adatokból dolgozik.