Derniers sujets
Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités Aucun
Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion
Statistiques
Nous avons 242 membres enregistrésL'utilisateur enregistré le plus récent est AIRBUS44
Nos membres ont posté un total de 8922 messages dans 811 sujets
GRAB et les tableaux
2 participants
Forum Oric :: Forums :: Forum Public :: BASIC
Page 1 sur 1
GRAB et les tableaux
J'ai un gros pb que je n'arrive pas à résoudre pour le jeu qu'on code Maximus et moi.
Voilà ce que fait le programme :
- on a des données dans des fichiers Sédoric qui sont mappés en #A000 (et donc chargés dans la partie écran HIRES alors que je suis en mode TEXT sans GRAB) ;
- une fois le fichier chargé en mémoire on recopie les valeurs récupérées avec des PEEK dans des tableaux ;
Ca marchait très bien jusqu'à ce qu'on commence à avoir des problèmes de taille mémoire.
Du coup j'ai ajouté des GRAB et là ça bugge sévère.
Ce que j'essaie de faire :
1- en TEXT sans GRAB ; charger les données fichiers (depuis #A000 comme avant) ;
2- une fois tout chargé, faire le GRAB
Et là apparemment j'ai des tableaux qui sont modifiés (plus aucune valeur présente). Je suppose que GRAB tripatouille les pointeurs des tableaux.
Est-ce que je peux me débrouiller avec plusieurs HIMEM ?
Ca n'a pas l'air recommandé.
Si vous avez d'autres idées je suis preneur.
Voilà ce que fait le programme :
- on a des données dans des fichiers Sédoric qui sont mappés en #A000 (et donc chargés dans la partie écran HIRES alors que je suis en mode TEXT sans GRAB) ;
- une fois le fichier chargé en mémoire on recopie les valeurs récupérées avec des PEEK dans des tableaux ;
Ca marchait très bien jusqu'à ce qu'on commence à avoir des problèmes de taille mémoire.
Du coup j'ai ajouté des GRAB et là ça bugge sévère.
Ce que j'essaie de faire :
1- en TEXT sans GRAB ; charger les données fichiers (depuis #A000 comme avant) ;
2- une fois tout chargé, faire le GRAB
Et là apparemment j'ai des tableaux qui sont modifiés (plus aucune valeur présente). Je suppose que GRAB tripatouille les pointeurs des tableaux.
Est-ce que je peux me débrouiller avec plusieurs HIMEM ?
Ca n'a pas l'air recommandé.
Si vous avez d'autres idées je suis preneur.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: GRAB et les tableaux
Bon j'ai testé le fait de refaire des HIMEM et ça ré-initialise les tableaux.
Du coup pour l'instant j'ai laissé un HIMEM à 40959 (juste au dessous de #A000) juste après le GRAB ce qui me donne 2 Ko de plus.
S'il manque encore de la mémoire je remonterais le HIMEM et l'emplacement des chargements. Je sais que je prends moins de 1 Ko à chaque chargement donc je peux encore gagner 4 Ko.
Edit: tant qu'à faire de remonter je pense que je virerais le HIMEM et que je ferais mes entrées/sorties dans l'emplacement du deuxième jeu de caractères (B800 à BB80) comme recommandé par Dbug.
Au pire si on veux l'utiliser il suffira de charger le jeu de caractères après les lectures des données disquette.
Du coup pour l'instant j'ai laissé un HIMEM à 40959 (juste au dessous de #A000) juste après le GRAB ce qui me donne 2 Ko de plus.
S'il manque encore de la mémoire je remonterais le HIMEM et l'emplacement des chargements. Je sais que je prends moins de 1 Ko à chaque chargement donc je peux encore gagner 4 Ko.
Edit: tant qu'à faire de remonter je pense que je virerais le HIMEM et que je ferais mes entrées/sorties dans l'emplacement du deuxième jeu de caractères (B800 à BB80) comme recommandé par Dbug.
Au pire si on veux l'utiliser il suffira de charger le jeu de caractères après les lectures des données disquette.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: GRAB et les tableaux
Hello. J'imagine qu'on parle de tableaux définis en Basic (et donc gérés par le système) pas de tableaux que tu gères toi-même ?
Quoi qu'il en soit tu as aussi la possibilité d'utiliser la RAM Overlay: Sedoric réserve, de mémoire, 3 pages (256 octets chacune) comme buffers de travail. Tu peux en utiliser un sans problème je pense, mais il faut donc avoir le petit programme assembleur qui permet de basculer de la Rom Oric à la RAM Overlay (très court, genre 6 octets).
Voir Sedoric à Nu pour ces zones (j'écris tout de mémoire là).
Sinon il n'existe pas une commande Sedoric pour sauver/charger directement des tableaux Basic sur disquette ?
Quoi qu'il en soit tu as aussi la possibilité d'utiliser la RAM Overlay: Sedoric réserve, de mémoire, 3 pages (256 octets chacune) comme buffers de travail. Tu peux en utiliser un sans problème je pense, mais il faut donc avoir le petit programme assembleur qui permet de basculer de la Rom Oric à la RAM Overlay (très court, genre 6 octets).
Voir Sedoric à Nu pour ces zones (j'écris tout de mémoire là).
Sinon il n'existe pas une commande Sedoric pour sauver/charger directement des tableaux Basic sur disquette ?
Symoon- Messages : 779
Date d'inscription : 26/04/2014
Re: GRAB et les tableaux
Merci pour l'info mais s'il n'y a que 3 * 256 ce ne sera pas suffisant car mon tableau le plus grand fait presque 1 Ko.
Non, il n'y a rien d'équivalent à STORE et RECALL en Sedoric. On aurait pu utiliser les fichiers séquentiels mais je pense que c'est plus lent que ce que je fais et j'ai eu des pbs avec.
Non, il n'y a rien d'équivalent à STORE et RECALL en Sedoric. On aurait pu utiliser les fichiers séquentiels mais je pense que c'est plus lent que ce que je fais et j'ai eu des pbs avec.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: GRAB et les tableaux
Si tu sais exactement comment tu stockes tes tableaux, tu peux peut-être les organiser pour les sauver par blocs de 256 octets ? Pour rappel 256 octets = 1 secteur sur la disquette (curieusement )
EDIT: au fait je répondais dans l'idée de faire le chargement d'un tableau en plusieurs fois ! 1Ko = 4 chargements de 256 octets.
Tu ne pourras pas, je pense, utiliser les 3 buffers Sedoric en même temps. Mais un buffer de 256 octets c'est tout à fait jouable. Comme ça en bonus, plus de problème de HIMEM...
EDIT: au fait je répondais dans l'idée de faire le chargement d'un tableau en plusieurs fois ! 1Ko = 4 chargements de 256 octets.
Tu ne pourras pas, je pense, utiliser les 3 buffers Sedoric en même temps. Mais un buffer de 256 octets c'est tout à fait jouable. Comme ça en bonus, plus de problème de HIMEM...
Symoon- Messages : 779
Date d'inscription : 26/04/2014
Forum Oric :: Forums :: Forum Public :: BASIC
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Dim 31 Mar 2024 - 14:35 par kenneth
» Bla Bla général du Jury
Jeu 21 Mar 2024 - 8:51 par Dom50
» carte mère Oric (re)tracée
Mar 5 Mar 2024 - 18:54 par kenneth
» Meurtre à Grande Vitesse
Dim 25 Fév 2024 - 5:09 par Iurius
» ORIC-1 sur LE BON COIN
Ven 23 Fév 2024 - 23:01 par Mcar
» ORIC ATMOS sur LE BON COIN
Dim 4 Fév 2024 - 12:06 par kiwilevrai
» Problème d'affichage des couleurs avec un Oric Atmos
Sam 27 Jan 2024 - 1:26 par pierbail
» Bienvenue dans le Forum des Oriciens
Mar 9 Jan 2024 - 12:33 par Dom50
» Rencontre avec Laurant Weill, co-fondateur de Loriciel, et mon garçon de 12 ans
Ven 29 Déc 2023 - 14:13 par Arcade-des-Monts
» Bonnes fêtes
Mar 26 Déc 2023 - 10:21 par Dom50
» Murders in Venice / Meutres à Venise
Sam 18 Nov 2023 - 22:44 par retroric
» Un clavier PS/2 pour tester un ORIC
Dim 27 Aoû 2023 - 9:49 par Voyageur
» Disquette 3" Sedoric
Mar 1 Aoû 2023 - 14:22 par AtomeX
» faire un 6502 avec des phototransistor
Dim 16 Juil 2023 - 17:26 par Voyageur
» Oricutron linux et DSK
Jeu 29 Juin 2023 - 18:34 par Voyageur