home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.sys.apple2      Discussion about Apple II micros      56,720 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 55,272 of 56,720   
   Jason Harper to All   
   Re: Reading the IIgs Text ROM data from    
   07 Feb 22 22:39:53   
   
   From: JasonHarper@pobox.com   
      
   (I'm the commenter from stackexchange mentioned in the first post.)   
      
   I did some digging through old disk images containing even older disk images   
   (watch Inception for details), and found the source code where I'd actually   
   implemented character ROM reading on the IIgs.  I got the technique directly   
   from an Apple engineer    
   back in the day - it's entirely possible I'm the only programmer outside of   
   Apple who ever used it.   
      
   I'm pretty sure that all the registers involved are part of the Mega II chip,   
   so it's not actually specific to the IIgs.   
      
   Note that there's no way to supply an address to the character ROM - all you   
   can get via CHARROM is whatever byte was most recently accessed by normal   
   video display.  So to read a specific character, the basic idea is to fill the   
   entire text screen with    
   that character, enable test mode, loop until the horizontal count register   
   indicates you're in the middle of the visible part of a scan line, quickly   
   read CHARROM, then read the low 3 bits of the vertical count register to see   
   which row of the character    
   bitmap you happened to grab.  Repeat until you've collected all 8 rows.  All   
   of this needs to be done with interrupts disabled, and my code was careful to   
   leave test mode enabled for the absolute minimum amount of time - apparently   
   the machine would be    
   left in some sort of bad state if it crashed or was reset with test mode   
   active.   
   - Jason Harper   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca