🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.ti.explorer
1 messages
1 total messages Started by Jamie Zawinski Sun, 10 Dec 1989 08:16
various low-level grunging about
#170
Author: Jamie Zawinski
Date: Sun, 10 Dec 1989 08:16
36 lines
2175 bytes
Is there any way to do real double-buffering on the Explorer?

I could draw on an array and then blit it to the window, but without a
hardware blitter, this is a real lose.  Screen-arrays are displaced to a 
physical address so that writing into a screen-array writes to NuBus, where 
I assume the display hardware loops for each scanline.  What I want is to
change the address from which the display hardware reads (hopefully in synch
with vertical blanking).  Any chance?  Any chance at all..?


Ok, now try not to gag, but...  I want to walk through paged-in memory.  
So I want to do something like

	(dotimes (page-frame-number (1- (pages-of-physical-memory)))
	  (without-interrupts
	    (let* ((vpn (%virtual-page-number page-frame-number)))
	      ( ...iterate over region-ids on this page...
	        (map-objects-in-region ... )))))

How do I find out what regions are in a page?  I realize this is a horribly
evil thing to want to do, but I'm playing with this extremely unportable but
quite entertaining graphics hack which relies on pulling random strings out of
memory.  I'd rather pick them out of paged-in memory than all of vmem, because
picking a random area and then a random region in it (the way it does it now) 
causes it to thrash rather heroically.

(I'm also being confounded by the fact that map-objects sometimes gets an
error, because GC occasionally leaves cdr-error's before the free-pointer.
And more recently I've discovered that %structure-size-safe can illop even
when called only on things returned by %find-structure-header-safe.  Not
an error, mind you, which I'm prepared to ignore; it goes belly up.)

"What good's a program that can't modify itself?"

		#.Jamie
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads