Logicielsmoto.com
http://www.logicielsmoto.com/phpBB/

MO5
http://www.logicielsmoto.com/phpBB/viewtopic.php?f=13&t=463
Page 1 sur 1

Auteur:  W_oo_d [ 05 Jan 2013, 19:55 ]
Sujet du message:  MO5

Is there a register where we can read the position of the raster beam?

Auteur:  PulkoMandy [ 06 Jan 2013, 11:17 ]
Sujet du message: 

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.

Auteur:  W_oo_d [ 06 Jan 2013, 12:44 ]
Sujet du message: 

Thanks a lot. Congrats on your fab website.

Auteur:  Fool-DupleX [ 07 Jan 2013, 16:53 ]
Sujet du message: 

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.

Auteur:  PulkoMandy [ 07 Jan 2013, 18:32 ]
Sujet du message: 

Thanks ! I updated the page.

Auteur:  W_oo_d [ 05 Mar 2013, 18:29 ]
Sujet du message: 

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

Auteur:  PulkoMandy [ 05 Mar 2013, 18:52 ]
Sujet du message: 

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.

Auteur:  W_oo_d [ 05 Mar 2013, 19:21 ]
Sujet du message: 

Thank you.

I'll try this later on.

Auteur:  W_oo_d [ 07 Mar 2013, 20:35 ]
Sujet du message: 

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?

Auteur:  PulkoMandy [ 07 Mar 2013, 21:25 ]
Sujet du message: 

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 :)

Auteur:  W_oo_d [ 07 Mar 2013, 21:33 ]
Sujet du message: 

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.

Auteur:  PulkoMandy [ 07 Mar 2013, 21:42 ]
Sujet du message: 

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.

Auteur:  W_oo_d [ 07 Mar 2013, 21:55 ]
Sujet du message: 

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.

Auteur:  PulkoMandy [ 09 Mar 2013, 21:22 ]
Sujet du message: 

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.

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/