Raspberry Pi
Modérateurs : Papy.G, fneck, Carl
- Carl
- Modérateur
- Messages : 13290
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Raspberry Pi
bizarre car chez moi ça fonctionne mais c'est pas la même version
Re: Raspberry Pi
En fait j'utilise mon vieux pc pour l'émulation, XP est copain avec tout.Daniel a écrit :@Frodon : alors dcmoto ne fonctionne pas chez toi, car ce n'est pas un logiciel 64 bits
Mais les ports usb de mon vieux pc sont hs, donc impossible de déplacer des gros fichiers dessus temporairement (ou alors je dois graver un dvd), c'est pour ça que je n'ai pas pu utiliser le winrar que j'avais.
Bon maintenant je cherche à comprendre comment utiliser le .img , le monde linux est encore plein de mystères pour moi.
Frodon69
- Carl
- Modérateur
- Messages : 13290
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Raspberry Pi
Pour le fichier img, il faut transférer cette image vers ta carte SD avec :
Win32 Disk Imager Beta
This tool is used for writing images to USB sticks or SD/CF cards
http://sourceforge.net/projects/win32di ... source=dlp
Win32 Disk Imager Beta
This tool is used for writing images to USB sticks or SD/CF cards
http://sourceforge.net/projects/win32di ... source=dlp
Re: Raspberry Pi
@ _sam_ : J'ai pu télécharger depuis mon pi et consulter le mode d'emploi txt ; Fabien verra dans les stats de system-cfg un navigateur peu connu.
@carl : merci du tuyau, je teste de suite.
edit : "erreur 5 : accès refusé" ; je vais me coucher, j'abandonne.
@carl : merci du tuyau, je teste de suite.
edit : "erreur 5 : accès refusé" ; je vais me coucher, j'abandonne.
Frodon69
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Raspberry Pi
@frodon69: on est donc au moins 2 à naviger sur system-cfg depuis un R-Pi (navigateur midori pour ma part). Depuis quelques jours ne n'utilise plus que lui. C'est agréable de booter un ordi silencieux et "lent". On croirait un thomson .
As tu réussi à détarer l'archive et lancer l'émul ? je ne sais pas ce que ca donne au niveau des dépendances (il faut avoir gtk-3.0+, allegro4.2 au moins). Avec le fichier ".deb" je crois que les dépendances sont mieux gérées, et cerise sur le gâteau: TEO est installé dans le système, disponible depuis n'importe où et il apparait dans le menu des jeux du Desktop!
@Daniel: j'ai récupé dcto8d, après modif du makefile (utilisation de gcc, ajout du dossier SDL) création du repertoire "object", la compile se passe bien:
J'ai récupéré to8d.rom sur le site de DCMOTO et je l'ai placé dans le même dossier que l'executable, mais quand je le lance l'écran reste noir avec une boite affichant un message "erreur 11 pas de cassette dans le lecteur", et on a des message inquiétants sur la console, et si je joue avec les options de zoom des préférence, l'émul plante:
Pour l'écran noir c'est peut être la ROM qui est placée au mauvais endroit? bien que je vois que to8dmoniteur.h contient de l'hexa pouvant être le code du moniteur.. du coup je ne sais pas trop ce qu'il faut faire par la suite pour que ca marche.
[edit] en jouant encore un peu avec les menu, l'écran reste toujours noir, mais j'ai varié dans le type de plantage
(msg envoyé depuis le R-Pi)
As tu réussi à détarer l'archive et lancer l'émul ? je ne sais pas ce que ca donne au niveau des dépendances (il faut avoir gtk-3.0+, allegro4.2 au moins). Avec le fichier ".deb" je crois que les dépendances sont mieux gérées, et cerise sur le gâteau: TEO est installé dans le système, disponible depuis n'importe où et il apparait dans le menu des jeux du Desktop!
@Daniel: j'ai récupé dcto8d, après modif du makefile (utilisation de gcc, ajout du dossier SDL) création du repertoire "object", la compile se passe bien:
Code : Tout sélectionner
pi@raspberrypi ~/dcto8 $ make
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8dmain.c -o object/dcto8dmain.o -O2
Assembler messages:
Fatal error: can't create object/dcto8dmain.o: No such file or directory
make: *** [object/dcto8dmain.o] Error 1
pi@raspberrypi ~/dcto8 $ mkdir object
pi@raspberrypi ~/dcto8 $ make
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8dmain.c -o object/dcto8dmain.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dc6809emul.c -o object/dc6809emul.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8dinterface.c -o object/dcto8dinterface.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8ddevices.c -o object/dcto8ddevices.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8demulation.c -o object/dcto8demulation.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dctosource/dcto8demulation.c8dkeyb.c -o object/dcto8dkeyb.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8doptions.c -o object/dcto8doptions.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8dvideo.c -o object/dcto8dvideo.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dc6809dass.c -o object/dc6809dass.o
gcc -fomit-frame-pointer -I/usr/include/SDL -c source/dcto8ddesass.c -o object/dcto8ddesass.o -O2
gcc -fomit-frame-pointer -I/usr/include/SDL -o dcto8d -lSDL object/dcto8dmain.o object/dc6809emul.o
(...)object/dcto8dinterface.o object/dcto8ddevices.o object/dcto8demulation.o object/dcto8dkeyb.o object/dcto8doptions.o object/dcto8dvideo.o object/dc6809dass.o object/dcto8ddesass.o
pi@raspberrypi ~/dcto8 $
pi@raspberrypi ~/dcto8 $ ls -l dcto8d
-rwxr-xr-x 1 pi pi 192227 Aug 7 21:57 dcto8d
pi@raspberrypi ~/dcto8 $
Code : Tout sélectionner
pi@raspberrypi ~/dcto8 $ ls
dcto8d dcto8d.ini makefile SDL.dll
dcto8d.2009.05.zip dcto8d-printer.txt makefile~ source
dcto8d.exe doc object to8d.rom
pi@raspberrypi ~/dcto8 $ ./dcto8d
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
...
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
after 676 requests (676 known processed) with 0 events remaining.
pi@raspberrypi ~/dcto8 $
[edit] en jouant encore un peu avec les menu, l'écran reste toujours noir, mais j'ai varié dans le type de plantage
Code : Tout sélectionner
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
dcto8d: ../../src/xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.
Aborted
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Raspberry Pi
Pour dcto8d :
- Toutes les roms nécessaires sont dans les fichiers .h, il n'y a rien a ajouter
- L'émulateur se synchronise sur la carte son en envoyant continuellement des buffers à jouer. Sur PC Windows ou Linux ça fonctionne bien, avec le Pi j'ai peur d'incompatibilités avec le matériel, ou les drivers, ou la bibliothèque ALSA. Avec SDL au milieu pour compliquer les choses, ça ne semble pas facile à débugger.
- Toutes les roms nécessaires sont dans les fichiers .h, il n'y a rien a ajouter
- L'émulateur se synchronise sur la carte son en envoyant continuellement des buffers à jouer. Sur PC Windows ou Linux ça fonctionne bien, avec le Pi j'ai peur d'incompatibilités avec le matériel, ou les drivers, ou la bibliothèque ALSA. Avec SDL au milieu pour compliquer les choses, ça ne semble pas facile à débugger.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Raspberry Pi
A ton avis, l'écran noir a une cause plausible?
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Raspberry Pi
Si le programme ne peut pas communiquer avec la carte son pour une raison quelconque, le processeur 6809 est mis en pause et ne démarre pas. Dans ce cas il n'y a aucun affichage, l'écran reste noir. C'est la cause la plus probable.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Carl
- Modérateur
- Messages : 13290
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Raspberry Pi
Tu peux faire un essai en mode pulse audio
Install PulseAudio by running sudo apt-get install pulseaudio
Configure mpd to use PulseAudio as output plugin by editing /etc/mpd.conf. You need to remove or comment out the lines that refer to the Alsa output plugin and add these lines instead:
audio_output {
type "pulse"
name "MPD PulseAudio Output"
}
Edit /etc/pulse/default.pa and remove or comment out load-module module-suspend-on-idle. This is the important part that prevents PulseAudio from sending the audio hardware to sleep. I’ve read that simply using PulseAudio lessened the problem for some people. But on my Pi only disabling idle suspend really helped.
Restart PulseAudio and mpd to let the configuration changes take effect. You do this by running the following two commands:
sudo /etc/init.d/pulseaudio restart
sudo /etc/init.d/mpd restart
Re: Raspberry Pi
Dans le monde Linux, j'ai le niveau 1er année... de maternelle mais je vais essayer__sam__ a écrit :As tu réussi à détarer l'archive et lancer l'émul ? je ne sais pas ce que ca donne au niveau des dépendances (il faut avoir gtk-3.0+, allegro4.2 au moins). Avec le fichier ".deb" je crois que les dépendances sont mieux gérées, et cerise sur le gâteau: TEO est installé dans le système, disponible depuis n'importe où et il apparait dans le menu des jeux du Desktop!
Frodon69
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Raspberry Pi
@Merci Carl. Une fois l'écran noir réglé, je vais voir si pulsaudio règle le pb (pour le moment j'hésite car j'ai lu des trucs comme quoi ca ralentissait sérieusement le linux).
@Daniel: j'ai fait tourner un débuggeur dessus et la routine Run() d'émulation 6809 est bien appelée. Nextline() est aussi appelé, et pourtant tout reste noir. Le point d'arret sur Palette() n'est jamais rencontré. Et en inspectant la ram video SDL on voit qu'elle est remplie de "garbage".
Mon impression est que même si Run() est appelé, le 6809 ne tourne pas!
Si je mets un point d'arret sur Run6809. Sur le code ROM suivant
J'observe le PC faire: $FDE8, $FDEB, $FDED, $FDF1, $FEEB au lieu de $FDEB!!!
Il semble que les sauts relatifs courts sont fait sur 8bits et pas 16bits.
Ok, le code présume que GETC (retournant un char) est signé, or pour GCC 4.6.3 sur ARM, les char sont unsigned!!
Donc ==> modif du makefile pour ajouter -fsigned-char... (et -pipe: cela accélère la compile car l'écriture des fichiers temporaire sur le flash disk a l'air très lent. on a 41s sans vs 28s avec -pipe lors d'une compile rapide sans optimisations), recompile.... lancement et .. BINGO! l'écran TO8D apparait!
Ce bug n'était pas évident à tracer!
voici le makefile qui corrige tout:
Au niveau fonctionnement sur le PI, l'affichage du pointeur souris sur le menu de boot du TO8D est assez saccadé. Cela semble venir de lenteurs d'afichage par la lib SDL car au niveau usage CPU j'ai: 50% du temps cpu passé dans dcto8d et 50% du temps CPU passé dans Xorg. Bref tout le temps passe dans l'affichage, soit du coté emul ,soit du coté X11. Si je passe l'affichage des trames à 10%, ca ne change pas spécialement la charge CPU, mais le beep en basic arrive avec 1sec de retard. Avec 100% le beep est immédiat.
Pour ceux qui voudraient essayer de leur coté, un binaire executable est présent dans l'archive dcto8d.tgz
Daniel: tu peux ajouter sur la page que le Raspberry-PI est supporté modulo des modifications mineures.
[edit] j'ai eu la curiosité de lancer DCTO8D hors environnement X11. Mon écran est devenu tout noir preuve qu'il s'est passé quelque chose. Il n'est pas exclus que la lib SDL se débrouille pour marcher quand même hors environnement X11, directement dans le framebuffer, ce qui permettrait de possiblement gagner pas mal de puissance CPU.
@Daniel: j'ai fait tourner un débuggeur dessus et la routine Run() d'émulation 6809 est bien appelée. Nextline() est aussi appelé, et pourtant tout reste noir. Le point d'arret sur Palette() n'est jamais rencontré. Et en inspectant la ram video SDL on voit qu'elle est remplie de "garbage".
Mon impression est que même si Run() est appelé, le 6809 ne tourne pas!
Si je mets un point d'arret sur Run6809. Sur le code ROM suivant
Code : Tout sélectionner
FDE8 CE6000 LDU #$6000
FDEB 6FC0 CLR ,U+
FDED 11837000 CMPU #$7000
FDF1 26F8 BNE $FDEB
Il semble que les sauts relatifs courts sont fait sur 8bits et pas 16bits.
Code : Tout sélectionner
#define BRANCH {dc6809_pc+=GETC(dc6809_pc);}
Donc ==> modif du makefile pour ajouter -fsigned-char... (et -pipe: cela accélère la compile car l'écriture des fichiers temporaire sur le flash disk a l'air très lent. on a 41s sans vs 28s avec -pipe lors d'une compile rapide sans optimisations), recompile.... lancement et .. BINGO! l'écran TO8D apparait!
Ce bug n'était pas évident à tracer!
voici le makefile qui corrige tout:
Code : Tout sélectionner
# Project: dcto8d
CC=gcc -fomit-frame-pointer -I/usr/include/SDL -O2 -fsigned-char -pipe
objects = object/dcto8dmain.o object/dc6809emul.o \
object/dcto8dinterface.o object/dcto8ddevices.o object/dcto8demulation.o \
object/dcto8dkeyb.o object/dcto8doptions.o object/dcto8dvideo.o \
object/dc6809dass.o object/dcto8ddesass.o
dcto8d : $(objects)
$(CC) -o dcto8d -lSDL $(objects)
object/dcto8dmain.o : source/dcto8dmain.c
$(CC) -c source/dcto8dmain.c -o object/dcto8dmain.o
object/dc6809emul.o : source/dc6809emul.c
$(CC) -c source/dc6809emul.c -o object/dc6809emul.o
object/dcto8dinterface.o : source/dcto8dinterface.c
$(CC) -c source/dcto8dinterface.c -o object/dcto8dinterface.o
object/dcto8ddevices.o : source/dcto8ddevices.c
$(CC) -c source/dcto8ddevices.c -o object/dcto8ddevices.o
object/dcto8demulation.o : source/dcto8demulation.c
$(CC) -c source/dcto8demulation.c -o object/dcto8demulation.o
object/dcto8dkeyb.o : source/dcto8dkeyb.c source/dcto8dkeyb.h
$(CC) -c source/dcto8dkeyb.c -o object/dcto8dkeyb.o
object/dcto8doptions.o : source/dcto8doptions.c
$(CC) -c source/dcto8doptions.c -o object/dcto8doptions.o
object/dcto8dvideo.o : source/dcto8dvideo.c
$(CC) -c source/dcto8dvideo.c -o object/dcto8dvideo.o
object/dc6809dass.o: source/dc6809dass.c source/dc6809dass.h
$(CC) -c source/dc6809dass.c -o object/dc6809dass.o $(CFLAGS)
object/dcto8ddesass.o: source/dcto8ddesass.c
$(CC) -c source/dcto8ddesass.c -o object/dcto8ddesass.o
clean :
rm dcto8d $(objects)
Pour ceux qui voudraient essayer de leur coté, un binaire executable est présent dans l'archive dcto8d.tgz
Daniel: tu peux ajouter sur la page que le Raspberry-PI est supporté modulo des modifications mineures.
[edit] j'ai eu la curiosité de lancer DCTO8D hors environnement X11. Mon écran est devenu tout noir preuve qu'il s'est passé quelque chose. Il n'est pas exclus que la lib SDL se débrouille pour marcher quand même hors environnement X11, directement dans le framebuffer, ce qui permettrait de possiblement gagner pas mal de puissance CPU.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Raspberry Pi
Je suis admiratif, car je n'aurais peut-être pas trouvé le problème moi-même. Bravo
La lenteur d'affichage n'est pas surprenante : dcto8d fonctionne bien sur PC Windows ou Linux car SDL sait exploiter l'accélération matérielle de la carte graphique, mais sur le Pi tout doit passer par le soft. Il faudrait vérifier dans SDL s'il y a des paramétrages pour faire mieux, sinon c'est insoluble.
Merci pour le binaire et le makefile, je vais les ajouter au site dcto8
La lenteur d'affichage n'est pas surprenante : dcto8d fonctionne bien sur PC Windows ou Linux car SDL sait exploiter l'accélération matérielle de la carte graphique, mais sur le Pi tout doit passer par le soft. Il faudrait vérifier dans SDL s'il y a des paramétrages pour faire mieux, sinon c'est insoluble.
Merci pour le binaire et le makefile, je vais les ajouter au site dcto8
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Raspberry Pi
j'ai vu que tu as laissé l'extension tgz pour le binaire. Un simple "gz" pouvait être suffisant si le fichier n'est pas une archive TAR, mais l'exe directement recompressé.
Pour la curiosité je vais essayer de le recompiler en "profile" et voir quelle partie de SDL fait goulot d'étranglement.
Pour la curiosité je vais essayer de le recompiler en "profile" et voir quelle partie de SDL fait goulot d'étranglement.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
-
- Messages : 7964
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Raspberry Pi
Dans le profile je n'ai pas vu grand chose d'intéressant. Les chiffres sont d'ailleurs très bizarres (styles 0.3sec utilisés au total après 5mins d'execution). Je soupconne gprof de ne pas être au point sur le R-Pi.
Cependant en utilisantdans dcto8dvideo.c, TEO devient plein écran, et l'affichage est alors beaucoup plus fluide. C'est vraiment le jour et la nuit. De ce que j'ai compris: si on est pas en FULLSCREEN, alors SDL sur le R-PI n'honore pas bien HWSURFACE et fait des copie software de la ram standard vers la ram videodans SDL_FLIP(). En full screen il est plus malin : il travaille en ram video et utilise l'accélération matérielle pour déplacer les blocs.
Ben alors c'est ca la solution? Helas non, car en full screen l'écran n'est pas couvert à 100%. En gros c'est la même taille que sous x11, mais avec une bordure noire gigantesque autour. Mais surtout: on pert l'usage du clavier qui n'est plus pris en compte. Il faut avouer le basic sans le clavier est nettement moins pratique!
Pour réduire le nombre d'underrun audio j'ai trouvé que passer le buffer son de 1024 à 8192 aidait pas mal (mais ce n'est pas parfait non plus). J'ai même eu l'impression que cela accélérait l'émulation, mais c'est très subjectif.
Cependant en utilisant
Code : Tout sélectionner
#define VIDEO_MODE SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN
Ben alors c'est ca la solution? Helas non, car en full screen l'écran n'est pas couvert à 100%. En gros c'est la même taille que sous x11, mais avec une bordure noire gigantesque autour. Mais surtout: on pert l'usage du clavier qui n'est plus pris en compte. Il faut avouer le basic sans le clavier est nettement moins pratique!
Pour réduire le nombre d'underrun audio j'ai trouvé que passer le buffer son de 1024 à 8192 aidait pas mal (mais ce n'est pas parfait non plus). J'ai même eu l'impression que cela accélérait l'émulation, mais c'est très subjectif.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
- Carl
- Modérateur
- Messages : 13290
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Raspberry Pi
la prochaine version de Raspbian devrait utiliser Wayland..peut être que ça va améliorer les choses
http://wayland.freedesktop.org/xserver.html
http://fr.wikipedia.org/wiki/Wayland
http://www.raspberrypi.org/archives/4053
http://wayland.freedesktop.org/xserver.html
http://fr.wikipedia.org/wiki/Wayland
http://www.raspberrypi.org/archives/4053