Welcome, Guest. Please login or register.


Author Topic: MIDI lejátszása IS-BASIC alatt (Read 21484 times)

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re:MIDI lejátszása IS-BASIC alatt
« Reply #15 on: 2024.August.23. 08:34:51 »
32 bites Win10 alatt azt írja konvertálásnál, nem megfelelő a rendszer. 64 bites Win10 alatt pedig egy dll-t hiányol:
A DLL meglesz sztem az ep128emu folderben, onnan másold át.
Ha jól értem, csak a konvertálandó midi fájlt kell a MIDI mappába az envelope.txt-vel együtt betenni, utána futtatni a _midiwork.bat-ot, és ez létrehozza az egy könyvtárral lejjebb lévő midi.mid-et, amit betölt és lejátszik a basic_midi.bas.
Igen, ha a létrehozitt midi.mid-et nem nevezed át, akkor máris töltheted, ha átnevezed, akkor még a basic programban le kell cserélni a file nevét, teszteléshez nem érdemes átnevezni, de később, amikor elkészül a basic program, akkor már igen.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10102
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:MIDI lejátszása IS-BASIC alatt
« Reply #16 on: 2024.August.24. 14:56:14 »
Próbaképpen megpróbáltam ezt a programot ellátni midi zenével, de a zenelejátszás elindítása fagyást eredményez, akárhova is teszem a CALL USR utasítást a programon belül.
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
Ha programból adom ki az USR-t, az nem tetszik neki, de parancs üzemmódból elindul a zene lejátszása.
Gyanakodtam a status sorba irkáló részre, de ha azt töröltem, akkor is előjött a hiba. Más poke vagy spoke utasításokat nem találtam a programban.
Még a zenélő részből a hibakereső részt leegyszerűsítettem, mert a poke után túl nagy szám volt, amit a Zzzip nem evett meg. Így a hiba típusát nem adja meg, csak annyit, hogy error, ha balhé van.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re:MIDI lejátszása IS-BASIC alatt
« Reply #17 on: 2024.August.24. 17:03:28 »
Szerintem az lesz a baj, hogy az 1-es lapot nem lapozom vissza a zene inicializálása után, azt hittem, ezt megteszi az EXOS.
Ír, és olvas a basic az 1-es lapról, és nem az a lap van ott, ami a basic programot tartalmazza, hanem a zene :D

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re:MIDI lejátszása IS-BASIC alatt
« Reply #18 on: 2024.August.24. 17:34:04 »
Itt a javított változat, majd javítom a csomagot is.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10102
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:MIDI lejátszása IS-BASIC alatt
« Reply #19 on: 2024.August.24. 18:03:50 »
Basicben ez már jól működik!
Viszont Zzzippel lefordítottam a programot, és úgy a zene indítása után 1 másodperccel lefagy:
[ Guests cannot view attachments ]
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re:MIDI lejátszása IS-BASIC alatt
« Reply #20 on: 2024.August.24. 20:20:09 »
Basicben ez már jól működik!
Viszont Zzzippel lefordítottam a programot, és úgy a zene indítása után 1 másodperccel lefagy:
(Attachment Link)
Ott meg az a bibi, hogy a javításba nem tettem be a LOAD rutinba a visszalapozást, és a ZZZIP-elt verzió így folyamatosan a zenét tartotta bent az egyes lapon, olyan szempontból mind1, mert már akkor elkezdtem az új verziót csinálni, ez egy picivel rövidebb lett, amit tudtam, betettem a "MIDI fájlba", és javítottam a hibakezelést is, már az ERR értéke 0-511 között mozoghat csak, így a ZZZIP-nek se okozhat gondot, és a README.TXT-t is ápdételtem, meg betettem a hiányzó DLL-t is a csomagba.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10102
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:MIDI lejátszása IS-BASIC alatt
« Reply #21 on: 2024.August.24. 21:53:06 »
Mindezek örömére itt van a ViceVersa játék zenés változata. Zzzippel lefordítva fut. Ha mégis megunnánk a zenét, az M gombbal ki/be lehet kapcsolni játék közben, már amikor éppen nem a gép lép. A játék végén és játékból való kilépésnél elvileg szépen eltakarít maga utána mindent.
Nem tudom, ez a zene illik-e legjobban hozzá, ami benne van.
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re:MIDI lejátszása IS-BASIC alatt
« Reply #22 on: 2024.August.25. 17:26:12 »
Azt hittem, hogy egy másik zenét tettél be, monnyuk nekem jó ez a zene is :D

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10102
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:MIDI lejátszása IS-BASIC alatt
« Reply #23 on: 2024.August.25. 19:21:37 »
Azt hittem, hogy egy másik zenét tettél be
A konvertálás szerintem csak 64 bites Win10 alatt működik, még lusta voltam arra átváltani. Kicsit maradi vagyok. :D

Írtad, 2.0-ás basic alatt nem működik a megszakítás miatt. Ezek szerint csak Enterprise 128-on működik ez, Enterprise 64-en nem? Mert akkor majd azt is meg lehet csinálni, hogy a basic játékokban lesz egy (szerényebb hangzású) basic-es zene is, ez fog szólni EP64-en. EP128-on meg úgyse hallatszik a SOUND, és akkor a midi szólna.
EP128 alatt majd választani lehetne, melyik zene legyen, EP64 alatt meg automatikusan nem a midi szólna. Ezt majd, ha lesz basic program, beépítem.

Ha egymás után kétszer kétszer adjuk ki a CALL USR(MUSIC_OFF,0) vagy CALL USR(MUSIC_FREE_RAM,0) parancsokat,  az nem okoz hibát? Többször elindítani a zenét úgy, hogy nem állítjuk le, azt nem szabad.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re: MIDI lejátszása IS-BASIC alatt
« Reply #24 on: 2024.August.25. 19:52:29 »
A music_off es a free ram nem okoz gondot, akarhanyszor kiadhatod. Nem tudom erdemes-e uj zenet csinalni exos 2.0 ala, sztem nem, arra ott a csendes verzio :-D Az EP64/128 kerdes se olyan ecceru, mert attol meg lehet 128kb, vagy tobb RAM egy gepben, hogy abban EXOS 2.0 van. Amugy meg lehetne csinalni, hogy mukodjon EXOS 2.0 alatt is, de ahhoz meg kene pocsolni a megszakitasi rutint.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10102
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: MIDI lejátszása IS-BASIC alatt
« Reply #25 on: 2024.August.25. 20:26:38 »
Nem tudom erdemes-e uj zenet csinalni exos 2.0 ala, sztem nem, arra ott a csendes verzio :-D
De az milyen már, hogy ott vannak a Dave képességei, és csend van? :D Valami kis sztereó gyűrűmodulációs zenét összerittyenteni nem akkora cucc, szólhat majd az, ha csend lenne.

Viszont akármekkora memóriával bővítik az EP64-et, a Basic/Exos 2.0 miatt akkor is a megszakítással lesz a bibi, ha jól sejtem. Gondolom, a basic programban elég detektálni, hogy 2.0 van-e benne, és ha igen, akkor az allocate+hex$-ezés elmarad és szól a sound-os zene.
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: 10102
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: MIDI lejátszása IS-BASIC alatt
« Reply #26 on: 2024.August.26. 13:52:32 »
Kipróbáltam az emulátorral, 2.0-ás basic és exos + 64K memória mellett a program el sem indul memóriahiány miatt.
2.0-ás basic és exos + 128K mellett csak nem szól a zene, de minden működik.
Mivel 2.0-ás verziók mellett sehogy sincs hang, a legegyszerűbb ilyen rendszerekben eleve átugrani az allocate és hex$ részeket majd.
Elvileg így lehet detektálni, EP64 vagy EP128 alatt fut-e a program:

IF IN(176)=252 THEN akkor EP64 van.
IF IN(176)<=248 THEN akkor EP128 van.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Lacika

  • EP addict
  • *
  • Posts: 3218
  • Country: hu
    • http://www.ep128.hu
Re: MIDI lejátszása IS-BASIC alatt
« Reply #27 on: 2024.August.26. 13:58:37 »
A VERNUM függvény talán üzembiztosabb. Legalábbis a BASIC verziószám detektálására.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10102
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: MIDI lejátszása IS-BASIC alatt
« Reply #28 on: 2024.August.26. 14:15:40 »
A VERNUM
Itt is felmerült ez a kérdés, akkor az IN(176)-os megoldást javasolták, én meg a vernum felé húztam volna.
A Zzzip valószínűleg kerekíti a vernum-ot, így az mindig 2 lenne.
Ellenben a VER$ változóban is benne van string formájában a verziószám. Nem tudom, biztosabb-e onnan kiolvasni, mint az IN(176)-ozás.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re: MIDI lejátszása IS-BASIC alatt
« Reply #29 on: 2024.August.26. 15:12:17 »
Az IF IN(176)=252 THEN ellenőrzés nem jó, mert ez csak a memóriát ellenőrzi, és a bővített EP64-re nem fog bukni.