CPC Rulez
https://cpcrulez.fr/forum/

DMA CPC+ / AY LIST (sujet divisé)
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=3804
Page 1 sur 2

Auteur :  hERMOL [ 25 Juil 2009, 14:04 ]
Sujet du message :  DMA CPC+ / AY LIST (sujet divisé)

fano a écrit :
MacDeath26 a écrit :
Non je pense que ce qui manque un peu ce sont les cinématiques surtout...et des sons un peu mieux ?
j'avais pas pensé comme ça mais vu comme ça, oui , j'adore le cri de rick ou des enemis sur 16bits :mdr:

vivi ca c'est possible et une tres bonne idée, mais quel est le te de conversion a faire sur un .WAV 44Khz (par exemple) pour le jouer sur les channels DMA du PLUS ???

apres je pense que le player est du type:

Code :
ld de,binaire_wav
ld hl,chan_dma1

loop:
ld (de),a
ld (hl),a
inc de
call wait_vbl
jp loop

Auteur :  fano [ 25 Juil 2009, 14:45 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

Il me semble que tu peux updater tout les 64nops via les AY lists , ça te fait une fréquence de 15625HZ (c.f http://cpcrulez.fr/coding_cpcplus45.htm)

Quand au player, il me semble que charger une AY list avec les intructions et les valeurs fonctionnerait tout aussi bien sans solliciter le Z80 avec peu être un INT + STOP pour indiquer au player que le channel DMA est libre et quelques LOOP parce que certaines valeurs doivent être répétitives.
Par contre le problème des AY lists c'est qu'elles doivent être en RAM centrale (c.f http://cpcrulez.fr/coding_cpcplus45.htm)

Par contre, je me demande si quelque a déjà écrit un utilitaire pour créer ou convertir des samples pour CPC/CPC+ , ça serait quand même plus pratique au lieu de s'emmerder à (re)faire un convertisseur.

Auteur :  MacDeath26 [ 25 Juil 2009, 15:03 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

Reste donc à voir la marge de manoeuvre que laisse Rick Dangeros 2 quand il tourne : RAM libre (en 128Ko ça peut le faire...).
Voir aussi si ça pompe pas du temps machine.

En théorie il me semble qu'un des truc du plus, c'est le son.
Pas qu'il soit mieux, mais moins gourmand en calculs Z80...
Or boucoup de jeux CPC viraient du son à cause de ça :
"Speccy port" pour le programe en général donc problème au passage en mémoire vidéo 16Ko donc on grapille sur le son entre autre...

Quoique là tu viens de me dire que ça doit être en mémoire centrale...

Mais sinon bin entre les DMA, et les +64Ko d'un 6128+ qui ne sont pas si souvent utilisés (les jeux sont cpc464 en général)...
Bin pourquoi pas alors.

En théorie ça risque moins de foirer le programe que des sprites Hards.

Paperboy+ avec du son ?

Sinon pour PacMania par exemple?
esque les graphx sont codés en 1bit comme pour R-type ?
Ou esque c'est de la pure flegmardise des programateurs ?

Car un tel jeux peut vite super bien rendre en 6128+ je pense.
Même en gardant le mode 1.

L'idée reste que si on peut récupérer les sons tels quels, les graphismes juste recolorié, ça fait gagner déjà 50% du temps de développement.
Ensuite certaines routines me semblent réutilisables aussi, tout ce qui touche la gestion du jeux (séquences, menus...)
Bref les décors en 4 couleurs, l'écran en 320x200 plein, le son qui passe en DMA, les scrolls softs et les sprites Hards...
C'est qeue y'a pas besoin de boucoup de Sprites Hards me semble t'il...
1 par fantôme, et 1 pour PacMan...on utilise même pas la moitié des sprites dispos donc on peut faire tourner la chiotte presque rapidement.

Surtout qu'un bon PacMan Plus, ça manque peut être.

esque c'est faisible aussi ?
Euh PAcMAnia est un peu lent il est vrai sur CPC, cas classique quand on adapte un jeux Spectrum si peu retouché...
Que même que les types disent que le Spectrum est "plus puissant" passque il arrive à être plus rapide en pourtant 2 couleurs, lol...
Sauf que l'Amstrad est aussi plus puissant car il arrive à faire tourner un truc en 16 couleurs, voir plus...question de goûts.


Sinon je constate que j'apporte malgré tout des idées à défaut de codes...
Modifier le son pour les versions plus bin moi ça me semblait "évident", après en codage peut être pas, lol...
C'est ça aussi le travail d'équipe.

Sinon pour en revenir aux ricks Dangerous...
Esque ça a été fait de rajouter les parties manquantes des levels ? celles que l'on a en version 16bit, car les levels sont 2x plus long me semble t'il (au moins dans RickD1).

Enfin, esque un éditeur de levels de Rick Dangerous ça existe ?
il me semble qu'un mod lourd, avec carrément un autre thème c'est potentielement potentiel.
Genre eux...une version héroic fantasy ?
le héros serait un sorcier, donc coups de baton, tir de FireBalls, potions explosives...
Ou alors un Voleur : coups de gourdin (lol), tir à l'arbalète, bombes de type boulet à mêche ou tonelet de poudre...
Voire Ninja...

Et tu casses du Gobelin, du Nain du chaos, des Orcs et pille des dragons et nécromanciens...
Et des levels genre chateaux et cryptes.

C'est que le moteur de Rick D est déjà énorme : fluide, riche en pièges et mécanismes possibles.
La version Amstrad me semble par contre moins riche en adversaires (surtout pour le 1...) et des adversaires capables de tirer, pourquoi pas.
Genre un concept plus massacre de monstres quoi...

Mais sinon pour en revenir à la version plus :
La gestion de la manette à 2 boutons, c'est faisable ?
Bof ça n'apporterai pas forcément grand chose, quoique...pour les bombes par exemple...

Ps : pfff, j'ai 31ans aujourd'hui...fait pas bon vieillir...

Auteur :  hERMOL [ 25 Juil 2009, 15:12 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

Citer :
Par contre, je me demande si quelque a déjà écrit un utilitaire pour créer ou convertir des samples pour CPC/CPC+ , ça serait quand même plus pratique au lieu de s'emmerder à (re)faire un convertisseur.


ConvWAV v0.1 ( DEMONIAK )

Auteur :  fano [ 25 Juil 2009, 15:42 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

trop sympa ! Il converti les samples à 11KHZ mais il est tout même interessant :D

Auteur :  hERMOL [ 25 Juil 2009, 16:33 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

Citer :
Ps : pfff, j'ai 31ans aujourd'hui...fait pas bon vieillir...

BA mon gars !!! (demain j'ai une de mes filles qui a 7ans)

Citer :
Sinon pour PacMania par exemple?

C'est du 1bits , facilement éditable sous winape et son sprite editeur (mets toi en mode2 à l'adresse #4d5e ,zoom 2)

Image

Auteur :  fano [ 25 Juil 2009, 16:42 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

MacDeath26 a écrit :
Ps : pfff, j'ai 31ans aujourd'hui...fait pas bon vieillir...
Bon anniversaire le vieux ! t'as la calvitie qui commence à frapper et la testostérone qui comme à se barrer ? :mdr:

Auteur :  MacDeath26 [ 25 Juil 2009, 16:48 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

Bin euh, non je ne suis pas vraiment calvicié, lol...

Plutôt chevelu façon Thrash Métal, d'ailleurs faut que je fasse couper les pointes qui commencent à fourcher, lol.

Merci en tout cas.

Et pour PAcMania c'est bien ce que je pensait : il faut se retapper un Moteur de jeux...
Après comme je l'ai dit, reprendre les sons (assez bons) et juste recolorier les Graphismes (mode 1 fins...) ça permet déjà de gagner du temps...Quoique reprendre les Graphismes Atari ST par Exemple...

Auteur :  fano [ 25 Juil 2009, 21:16 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

MacDeath26 a écrit :
Plutôt chevelu façon Thrash Métal, d'ailleurs faut que je fasse couper les pointes qui commencent à fourcher, lol.
Bah t'as bien de la chance...

Sinon un peu plus sérieusement à propos des son Rick Dangerous , voilà un petit exemple de AY list sur +, le résultat est assez sexy :kissed: (surtout kan tu sais que le Z80 ne fait rien pendant ce temps là !)
Le son original vient d'un rip de rick dangerous Amiga

Suffit de compiler test_sample.asm sous Winape, ça loge en #8000 et le sample en #8800, c'était juste un test à l'arrache histoire d'avoir une idée alors c'est achement perfectible (volume trop faible par ex ou on pourrait analyser le sample pour réduire encore sa taille avec des LOOP)

Pièce jointe :
test_sample.zip

Auteur :  hERMOL [ 26 Juil 2009, 04:05 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

:thankyou:

la version cpc old beaucoup moins sexy :D (inclu le fichier die.wav dans le .zip)

PS: c'est un tool maison ton générateur l'ay list ???

Auteur :  fano [ 26 Juil 2009, 08:48 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

hERMOL a écrit :
PS: c'est un tool maison ton générateur l'ay list ???

Oui c'est un petit bout de XBlite (mais je pense qu'il marche aussi bien avec XBasic), sinon la table de convertion vient du forum d'AST ( cf. http://cmussaperetto3.free.fr/IMPACT/FORUM/viewtopic.php?f=14&t=3161 ) qui l'a eu du forum d'IRON qui l'a eu de Targhan qui en avait fait trois mais j'ai utilisé la première pour tester :)

Pièce jointe :
table_ay1.zip


EDIT
Important même si ça semble évident, en entrée, le sample est en RAW PCM 15.625HZ 8bits unsigned (goldwave fait ça très bien)

Sinon, vlà le bout de code en XBlite ( http://pagesperso-orange.fr/xblite/ ) , si ça peut t'être utile :

Code :
'
' ##############################
' #####  ConvertAYlist15K  #####
' ##############################
'
FUNCTION ConvertAYlist15K (in$,out$,table$,option)
UBYTE data
UBYTE cSample,pSample
UBYTE table[]

fl=OPEN(in$,$$RD)

IF fl=-1 THEN
   PRINT "ConvertAYlist15K : Can not open sample ! (";in$;")"
   RETURN
ENDIF

DIM table[255]

fl2=OPEN(table$,$$RD)

IF fl2=-1 THEN
   PRINT "ConvertAYlist15K : Can not open conversion table ! (";table$;")"
   CLOSE (fl)
   RETURN
ENDIF

READ [fl2],table[]
CLOSE (fl2)

nSamples=LOF(fl)

PRINT "ConvertAYlist15K : ";in$
PRINT "ConvertAYlist15K : Processing ";nSamples;" samples..."

'open out file and write first instructions

sampleSize=0

outfl=OPEN(out$,$$WRNEW)

PRINT [outfl],"; init stuff"
PRINT [outfl],";PSG channel B : middle"
PRINT [outfl],"dw #0200 ;ld 2,0"
PRINT [outfl],"dw #0300 ;ld 3,0"
PRINT [outfl],"dw #073D ; sound only on channel B"
PRINT [outfl],";starting sample AY list here - pause unit = 64nops"

sampleSize=sampleSize+6

'read the first sample and convert

READ [fl],data
pSample=table[data]
DEC nSamples

sRepeat = 0 'repetition sample count

FOR i=0 TO nSamples-1
   
   READ [fl],data
   cSample=table[data]
   
   write=0
   IF cSample<>pSample THEN write = 1
   IF i=(nSamples-1) THEN write = 1
   IF sRepeat=0xFFF THEN write =1
   
   IFZ write THEN
      INC sRepeat
   ELSE
      PRINT [outfl],"dw #09";HEX$(cSample,2)
      sampleSize=sampleSize+2
      IF sRepeat THEN
         pause$=HEX$(sRepeat OR 0x1000)
         PRINT [outfl],"dw #";pause$;" ;pause"
         sampleSize=sampleSize+2
         sRepeat=0
         ENDIF
      pSample=cSample
   ENDIF

   
NEXT

CLOSE (fl)

'write end of the list

PRINT [outfl],"dw #4020 ;STOP"

sampleSize=sampleSize+2

CLOSE (outfl)

PRINT "ConvertAYlist15K : AY list size : ";sampleSize;" bytes"


END FUNCTION


et pis un peu de pub pas chère : XBasic/XBlite , LE locomotive basic du PC :mdr:

Auteur :  AsT [ 26 Juil 2009, 10:25 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

Si ça peut vous aider, voici 2 liens vers les tutos Dma que je viens de finir.

Bonne continuation, je vois qu'il y a du bon ici... Je suivrais ça de + pres :)

Partie 1 : http://cmussaperetto3.free.fr/IMPACT/FO ... 526&t=2956
Partie 2 : http://cmussaperetto3.free.fr/IMPACT/FO ... 526&t=3207

Auteur :  hERMOL [ 26 Juil 2009, 10:30 ]
Sujet du message :  Re: R-Type, target renegade et autres vieux jeux à retoucher...

ok merci les gars , aller hop, je divise le sujet et déplace cette partie dans le forum Z80 Coding "DMA CPC+ / AY LIST"

Auteur :  fano [ 26 Juil 2009, 10:43 ]
Sujet du message :  Re: DMA CPC+ / AY LIST

Bonne pioche Hermol, ça semblait effectivement nécessaire vu qu'on est venu mettre notre nez là dedans.

Merci AST , tes articles sur le + et ceux de Longshot m'ont servi de référence donc je suis preneur :)

Par contre, je vais fignoler le générateur et je vais essayer de voir comment je peux encore réduire la taille des AY lists, je posterai ça si ça donne quelque chose d'interessant :D

Auteur :  AsT [ 26 Juil 2009, 10:56 ]
Sujet du message :  Re: DMA CPC+ / AY LIST (sujet divisé)

De rien fano ! ça a été fait pour ça :)

Si vous avez d'autres idées de tutos, n'hésitez pas !

Page 1 sur 2 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/