ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The Gigatron project
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions Flat
View previous topic :: View next topic  
Author Message
H.G.Muller



Joined: 10 Mar 2006
Posts: 21477
Location: Amsterdam

PostPost subject: Re: The Gigatron project    Posted: Tue Dec 05, 2017 7:12 pm Reply to topic Reply with quote

Hardware ideosyncracies

The Gigatron does not have the usual indexed addressing, where the address is obtained by adding a fixed constand specified in the instruction to a register. Instead it appends a constant (8-bit) part specified in the instruction to an 8-bit register, to obtain a 16-bit address. (Which then leaves the highest bit unused, as there is only 32KB of RAM.) There are two index registers, X (which can supply the low byte) and Y (which can supply the high byte of an address). They can be used at the same time, to provide an address that is entrirely calculated. If neither of them is used, only addresses 0-255 can be accessed, as the instruction provides only 8 bits that can be used as address or constant data.

This makes it annoying to have arrays that do not start at a page boundary; you would have to calculate the addresses of elements explicitly, by adding the start address to the index. It is easier to just put each array in a different memory page, so that the element's index can be used directly as low byte of the memory address. Then you can use the Y register to determine which array you are going to access. Assuming that all arrays are smaller than 256 bytes.

Now this seems pretty wasteful for small arrays. But remember we have lots of memory pages that will have 160 of their 256 bytes filled with video information. Arrays smaller than 96 bytes can be put in those to make use of the remaining space. Sometimes indexes are arbitrary, the only important thing being that they are different for all elements (e.g. because they come from other tables). This can be used to put different arrays in the same page. E.g. square numbers could be made to start at 68, for example, leaving bytes 0-67 in a page that contains a board or piece-square table available for use as another array, e.g. a piece table, if piece numbers run from 0 to 67.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Subject Author Date/Time
The Gigatron project H.G.Muller Tue Dec 05, 2017 6:32 pm
      Re: The Gigatron project H.G.Muller Tue Dec 05, 2017 7:12 pm
            Re: The Gigatron project H.G.Muller Tue Dec 05, 2017 9:45 pm
                  Re: The Gigatron project H.G.Muller Wed Dec 06, 2017 2:44 pm
                        Re: The Gigatron project H.G.Muller Wed Dec 06, 2017 11:05 pm
                              Re: The Gigatron project Rémi Coulom Wed Dec 06, 2017 11:51 pm
                              Re: The Gigatron project H.G.Muller Sun Dec 10, 2017 11:51 am
                                    Re: The Gigatron project H.G.Muller Sun Dec 10, 2017 10:10 pm
                                          Re: The Gigatron project Rasmus Althoff Sun Dec 10, 2017 10:20 pm
                                                Re: The Gigatron project H.G.Muller Sun Dec 10, 2017 10:30 pm
                                          Re: The Gigatron project Stefano Gemma Mon Dec 11, 2017 11:15 am
                                                Re: The Gigatron project H.G.Muller Mon Dec 11, 2017 12:15 pm
                        Re: The Gigatron project Rasmus Althoff Thu Dec 07, 2017 9:44 pm
      Re: The Gigatron project Stan Arts Tue Dec 05, 2017 7:23 pm
      Re: The Gigatron project Dann Corbit Tue Dec 05, 2017 8:11 pm
            Re: The Gigatron project H.G.Muller Tue Dec 05, 2017 8:58 pm
      Re: The Gigatron project Rasmus Althoff Tue Dec 05, 2017 9:04 pm
      Re: The Gigatron project Fulvio Benini Wed Dec 06, 2017 8:31 am
      Re: The Gigatron project Martin Sedlak Wed Dec 06, 2017 11:42 am
            Re: The Gigatron project H.G.Muller Wed Dec 06, 2017 12:15 pm
                  Re: The Gigatron project Martin Sedlak Thu Dec 07, 2017 10:48 pm
      Re: The Gigatron project Ian Osgood Thu Dec 07, 2017 12:17 am
      Re: The Gigatron project Rémi Coulom Thu Dec 07, 2017 9:58 pm
            Re: The Gigatron project H.G.Muller Fri Dec 08, 2017 8:45 am
                  Re: The Gigatron project Stefano Gemma Fri Dec 08, 2017 11:07 pm
                        Re: The Gigatron project H.G.Muller Sat Dec 09, 2017 1:16 pm
                              Re: The Gigatron project Stefano Gemma Sat Dec 09, 2017 1:44 pm
                                    Re: The Gigatron project H.G.Muller Sat Dec 09, 2017 2:21 pm
                  Re: The Gigatron project Rasmus Althoff Sat Dec 09, 2017 7:27 pm
                        Re: The Gigatron project H.G.Muller Sat Dec 09, 2017 8:29 pm
                        Re: The Gigatron project Charles Roberson Sat Dec 09, 2017 9:30 pm
                              Re: The Gigatron project Rasmus Althoff Sat Dec 09, 2017 9:36 pm
                                    Re: The Gigatron project Martin Sedlak Sat Dec 09, 2017 9:57 pm
                                          Re: The Gigatron project Rasmus Althoff Sat Dec 09, 2017 10:10 pm
                                                Re: The Gigatron project H.G.Muller Sat Dec 09, 2017 11:31 pm
                                                      Re: The Gigatron project Stefano Gemma Sun Dec 10, 2017 9:01 am
                                                            Re: The Gigatron project H.G.Muller Sun Dec 10, 2017 11:32 am
                                                                  Re: The Gigatron project Stefano Gemma Sun Dec 10, 2017 12:24 pm
                                                                        Re: The Gigatron project H.G.Muller Sun Dec 10, 2017 8:44 pm
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads