Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

question on HGR behavior with enhanced 128K Apple //e

129 views
Skip to first unread message

retrogear

unread,
Dec 14, 2016, 7:38:37 AM12/14/16
to
When I execute a program at $6000 in main memory and turn on hires page 1 it plots to main graphics region $2000-3FFF AND a copy in aux memory in same region. However, when I set hires page 2 it plots to main memory $4000-5FFF only. Now, I place the same program running in aux memory at $6000 and get the same copy behavior with hires page 1 but in hires page 2 mode it plots to aux $4000-5FFF but not main. I was hoping to execute a program in aux and have it plot to main so I could "see" it but that seems not to be the case? With a program running in aux, I can only view the graphics with hires 1 mode but not 2. I thought I had a bug in my program but it seems to be the normal behavior of the hardware? This does have the DHGR firmware. Unless I'm missing a softswitch setting?

Larry G

gid...@sasktel.net

unread,
Dec 14, 2016, 10:33:24 AM12/14/16
to
On Wednesday, December 14, 2016 at 6:38:37 AM UTC-6, retrogear wrote:
> When I execute a program at $6000 in main memory and turn on hires page 1 it plots to main graphics region $2000-3FFF AND a copy in aux memory in same region. However, when I set hires page 2 it plots to main memory $4000-5FFF only. Now, I place the same program running in aux memory at $6000 and get the same copy behavior with hires page 1 but in hires page 2 mode it plots to aux $4000-5FFF but not main. I was hoping to execute a program in aux and have it plot to main so I could "see" it but that seems not to be the case? With a program running in aux, I can only view the graphics with hires 1 mode but not 2. I thought I had a bug in my program but it seems to be the normal behavior of the hardware? This does have the DHGR firmware. Unless I'm missing a softswitch setting?
>
> Larry G


You can't use the $C054.$C055 switches for page 2 of dbl-hi-res. You will have to use $C002.C005 softswitches.

I wrote a short program that draws on page 2 dbl-hi-res while viewing page 1 then flips to page 2 to show the idea behind page flipping for dbl-hi-res.

The short program is here:

https://groups.google.com/forum/#!searchin/comp.sys.apple2.programmer/dbl-hi-res|sort:relevance/comp.sys.apple2.programmer/xUCUmQzRxBM/GbHXOJHYGAAJ

Rob

gid...@sasktel.net

unread,
Dec 14, 2016, 12:31:26 PM12/14/16
to
I tend to take it for granted since I revised my Basic.system to always be in 80-col mode, but I should mention you will have to do a PR#3 before running the program if you are in 40-col mode.

retrogear

unread,
Dec 14, 2016, 5:43:47 PM12/14/16
to
Thanks. I'll check out the code and what was discussed in that other thread. If I find an answer I'll report here. I did notice in that thread that behavior in AppleWin is different than real hardware. I was wondering about that. Right now I am testing in AppleWin so I'll try it on a real //e as well.

Larry G

gid...@sasktel.net

unread,
Dec 14, 2016, 8:50:53 PM12/14/16
to
On Wednesday, December 14, 2016 at 4:43:47 PM UTC-6, retrogear wrote:
> Thanks. I'll check out the code and what was discussed in that other thread. If I find an answer I'll report here. I did notice in that thread that behavior in AppleWin is different than real hardware. I was wondering about that. Right now I am testing in AppleWin so I'll try it on a real //e as well.
>
> Larry G


I had to do a work-around in Applewin to get it to work for me.
I don't know if it is due to Applewin at fault or my revised Basic.system.
If it doesn't work after inserting the program, don't type 1000G.
Instead, use <CTRL-C><RETURN>, then type CALL 4096 <RETURN>.

And, let me know if you want the source. It is well documented and is easier to follow than the listing.

Rob

retrogear

unread,
Dec 15, 2016, 6:52:32 AM12/15/16
to
>And, let me know if you want the source. It is well documented and is easier to >follow than the listing.

I'd appreciate the source to look at. I just emailed you with the contact info I had a few years back. My program performed exactly the same on a real //e which I expected. AppleWin has been a pretty solid emulator for me. I know the graphics displayed aren't 100% accurate but close enough.

Larry G

retrogear

unread,
Dec 16, 2016, 7:33:29 AM12/16/16
to
Thanks. Looking at your code, then trying some of it, it appears that when I write graphical data to aux memory, the only way to view it graphically is in double hires mode which shows as alternating columns of main / aux memory data. There must be no way to view aux memory graphics except in double hires? Hmmm ...

Larry G

gid...@sasktel.net

unread,
Dec 16, 2016, 10:34:06 AM12/16/16
to
On Friday, December 16, 2016 at 6:33:29 AM UTC-6, retrogear wrote:
> Thanks. Looking at your code, then trying some of it, it appears that when I write graphical data to aux memory, the only way to view it graphically is in double hires mode which shows as alternating columns of main / aux memory data. There must be no way to view aux memory graphics except in double hires? Hmmm ...
>
> Larry G


It gets even more complicated than that. It takes 4 bytes to view 7 pixels of color on screen. Of those 4 bytes, 2 are in Main memory and 2 are in Aux memory. And, as you already figured out, they alternate. Aux, Main, Aux, Main

It gets worse. It takes 4 bits to form a color pixel and because the hi-bit is not used in each byte, one or more bits are borrowed from the next adjacent byte to form a set of 4 bits to view a colored pixel. The adjacent byte would be in the alternate memory, Aux or Main, of the current byte.

Because some colored pixels are shared between Main bytes and Aux bytes, the picture in Aux memory isn't quite what you would think and would therefore not be worth viewing it separately, unless you were viewing the picture in black & white, which just shows each bit turned on, as white, and each bit turned off, as black.

0 new messages