Welcome, Guest. Please login or register.


Author Topic: BASIC (Read 194015 times)

Online szipucsu

  • EP addict
  • *
  • Posts: 8390
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1410 on: 2020.May.17. 17:59:51 »
A SOUND parancsot lehet helyettesíteni valamilyen SPOKE-kal? Úgy, hogy sok paraméter is meg van adva a SOUND-ban. Ha igen, az gyorsabb valamivel?
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13657
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #1411 on: 2020.May.17. 18:52:01 »
PRINT-tel lehetne helyettesíteni, de ha paraméterek kellenek, akkor mire azokat belevariálod, nem hinném, hogy gyorsabb lenne.

Offline Povi

  • EP addict
  • *
  • Posts: 1964
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.138 Chrome 81.0.4044.138
    • View Profile
    • http://povi.fw.hu
Re: BASIC
« Reply #1412 on: 2020.May.22. 08:54:29 »
félig off:
A Microsoft publikussá tette a GW-BASIC forráskódját!
https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/?fbclid=IwAR0G_9TSxKE-Jfa7lpUmMaINOHlo2d85j4zCEVrT2Co2AvJv6c4MnfzxmV0

látszik, hogy 8080 asm az alapja, a kommentekben még 8080 regiszterekre hivatkoznak
*** Speicherplatz zu klein

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13657
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #1413 on: 2020.May.22. 09:10:02 »
látszik, hogy 8080 asm az alapja, a kommentekben még 8080 regiszterekre hivatkoznak
Akkor Z80-ra is le lehetne fordítani? :-)
Amúgy ha jól emlékszem anno adott ki az Intel 8080 -> 8086 assembly konvertert, ami lecserélte a forrásban az utasításokat a megfelelő újakra. Lehet, hogy ez a cucc is így készült?

Offline Povi

  • EP addict
  • *
  • Posts: 1964
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.138 Chrome 81.0.4044.138
    • View Profile
    • http://povi.fw.hu
Re: BASIC
« Reply #1414 on: 2020.May.22. 11:37:26 »
Akkor Z80-ra is le lehetne fordítani? :-)
Amúgy ha jól emlékszem anno adott ki az Intel 8080 -> 8086 assembly konvertert, ami lecserélte a forrásban az utasításokat a megfelelő újakra. Lehet, hogy ez a cucc is így készült?
vszínű, mivel pl ehelyett: (1993-1994. sor a GWMAIN.ASM-ban)
https://github.com/microsoft/GW-BASIC/blob/master/GWMAIN.ASM
Code: [Select]
MOV BH,DH ;SAVE [D,E]
MOV BL,DL

lehetett volna:
Code: [Select]
mov bx, dx

az eredeti (Altair BASIC-ben) pedig ez a rész Z80 szintaktikával:
Code: [Select]
   ld      h,d
    ld      l,e
*** Speicherplatz zu klein

Online szipucsu

  • EP addict
  • *
  • Posts: 8390
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1415 on: 2020.May.26. 19:53:25 »
Az ALLOCATE utasításnak a program elején kell lennie mindig? Vagy elég a CODE, HEX előtt is kiadni? Azt írja a kézikönyv, hogy a változókat elrontja. DEF blokkon belül nem célszerű kiadni?
A program tele van egy rakat SET CHARACTER utasítással, semmi más nincs benne. És lenne egy DEF blokk, amit ha akarunk, meghívunk parancs üzemmódból, és akkor HEX, USR segítségével elmenti az egész karakterkészletet.

UI.: Próbálkoztam, működik, csak mire az END DEF-hez ér, már nem tudja, az mire vonatkozik. Valószínű CALL-lal így nem lehet meghívni blokkot, hanem csak a "RUN sorszám"-mal elindítani a kódos részt.
« Last Edit: 2020.May.26. 20:14:42 by szipucsu »
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13657
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #1416 on: 2020.May.26. 20:53:17 »
Az ALLOCATE utasításnak a program elején kell lennie mindig? Vagy elég a CODE, HEX előtt is kiadni? Azt írja a kézikönyv, hogy a változókat elrontja. DEF blokkon belül nem célszerű kiadni?
Bármi olyan előtt ami értéket tárol el a BASIC munkamemóriában. Ennek a munkamemóriának tolja el a kezdetét, hogy legyen egy fix hely majd a gépi kódú részeknek.

Quote
Próbálkoztam, működik, csak mire az END DEF-hez ér, már nem tudja, az mire vonatkozik.
Igen pont erről van szó, a DEF blokkhoz tartozó adatok is ebben a munkamemóriában vannak tárolva, amikor az ALLOCATE lefut, azzal ez is elromlik.

Online szipucsu

  • EP addict
  • *
  • Posts: 8390
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1417 on: 2020.May.26. 21:17:30 »
Köszi! Még azt valaki meg tudná nézni, hogy itt a Wikin a Karakterkészlet kimentése és betöltése cím alatt az a kis program jó-e? Szerintem nem menti el a karakterkészletet, pedig már mindenféle felállásból próbáltam... Ha a C9 előtt a 08-at átírom 06-ra, akkor be tud tölteni egy másik karakterkészletet, de amit ez ment el, azt nem tölti vissza. (Az access output helyett beírtam, hogy access input.) Hibát nem okoz, de a karakterkészletet nem menti el rendesen, pedig már ezerszer ellenőriztem, azokat a számokat írtam-e be.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Online szipucsu

  • EP addict
  • *
  • Posts: 8390
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1418 on: 2020.May.26. 21:29:58 »
itt a Wikin a Karakterkészlet kimentése és betöltése cím alatt az a kis program jó-e?
Közben próbálgattam még. Működik, de ha egy több száz soros basic programba tesszük be, akkor már nem működik. Rejtély, hogy miért. Pedig nem változtattam rajta semmit. Rögtön a program elején lefut, de nem írja át a karakterkészletet.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Povi

  • EP addict
  • *
  • Posts: 1964
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 81.0.4044.138 Chrome 81.0.4044.138
    • View Profile
    • http://povi.fw.hu
Re: BASIC
« Reply #1419 on: Yesterday at 14:11 »
Közben próbálgattam még. Működik, de ha egy több száz soros basic programba tesszük be, akkor már nem működik. Rejtély, hogy miért. Pedig nem változtattam rajta semmit. Rögtön a program elején lefut, de nem írja át a karakterkészletet.
Most akkor a töltés, vagy a mentés nem megy nálad? (nálam működik)
Biztos, h jó file-t töltesz be?
*** Speicherplatz zu klein

Online szipucsu

  • EP addict
  • *
  • Posts: 8390
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1420 on: Yesterday at 14:40 »
Most akkor a töltés, vagy a mentés nem megy nálad? (nálam működik)
Biztos, h jó file-t töltesz be?
Működik.
Csak akkor nem működik, ha egy nagyobb basic program része. A most felrakott Dots and gems programba akartam belerakni, hogy betöltse a karakterkészletet, de ott már nem működött. Nem okoz hibát, egyszerűen olyan, mintha átugraná azt a részt.
Még tavaly Ferro73 az Entersnake-ben is máshogy oldotta meg a karakterkészlet betöltését, végül az ő spoke-os módszerét loptam el, csak az lassabb.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Povi

  • EP addict
  • *
  • Posts: 1964
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 83.0.4103.61 Chrome 83.0.4103.61
    • View Profile
    • http://povi.fw.hu
Re: BASIC
« Reply #1421 on: Yesterday at 15:35 »
Csak a ZZZIP-pel lefordított változatban nem működik, vagy a nyers BASIC-ben se?

Egyébként azt tudom elképzelni, hogy akkor, amikor meghívod a függvényt, akkor nem a 255-ös szegmens van a 2-es lapon. És akkor rossz helyre tölti be a chr készletet.
Próbáld ki úgy, hogy berakod még ezt a CALL USR elé:

Code: [Select]
LET SZEG=IN(178)
OUT 178,255
ezt pedig a CALL USR után
Code: [Select]
OUT 178,SZEG
« Last Edit: Today at 10:29 by Povi »
*** Speicherplatz zu klein

Online szipucsu

  • EP addict
  • *
  • Posts: 8390
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 76.0 Firefox 76.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #1422 on: Yesterday at 16:21 »
Csak a ZZZIP-pel lefordított változatban nem működik, vagy a nyers BASIC-ben se?
Basic-ben se. Akkor majd kipróbálom a módszered.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos