Welcome, Guest. Please login or register.


Author Topic: Spectrum programok átírása (Read 156527 times)

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 55.0.2883.87 Chrome 55.0.2883.87
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #495 on: 2016.December.23. 12:24:54 »
vicces, ez a PT3 lejátszó!

csak próbaképpen betöltöttem a játékból kiszedett zenét, és csont nélkül lejátszotta :-D
*** Speicherplatz zu klein

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 50.0 Firefox 50.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Spectrum programok átírása
« Reply #496 on: 2016.December.23. 12:40:09 »
csak próbaképpen betöltöttem a játékból kiszedett zenét
Sőt még ha ki sem szeded akkor is :-) Programfájlban is megkeresi.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 50.0 Firefox 50.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Spectrum programok átírása
« Reply #497 on: 2016.December.23. 12:43:15 »
tudajdonképpen nekem a lejátszó kód kell? az elvileg benne van az eredeti játékban is, nem? Nekem inkább az AY emuláció kéne, nem? Vagy rosszul gondolom?
Kézzel is összebarkácsolhatod, de egyszerűbb ha azt lecseréled. Itt forráskód szinten lett összerakva a PT3 lejátszó kód az AY rutinnal.
(Eleve innen indult a történet, hogy egy játékban nem akartam az összes AY írást kézzel lecserélgetni, és rákerestem, hogy van-e forrás a PT3 lejátszókódhoz.)

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 55.0.2883.87 Chrome 55.0.2883.87
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #498 on: 2016.December.23. 13:13:57 »
Sőt még ha ki sem szeded akkor is :-) Programfájlban is megkeresi.
na, azt még nem próbáltam
bár kérdés, hogy vajon tényleg működne-e, mert előtte átmozgatja a zenét LDDR-rel máshová
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 55.0.2883.87 Chrome 55.0.2883.87
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #499 on: 2016.December.23. 13:14:32 »
vicces, ez a PT3 lejátszó!

csak próbaképpen betöltöttem a játékból kiszedett zenét, és csont nélkül lejátszotta :-D

azért nem tökéletes, ahogy hallagatom... :-(
a hosszan kitartott mély hangok nem szépek

valami dob (zörej) jön helyette
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 49.0.2623.112 Chrome 49.0.2623.112
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #500 on: 2017.January.08. 18:51:52 »
Zozo, a PT3 lejátszó asm mivel fordítható le?
sjasm nem eszi, mindeféle "érdekes" hibaüzeneteket ír ki, pl.:
Unexpected: && ((toneAndNoiseModeA & 1) == 0)
*** Speicherplatz zu klein

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 50.0 Firefox 50.0
    • View Profile
Re: Spectrum programok átírása
« Reply #501 on: 2017.January.08. 18:59:21 »
Zozo, a PT3 lejátszó asm mivel fordítható le?
sjasm nem eszi, mindeféle "érdekes" hibaüzeneteket ír ki, pl.:
Unexpected: && ((toneAndNoiseModeA & 1) == 0)

Ez nem lehet a sjasm verziók közötti kompatibilitási probléma? A fenti kódrészlet eredetileg 0.39g6 verzióhoz készült. A 0.42 talán nem támogatja a &&-t és and kellene helyette.

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 49.0.2623.112 Chrome 49.0.2623.112
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #502 on: 2017.January.08. 19:05:21 »
jó kérdés... nekem v0.42c van

azon gondolkodom közben, nekem mire is lenne szükségem?
a START rutintól kezdve kéne, az lptData-ig, ugye?

a START rutin a 0xc000-ra kéne legyen fordítva, az MDLADDR pedig legyen 0xc86e


*** Speicherplatz zu klein

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Spectrum programok átírása
« Reply #503 on: 2017.January.08. 19:07:32 »
Itt írják is, hogy az új változat nem teljesen kompatibilis a 0.39g6, viszont ezt le is lehet tölteni a linkről.

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 49.0.2623.112 Chrome 49.0.2623.112
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #504 on: 2017.January.08. 22:03:23 »
na, azzal lefordul :-)

viszont nem igazán működik... :-)

lefordítottam a START-tól 0x1000 címre

csináltam egy saját IRQ rutint, és a 0x0038 címre pedig JP IRQ-t tettem.

az IRQ rutin ugyanaz, mint a PT3 player-ben: elmenti a regisztereket, meghívja a START + 5 címet, majd visszaállít mindent, EI, majd RET

de igazából nem is itt a baj, mert idáig már nem jut el a progi

tiltott megszakítás mellett meghívom az ayReset rutint, majd a START rutint, de már az ayReset közben elszáll...
*** Speicherplatz zu klein

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Spectrum programok átírása
« Reply #505 on: 2017.January.09. 08:32:57 »
Nekem működött a PT3 player fordítás után, van a megszakításodban interrupt törlés?
   ld a,30h
   out (0b4h),a

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 55.0.2883.87 Chrome 55.0.2883.87
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #506 on: 2017.January.09. 11:02:16 »
túl alacsonyan volt az SP, és felülírta a megszakítási rutint...

most már jó (nem fagy le), csak nem zenél :-)

Code: [Select]
        output  play.com
        org     0x4000
   
        macro exos n
                rst   030h
                defb  n
        endm

        org     00f0h
        db      00,05
        dw      codeEnd - 0x100
        db      00,00,00,00,00,00,00,00,00,00,00,00
       
        di
        ld  sp, 0x4000
        ei

        exos 24
        dec  a
        out  (0xb2), a
        ld   a, c
        out  (0xb3), a
   
        ld   bc, 6165
        ld   de, 0xc86e
        ld   hl, zene
        ldir
       
        ld   bc, 2587
        ld   de, 0x1000
        ld   hl, pt3player
        ldir
       
        di
        call 0x195f         ; ayReset
        call 0x1000         ; START
        ld   a, 0xc3        ; JP opcode
        ld   hl, IRQ
        ld   (0x0038), a
        ld   (0x0039), hl
        ld   a, 0x30
        out  (0xb4), a
        ei
       
vege:   jr   vege

IRQ:    di
        push af
        push bc
        push de
        push hl
        push ix
        push iy
        exx
        ex   af,af'
        push af
        push bc
        push de
        push hl
        ld   a, 0x30
        out  (0xb4), a
        call 0x1005
        pop  hl
        pop  de
        pop  bc
        pop  af
        exx
        ex   af,af'
        pop  iy
        pop  ix
        pop  hl
        pop  de
        pop  bc
        pop  af
        ei
        ret

zene:       incbin  zene.pt3
pt3player:  incbin  pt3_player.obj

codeEnd:    equ  $

            end
*** Speicherplatz zu klein

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Spectrum programok átírása
« Reply #507 on: 2017.January.09. 11:14:57 »
Az nem lehet, hogy nem 0xc86e van beállítva a lejátszó init rutinjában?

Offline Povi

  • EP addict
  • *
  • Posts: 1873
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 55.0.2883.87 Chrome 55.0.2883.87
    • View Profile
    • http://povi.fw.hu
Re: Spectrum programok átírása
« Reply #508 on: 2017.January.09. 11:17:33 »
Az nem lehet, hogy nem 0xc86e van beállítva a lejátszó init rutinjában?
Pedig arra van...
*** Speicherplatz zu klein

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Spectrum programok átírása
« Reply #509 on: 2017.January.09. 11:22:21 »
De rosszul, nem azon a címen lévő cím kell, hanem maga a cím :
    ld    hl,0c86eh