Inscription : 15 Août 2008, 13:00 Message(s) : 968 Localisation : Troyes, France
Il s'agit d'un des programmes d'exemples du CTC en utilisant les interruptions vectorisées du Z80. Pour démontrer la simplicité d'utilisation du CTC , voilà le bout de code qui génère ces rasters
Code :
;create jump table for interruptions ;we use only chan 3 and gate array interrupts
init_int call int_table.set ;initialise CTC and Z80 for IM 2
;wait the start of the screen ld B,#F5 .wait_vbl in A,(C) rra jr nc,.wait_vbl
;vectorized mode im 2 ;catch first GA interrupt ei halt ;wait GA int ;to start channel 3 , a timer that generate interrupts every 256 cyles (so 64nops) * 2 so every 2 lines CTC_StartChannel CTC.chan3,CTC.int | CTC.timer | CTC.prescale256 | CTC.auto_start,2 ;select pen 1 ld BC,GA.port+1 out (C),C
ret
;just acquit interrupt no_int ei reti
;gate array interrupt ga_int push AF push BC
;check if we are in the first interrupt (during the VBL , 2 lines after start of screen) ld B,#F5 in A,(C) rra jr nc,.no_restart
;if yes, reset color counter ;as we already passed 2 lines , start at -2 ld A,16-2 ld (color_int.current),A
.no_restart pop BC pop AF
ei reti
;color change interruption color_int push AF push BC push HL ;set HL to point on color on the table ld HL,color_table .current EQU $+1 ld BC,0 add HL,BC ld B,GA.port_hi ;GA port outi ;out the data pointed by HL,increment HL, decrement B
;increment color counter and cycle by 16 ld HL,.current ld A,(HL) inc A and 15 ld (HL),A
pop HL pop BC pop AF ei reti
;color table ;16 colors , prefixed with GA.inkr to select the good GA function color_table db GA.inkr | color.bright_blue db GA.inkr | color.sky_blue db GA.inkr | color.pastel_cyan db GA.inkr | color.bright_white
db GA.inkr | color.bright_red db GA.inkr | color.orange db GA.inkr | color.pastel_yellow db GA.inkr | color.bright_white
db GA.inkr | color.green db GA.inkr | color.bright_green db GA.inkr | color.bright_yellow db GA.inkr | color.bright_white
db GA.inkr | color.magenta db GA.inkr | color.bright_magenta db GA.inkr | color.pastel_magenta db GA.inkr | color.bright_white
_________________ "NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)
@kawickboy : les Dmas du Cpc+ sont seulement utilisés pour le son. Tu voulais sans doute parler de la gestion des interruptions, c'est cela ?
A part ça, ça a l'air vraiment sympa. Dommage quand meme qu'on ne puisse pas gérer des sprites hard ou meme d'autres résolutions avec d'autres couleurs... ca aurait été vraiment cool, un peu comme les c64 avec leur cartes d'extension DTV.
Inscription : 13 Jan 2010, 14:25 Message(s) : 2270
On va déjà commencer par faire des choses sympa avec ce qui existe, plutôt que regretter ce qui n'existe pas. Surtout quand on voit ce qui a été fait sur cpc+...
Inscription : 13 Jan 2010, 14:25 Message(s) : 2270
kawickboy a écrit :
il y a des DMA dessus pour avoir un rendu genre prehistorik 2 cpc+ ?
Pas de DMA, car ça n'aurait pas apporté suffisamment de gain vu l'architecture du cpc. Mais le ctc apporte beaucoup de souplesse dans la programmation ainsi que pour les rasters.
Pour info, le cpc+ émule le ctc dans son asic. 1 compteur pour les rasters et 3 pour les canaux DMA. On a donc fait le choix de les utiliser différemment.
Inscription : 15 Août 2008, 13:00 Message(s) : 968 Localisation : Troyes, France
Nouvelles résolutions, nouvelle palette, sprites, nouveau type de processeur sonore (FM?) , le père TotO est (je pense) tout à fait capable de nous coller un VDP et le proc sonore d'autres machines mais dans quel but ? on aurait perdu toute l'identité du CPC à mon gout, autant aller coder pour une autre machine à base de Z80 (SMS,MSX) et profiter d'un base d'utilisateurs plus grande. Après , je suis le premier à dire qu'avoir un blitter voire même une DMA aurait été intéressant mais l'architecture si particulière du CPC ne s'y prête pas. Ce que je peux dire avec le recul, si on avait dévellopé R-Type sur ce hard , il aurait été différent, notamment grâce à la quantité importante de ROM dispo, aux 2 YM et CTC.
_________________ "NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)
Bien que je sois encore loin de maitriser l'ASM sur le CPC "de base", je m'affiche aussi comme acheteur potentiel, ne serais-ce que pour tester les futures réalisations hallucinantes qui ne manqueront pas de fleurir si ce projet va à son terme...
Bon, évidemment, vu que c'est du hard, il n'y a pas trop le droit à l'erreur sur la conception... j'espére que les prototypes permettront de voir "ce qui manque".
Inscription : 13 Jan 2010, 14:25 Message(s) : 2270
Le prototype 0 (carte filaire) fonctionnait avec 90% des features. Le prototype 1 (pcb de dev) a nécessité 2 modifications et quelques reprogrammation du CPLD. La prototype 2 (mx4 de dev) ajoute une nouvelle fonctionnalité et ne nécessite pas de modif. ... Les choses avancent donc bien avec les besoins des développements.
Ah, ce bon vieux débat sur le fait que la moindre carte transforme la machine en une merde finie...lol...
Genre les MSX ils ont pas de remords ni de vergogne à aligner des cartes son de ouf qui sont pourtant des périphériques...
Et les Thomsonistes vont disparaitre car leur machine n'a même pas le moindre AY de base et claque tout son superbe CPU 6809 à faire du beeper... alors qu'un TO8 avec un AY ou deux, ça pourrait faire une excellente machine de démo, un véritable demi Atari ST en 8 bit en fait.
Encore plus que le CPC car le CPU est plus proche du 68000 que le Z80... et la RAM en 256K donne le même rapport RAM-Video qu'un 520ST...
Bon le 1mhz est moyen mais le 6809 est un excellent CPU quand même et peu faire tourner OS-9 normalement...
En tout cas moi j'aime cette idée, car ça ne dénature pas la machine... juste ça corrige une limitation de l'AY : le fait de n'avoir que 3 voix sonores... Après ça serait bien une autre carte compatible avec la Motherx4... qui recrérai les différents Synthétiseurs vocaux. Car bon y'avais bien quelques jeux Amsoft et autres utilitaires qui utilisaient ça. Pas certain que ça serait facile, surtout si cette carte reproduit les différents modèles existants, mais why not... C'est que ces cartes là sont pas simple à trouver de nos jours. Et ça peut vraiment être bon pour le chiptunes, ou des jeux genre CaptainBlood ou Mortevieille...
Et tant qu'a faire, ajouter du port MIDI aussi...
Blague à part, j'écoutait la zique de ghouls and Ghost et me disait qu'un bon remake (refait à zéro) avec cette carte CTC-AY pourrait permettre d'ajouter les ziques du ST en plus d'effets sonores, et que ça serait plutot bon ça.
La plupart des versions micro de G'H'Ghost avaient au moins un morceau spécifique. Sauf sur CPC hélas...
Et la zique du lvl1 sur ST était carrément excellente...
Tim Follin n'aimait pas l'AY/YM, mais il savait les faire sonner quand même.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 8 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum