Logicielsmoto.com

Nous sommes le 05 Oct 2024, 08:08

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 14 messages ] 
Auteur Message
 Sujet du message: MO5
MessagePosté: 05 Jan 2013, 19:55 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 75
Is there a register where we can read the position of the raster beam?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 06 Jan 2013, 11:17 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
Yes!
The Gate Array registers A7E4 and A7E5 allow you to read the Gate Array internal counters used for video generation. The lowest bit of A7E5 is the 4MHz clock, and

Moreover :
A7E6 bit 6 is set when the beam is in the "active horizontal area"
A7E7 bit 7 does the same for the "active vertical area".
In other words, when both bits are set, the GA is currently displaying pixels. When one of them is not set, the GA is currently displaying border.

A7E6 bit 7 has a meaning that I don't know yet, the technical documentation calls it "LT3". Help welcome on this one.

You can keep the following document at hand for some technical information in english: http://pulko.mandy.pagesperso-orange.fr/shinra/mo5_memmap.shtml. If you find any errors in it, let me know and I'll fix it.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 06 Jan 2013, 12:44 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 75
Thanks a lot. Congrats on your fab website.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 07 Jan 2013, 16:53 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Citation:
A7E6 bit 7 has a meaning that I don't know yet, the technical documentation calls it "LT3". Help welcome on this one.

This is a typo and should be read "TL3", i.e. bit 3 of the internal line counter.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 07 Jan 2013, 18:32 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
Thanks ! I updated the page.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 05 Mar 2013, 18:29 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 75
Back to MO5 coding.

I have my sprite engine virtually finished :D

How can I check for example if the raster is on line 168?

I have been using bit 7 of $A7E7 to check when the computer starts to paint the horizontal borders and it is there that I call my routine to paint 4 sprites. But saving the background, restoring it, masking data , and ORing sprite data takes a bit more than the borders(about 32 raster lines more) and thus I would like to know the answer to my question so I can call my sprite routine earlier. Of course sprites wont be painted on those 32 lines, but I can have my score board there.

Thanks


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 05 Mar 2013, 18:52 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
You can use the word at A7E4, which is the internal counter used by the Gate Array to keep track of its position accross the screen.

The register is made of the following bits:
Bits 15 to 6: GPL counter. This is incremented every 8 pixels in the visible area.
Bits 5 to 3: Position in current line
Bits 2 to 0: 1MHz, 2MHz and 4MHz clocks. Not much use as they are faster than the CPU.

Reading the first byte may be enough for your purposes.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 05 Mar 2013, 19:21 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 75
Thank you.

I'll try this later on.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 07 Mar 2013, 20:35 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 75
I have noticed that:

On the MO5 emulator under MESS, the $A7E4/5 seem to be updated as you say, in steps of 8. And thus I now have my program running on this emu as I wanted to.

BUT

On DCMOTO these addresses are always 0.

As I don't own a real machine and so this is a bit worrying as I don't know which is working correctly although it must be MESS as it seems to be working according to what you said PulkoMandy.

Any ideas?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 07 Mar 2013, 21:25 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
DCMOTO does not emulate this feature. This emulator is only fixed when software actually needs it, so it will be added if you show us software that needs it :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 07 Mar 2013, 21:33 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 75
PulkoMandy a écrit:
DCMOTO does not emulate this feature. This emulator is only fixed when software actually needs it, so it will be added if you show us software that needs it :)


Are you part of the DCMOTO team then? Nice.

I will have to continue coding and checking my binaries on MESS then.

Thanks for your help.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 07 Mar 2013, 21:42 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
No, all the dc* emulators and tools are the work of Daniel Coulom. But I'm sure he's watching us (Salut Daniel ! ;)). dcmoto changed quite a lot in the last years in order to make it run PULS demos properly. Older software didn't use much of the hardware capabilities, and there's more to come.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 07 Mar 2013, 21:55 
Hors ligne

Inscription: 04 Jan 2013, 13:18
Messages: 75
PulkoMandy a écrit:
No, all the dc* emulators and tools are the work of Daniel Coulom. But I'm sure he's watching us (Salut Daniel ! ;)). dcmoto changed quite a lot in the last years in order to make it run PULS demos properly. Older software didn't use much of the hardware capabilities, and there's more to come.


An awesome job Daniel has done. I came to know the french computers through his web pages/emulators.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 09 Mar 2013, 21:22 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
Just to clear things up...

After testing on real hardware we have found that A7E4/5 is NOT updated continuously. Looking closer at the documentation, the register is only updated when the lightpen detects the raster beam. This allows the lightpen interrupt code to read the lightpen position with a 1-pixel precision. If the register were updated continuously, the CPU could only read it with byte precision, running at only 1MHz.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 14 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com