Index du forum


Accueil » les nouveaux messages




Répartition de la mémoire pour mon jeu
#1
Chti nouveau


Bonjour,

Je souhaiterai connaitre la meilleure répartition mémoire pour mon jeu.

Je m'explique. J'ai un BIN pour mes sprites/tiles, un BIN pour mes cartes de niveau, un BIN pour le programme principal, un BIN de routines ASM.

Mon fichier sprites à une taille de 4095ko
Mon fichier des niveaux à une taille 3968ko
Mon programme à une taille de 20ko
Fichier de routine à une taille de 1ko

J'ai un loader BASIC, mais mon programme est en Assembleur.

Aujourd'hui voici les adresses où sont logés ces fichiers :
Sprites : &7800
Cartes : &87E1
Programme: &4000
Routine: &A000

J'aimerai éviter les écrasements.

Quelle serait la meilleure répartition, en sachant que je souhaiterai que mon jeu tourne sur tous les CPC ?

Merci.

Date de publication : Aujourd'hui 8:51


Re: comment charger et executer un programme basic depuis une routine assembleur
#2
Chti nouveau


J'ai trouvé ce code qui charge un programme BASIC et appel la commande BASIC "LIST". On voit bien le listing du programme défilé sans problème.

Par contre, la commande "RUN" ne fonctionne pas et ne lance pas le programme. Bizarre.

Ici, le code ASM :

.cas_in_open equ &bc77
.cas_in_direct equ &bc83
.cas_in_close equ &bc7a

org &100

call load_file
call run_file
ret


.load_file
;; B = length of the filename in characters
ld b,end_filename-filename

;; HL = address of the start of the filename
ld hl,filename

;; DE = address of a 2k buffer
;;
;; in disc mode: this buffer is not used when CAS IN DIRECT
;; firmware function is used, so it is safe to put it anywhere
;; you want.
ld de,0

;; firmware function to open a file for reading
call cas_in_open

;; cas_in_open returns:
;; if file was opened successfully:
;; - carry is true
;; - HL contains address of the file's AMSDOS header
;; - DE contains the load address of the file (from the header)
;; - BC contains the length of the file (from the file header)
;; - A contains the file type (2 for binary files)

;; firmware function to load the entire file
;; this will work with files that have a AMSDOS header (ASCII
;; files do not have a header)

;; HL = load address

ld hl,&170

;; read file
call cas_in_direct

;; firmware function to close a file opened for reading
call cas_in_close
ret
.end_load_file

;; the filename to load
;; disc filenames are a maximum of 12 characters long
;; 8 characters for name, and 3 characters for extension
.filename
defb "BALLS.BAS"
.end_filename

.run_file
LD HL,stat
DI
EXX
LD B,&7F
RES 3,C
OUT (C),C
EXX
EI
JP &C0B4
ret
.end_run_file

.stat
defm 'LIST'
.end_stat

Date de publication : Hir 17:29


Re : vends cartouche PARADOS v1.2 cpc+
#3
Modérateur


J"voudrai pas te décevoir mais depuis la sortie de la C4CPC, les cartouches ne valent plus rien hormis les originaux de jeux... Donc bein parados (qui déjà si on n'a plus de lecteur D7 n'a aucun intérêt), je pense pas que cela intéresse quelqu'un. Désolé...

Date de publication : 18/02 12:41


Re : Présentation d'Eisenfaust
#4
Modérateur


Bon et bien re-bienvenue ici ;)

Date de publication : 18/02 12:32


Re : Emulateur pour Linux Ubuntu ?
#5
Petit Scarabée


Bon, malgré mon dégoutage profond, j'ai tout de même fais une dernière tentative avec Caprice32 v.4.4.n sous mon Kubuntu 16.04.
J'ai suivi les instructions du paragraphe 2.3 de la page suivante :
https://doc.ubuntu-fr.org/amstrad
Par contre, j'ai dû modifier plusieurs points. (j'ai soumis des modifs à cette page, à voir si elles seront prise en compte...)
Déjà la commande d'installation de paquetages complémentaires (et dépendances..) ne fonctionne pas. Donc au lieu du "sudo apt-get install libsdl1.2-dev libfreetype6-dev zlib-devel libpng-devel", je suis passé par mon gestionnaire de paquetages pour les installer, sauf qu'il n'a jamais trouvé les paquetages zlib-devel ni le libpng-devel. Mais j'ai tenté de faire sans et la compile s'est faite. Par contre avant le premier lancement, j'ai dû modifier le cap32.cfg, afin de faire pointer le fichier vers les bons emplacements (rom, releases, etc), car j'ai extrait l'archive github dans mon répertoire personnel, dans un sous répertoire "Emulations" qui contient un sous répertoire "Amstrad" (entre autre). Et après l'avoir lancé et avoir modifié la config de caprice, je l'ai testé et pour l'instant tout à l'air de se passer nickel : Tous les caractères sont accessible, le son fonctionne, on est pas en clavier qwerty ou autre mais bien en azerty, etc etc. Il n'y a qu'une chose que je n'ai pas encore testé : si quand on sauvegarde plusieurs fois les modifs d'un programme sur une "diskette virtuelle" si ça rafraichi bien et prend bien en compte les modifs sans tout planté ! (si si j'ai eu un émulateur qui me la faite celle là..). Donc tout espoir n'est pas pas perdu pour enfin retrouver notre CPC sous Linux avec un émulateur natif sans passer par wine, virtualbox ou autre... Hésitez pas à tester de votre côté et à me faire remonter vos expérimentations !

Date de publication : 01/02 02:27


Re : Lecteur de disquette 3"1/2 interne (sans abîmer le 6128)
#6
Chti nouveau


Hé, hé... encore merci. Je n'allais pas monter un WordPress pour si peu ! Et puis, c'est dans l'esprit : une petite page html codée sur un coin de table pendant que l'on bidouille le CPC

Afin de rendre le sujet le plus accessible possible (on sait jamais, cela peut interresser quelqu'un), je me devais de refaire le 3D en fonction des lecteurs que vous pouvez encore trouver (dans de vieux PC portables HS par exemple).

Que pensez-vous de la façade remaniée pour cela ?

Cliquez pour afficher l
Cliquez pour afficher l



Au final, c'est plus solide (le lecteur étant plus court, je peux profiter de l'espace gagné pour fermer le cadre en façade) et cela me semble un peu plus proche de l'esthétique du lecteur d'origine.
Le prémarquage de l'emplacement de la LED permettra de percer seulement si celle-ci fonctionne correctement.

Petite remarque : la couleur finale devra être choisie directement lors de l'impression (soit dans la masse) car une peinture ne pourrait supporter le frottement des disquettes.

Date de publication : 30/01 18:35


Re : Comment faire une pause en basic
#7
Petit Scarabée


je t'en prie, ce fut un plaisir !

Date de publication : 30/01 15:41


Re : Comment faire une pause en basic
#8
Molecule man


Oui, le but de tout ça est d’intercaler des pauses entre d'autres commandes pour créer une petite animation avec caractères.

Ben oui, END .... c'était tout simple !!
J'imaginais un truc plus compliqué genre EOP ou CALL&FFFF
Merci encore.

Date de publication : 30/01 08:52


Re : Les petits génies
#9
Petit Scarabée


je viens de retourner sur Wiki, en fait il n'y avait que 18 épisodes en tt et pour tt... ça scotch !

Date de publication : 30/01 05:12


Re : Les petits génies
#10
Petit Scarabée


Tu m'étonnes ! on peut les télécharger où ? tu les a mis en dispo sur un FTP ? En tt cas je suis preneur ! (je m'étais aussi cassé le nez à l'époque qd j'ai tenté de les retrouver en téléchargement...)

Date de publication : 30/01 05:06






RECHERCHE
* Donathon 2018 *

230/200 €

 

 

 

 En savoir plus

LANGUE
Le Chat
 Smiles  Loading...
EN LIGNE
26 Personne(s) en ligne (2 Personne(s) connectée(s) sur Forum Amstrad CPC)

Utilisateur(s): 6
Invité(s): 20

Moonbeam, TotO, number-one, Tarodius, moudubou, Golem13, Plus ...
Musiques CPC

Lecteur MP3
CPC-Scene Radio

 

 

ROLAND RADIO

 

Informations
________________________________

Suivre Amstrad.eu

________________________________

Autres Créations web

________________________________

 

Declaration CNIL : 1005884

Association : 0540200002843

Charte

Avertissements

Plan du site

Carte de France des membres

 

 

 

Facebook.

Twitter.

RSS forum.

RSS News.

Contact.

 

Gaston-Phoebus.com

Amstrad.eu

untour.fr

Cathydeco.com

Higoogle

Harloup.fr

** Faire un don **

 

Conception Phenix © 2000 - 2014