vg5000
-
- Posts: 4
- Joined: Wed Jun 19, 2024 6:01 pm
vg5000
Bonjour spotlessmind1975. Je souhaiterais savoir si vous avez l'intention de porter le vg5000 dans ugbasic ?
-
- Site Admin
- Posts: 171
- Joined: Fri Oct 06, 2023 8:25 pm
Re: vg5000
Bonjour et bienvenue rendomizer!
En réalité il y aurait du support, mais je n'ai pas pu aller beaucoup plus loin en raison des difficultés objectives liées au manque de documentation technique, et surtout de références de programmation. Les dons en temps et/ou matériels sont les bienvenus ! Si vous disposez de ce type de matériel, merci de l'envoyer au point de contact indiqué sur la page. Si activement soutenu, je pourrais donner la priorité à l'intégration de ce matériel dans ugBASIC.rendomizer wrote: ↑Thu Jun 20, 2024 6:05 pm Je souhaiterais savoir si vous avez l'intention de porter le vg5000 dans ugbasic ?
-
- Posts: 4
- Joined: Wed Jun 19, 2024 6:01 pm
Re: vg5000
je connais le processeur video (VDP) EF9345 l'assembleur z80, 6510 ainsi que le BASIC c'est tout !. Je vous dirais comment faire un bitmap en 4 couleur sur vg5000.
Suivez ce lien vers mon [url]https://sergiomaxcomputervg5000.blogspot.com//url] et voyez ce que je peux faire.
A titre d"exemple voici la procedure pour programmer 1 caractère l'EF9345. tu dois utiliser la routine ( 00AD ) comme si dessous.
Attention, le code injecté dans l'EF9345 n'est pas du code z80 ! mais propre a lui même
Mode graphique
ld hl,_graphic
ld a,33 ;code caractere
call $001b ; increment jusqu'a 10 automatiquement les données dans _graphic
boucle:
ld hl,_ef9345
call $00ad ; appel la routine pour adresser l'ef9345
jp boucle
_graphic:
db 255,1,12,29,129,55,88,189,129,255 ; pixels aleatoires
_ef9345:
db 32 ; nombre de données a injecter dans l'ED9345 ici il y en a 32 si dessous
db $21
db $01
db $28
db $81 tgs
db $21
db $04
db $28
db $82 mat
db $21
db $67
db $28
db $83 pat
db $21
db $13
db $28
db $84 dor
db $21
db $08 écrant texte $28 pour écran graphique
db $28
db $87 ror vram (scrolling)
db $21
db 33 ;code caractere "!" attention il n'y a que 96 caracteres setet et 96 seteg soit de 32 a 128
db $22
db $d8 =mode multicolor setet redefini / $c8 seteg redefini / $00 = standard non redefini
db $23
db $66 ; couleur ( voir le tableau des agencement des couleur )
db $26
db 19 ; position y
db $27
db 19 ;position x
db $28 ;execution
db 0 ;fin
Pour revenir à l"ecran basic:
ld hl,_init_ef9345
call $00ad
_init_ef9345:
db 24,$21,$00,$28,$81,$21,$6E,$28,$82,$21,$f7,$28,$83,$21,$13,$28,$84,$21,$08,$28,$87,$22,$38,$28,$00
Suivez ce lien vers mon [url]https://sergiomaxcomputervg5000.blogspot.com//url] et voyez ce que je peux faire.
A titre d"exemple voici la procedure pour programmer 1 caractère l'EF9345. tu dois utiliser la routine ( 00AD ) comme si dessous.
Attention, le code injecté dans l'EF9345 n'est pas du code z80 ! mais propre a lui même
Mode graphique
ld hl,_graphic
ld a,33 ;code caractere
call $001b ; increment jusqu'a 10 automatiquement les données dans _graphic
boucle:
ld hl,_ef9345
call $00ad ; appel la routine pour adresser l'ef9345
jp boucle
_graphic:
db 255,1,12,29,129,55,88,189,129,255 ; pixels aleatoires
_ef9345:
db 32 ; nombre de données a injecter dans l'ED9345 ici il y en a 32 si dessous
db $21
db $01
db $28
db $81 tgs
db $21
db $04
db $28
db $82 mat
db $21
db $67
db $28
db $83 pat
db $21
db $13
db $28
db $84 dor
db $21
db $08 écrant texte $28 pour écran graphique
db $28
db $87 ror vram (scrolling)
db $21
db 33 ;code caractere "!" attention il n'y a que 96 caracteres setet et 96 seteg soit de 32 a 128
db $22
db $d8 =mode multicolor setet redefini / $c8 seteg redefini / $00 = standard non redefini
db $23
db $66 ; couleur ( voir le tableau des agencement des couleur )
db $26
db 19 ; position y
db $27
db 19 ;position x
db $28 ;execution
db 0 ;fin
Pour revenir à l"ecran basic:
ld hl,_init_ef9345
call $00ad
_init_ef9345:
db 24,$21,$00,$28,$81,$21,$6E,$28,$82,$21,$f7,$28,$83,$21,$13,$28,$84,$21,$08,$28,$87,$22,$38,$28,$00
-
- Site Admin
- Posts: 171
- Joined: Fri Oct 06, 2023 8:25 pm
Re: vg5000
Merci pour le informations, mais peut-être que je me suis mal exprimé.rendomizer wrote: ↑Fri Jun 21, 2024 6:47 pm je connais le processeur video (VDP) EF9345 l'assembleur z80, 6510 ainsi que le BASIC c'est tout !.
Je connais aussi le Zilog Z80 et le MOS 6510, mais le problème n'est pas de connaître les routines qui contrôlent l'EF9345 mais de savoir comment il fonctionne en termes de spécifications techniques : comment les registres sont utilisés et comment la mémoire vidéo est organisée, etc. Disposez-vous de ce type d'informations, bien organisées dans un manuel technique ?
Malheureusement, avoir quelques exemples ne suffit pas et je suis allé sur la page que vous avez gentiment recommandée, mais il n'y a pas (par exemple) de description du fonctionnement de la redéfinition des caractères. Le compilateur ugBASIC n'utilise pas de routines système sauf en cas d'absolue nécessité. Par exemple, voici tout le code que j'ai écrit pour le chipset vidéo.
Ce que je peux faire, c'est réactiver le support que j'avais développé jusqu'à présent pour le vg5000 et, s'il fonctionne de manière suffisamment stable, le porter sur UGBASIC-IDE. Mais cela prendra du temps car j'ai d'autres activités en cours. Cependant, si vous acceptez de me soutenir, je peux prioriser cette activité. et tenter d'améliorer ce qui existe.
Merci encore!
-
- Posts: 4
- Joined: Wed Jun 19, 2024 6:01 pm
Re: vg5000
Bonjour spotlessmind1975.Excusez moi pour le manque de precision.
dans l'exemple si dessus vous avez la routine ( 00B1 ) qui vous permet de redefinir un caractere.
exemple:
Mode graphique
ld hl,_graphic
ld a,33 ;code caractere " ! " ( de 33 juqu'à 128 caracteres redefinissables)
call $001b ; increment jusqu'a 10 octets automatiquement les données du caractere "!" dans _graphic
_graphic:
db. 255,9,9,9,9,9,9,9,9,255
dans l'exemple si dessus vous avez la routine ( 00B1 ) qui vous permet de redefinir un caractere.
exemple:
Mode graphique
ld hl,_graphic
ld a,33 ;code caractere " ! " ( de 33 juqu'à 128 caracteres redefinissables)
call $001b ; increment jusqu'a 10 octets automatiquement les données du caractere "!" dans _graphic
_graphic:
db. 255,9,9,9,9,9,9,9,9,255
-
- Site Admin
- Posts: 171
- Joined: Fri Oct 06, 2023 8:25 pm
Re: vg5000
Bonjour rendomizer!
Je le répète, ce que je peux faire, c'est essayer de réactiver le support qui existe pour le vg5000, et je peux le faire au plus tôt dans quelques mois. À moins, bien sûr, que cela soit incité d’une manière ou d’une autre.
Le problème n’est pas le manque de précision, mais la nécessité de disposer des spécifications du matériel, et non des ROM. Sauf besoins spécifiques, que je ne vois pas ici, nous n'utilisons pas les routines ROM. Dans ce cas particulier, c'est donc presque une obligation puisqu'il faut désactiver le gestionnaire d'IRQ, sinon l'écran sera corrompu. Je n'ai pas trouvé la moindre documentation expliquant comment reprogrammer le chipset vidéo sans utiliser la ROM incluse. Sans ces informations, l'intégration avec ugBASIC est très difficile.rendomizer wrote: ↑Sat Jun 22, 2024 8:52 am Bonjour spotlessmind1975.Excusez moi pour le manque de precision.
Je le répète, ce que je peux faire, c'est essayer de réactiver le support qui existe pour le vg5000, et je peux le faire au plus tôt dans quelques mois. À moins, bien sûr, que cela soit incité d’une manière ou d’une autre.
-
- Posts: 4
- Joined: Wed Jun 19, 2024 6:01 pm
Re: vg5000
Bonjour spotlessmind1975.
Je souhaiterai vous donner les spécifications matérielles, cependant ils sont en français.
Si c'est cela qui vous empêche de poursuivre le portage du vg5000 sur ugBasic je pourrais vous le transcrire en anglais.
https://vg5000.webnode.fr/livres-et-documentations/
cordialement serge-yves
Je souhaiterai vous donner les spécifications matérielles, cependant ils sont en français.
Si c'est cela qui vous empêche de poursuivre le portage du vg5000 sur ugBasic je pourrais vous le transcrire en anglais.
https://vg5000.webnode.fr/livres-et-documentations/
cordialement serge-yves