Page 1 of 1

AY music: PT3 player!

Posted: Sat May 25, 2019 11:25 am
by iss
Hello all!
Great news: our Oric has PT3 player!

Thanks to French Touch, who shared his incredible work, now everyone can create new demos, add PT3 music to games and enjoy these high quality tunes.

Visit French Touch youtube channel to see his demos.
There you can find zipped sources and some DSKready to play. (I attach below the same ZIP just to mirror this precioussss;)).

Fun detail is that I was following the work of deater78 on comp.sys.apple2, planing to port his code for Oric... and surprise, surprise - French Touch come with his master piece - ready to use PT3 player!!!

Merci beaucoup, French Touch!

Re: AY music: PT3 player!

Posted: Sat May 25, 2019 2:21 pm
by Chema
I have just downloaded and tested it and I am quite impressed!!!

At least a pro-tracker for our Oric which is compatible with Vortex... is this true?

I'll give a look at the size and CPU usage (which I guess will be quite high), but it is indeed a great job. And excelent news for our community.

Re: AY music: PT3 player!

Posted: Sat May 25, 2019 6:01 pm
by Dbug
Very cool :)

The code is a bit confusing, is that actually a Z80 emulator???

Code: Select all

    ; "registers" Z80
    ; A = A
    ; F = flags
    
    z80_A   .dsb 1      ; save A
    z80_C   .dsb 1
    z80_B   .dsb 1
    z80_E   .dsb 1
    z80_D   .dsb 1
    z80_L   .dsb 1
    z80_H   .dsb 1
    z80_IX  .dsb 2
    z80_AP  .dsb 1      ; save A'
to anyone trying to optimize it: There's a lot of self modified code that is not obvious at first glance.

Like for example:

Code: Select all

PrSlide	
        LDA #$AC             <-- Put AC in A
        STA z80_E
        STA (z80_IX),Y
        INY
        LDA #$AC             <-- Look mum, an optimization, I can just remove that one!
        STA z80_D
        STA (z80_IX),Y

       (...)
       
PTDECOD 
	LDY #Note   							    				
	LDA (z80_IX),Y
	STA PrNote+1												
	LDY #CrTnSl    		    						    		
	LDA (z80_IX),Y                                              
	STA PrSlide+1	   <-- Not so fast! Patches the first one!
	INY 
	LDA (z80_IX),Y											
	STA PrSlide+8	   <-- Not so fast! Patches the second one!