http://www.osnews.com/story.php?news_id=15223
I haven't read the whole thing yet but I've read enough to know that it
may be of interest to a few folks around here.
--
Golan Klinger
Dark is the suede that mows like a harvest.
|
|
0
|
|
|
|
Reply
|
Golan
|
8/25/2006 11:18:26 PM |
|
Golan Klinger wrote:
> http://www.osnews.com/story.php?news_id=15223
Very nice article.
Truly,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
|
|
0
|
|
|
|
Reply
|
rbernardo
|
8/25/2006 11:36:37 PM
|
|
rbernardo@value.net wrote:
> Golan Klinger wrote:
>
> > http://www.osnews.com/story.php?news_id=15223
>
> Very nice article.
>
> Truly,
> Robert Bernardo
> Fresno Commodore User Group
> http://videocam.net.au/fcug
It has a few inaccuracies.
"The one byte that represents the colour under one of the 8x8 pixel
characters is divided into two nybbles of 4-bits. Each of these nybbles
can store a number from 0-15, representing the 16 available colours,
and thus the Foreground and Background colours to use for the graphics
in that character square."
I'm not an expert on the C64's architecture, but I don't think this is
true.
"Programmers relied on 'fast-loaders', essentially decompression
software loaded into the disk drive's RAM & CPU, to speed things up
again."
Again, I'm not an expert here, but I don't think accelerators did
anything with decompression.
|
|
0
|
|
|
|
Reply
|
a7yvm109gf5d1
|
8/26/2006 2:53:14 AM
|
|
a7yvm109gf...@netzero.com wrote:
>
> It has a few inaccuracies.
>
In addition, it described the SID chip incorrectly as only having 2
"midi" type voices and 1 white noise.
*sigh*
However, 1 good thing about it was that I was able to find a version of
Geos Ensemble that I was able to download and try out. (
http://www.breadbox.com ). This is a PC-based version of Geos that's
evolved into more of a limited resource computing platform for
classrooms. The article goes into more detail on it in the 2nd or 3rd
to last pages.
I've run it for a little bit and it seems halfway decent for it's
evolution / focus. It would make a great Kiosk OS.
- Craig Taylor
http://www.ctalkobt.net/cbm
|
|
0
|
|
|
|
Reply
|
Craig
|
8/26/2006 3:04:58 AM
|
|
>>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
a> "The one byte that represents the colour under one of the 8x8 pixel
a> characters is divided into two nybbles of 4-bits. Each of these
a> nybbles can store a number from 0-15, representing the 16 available
a> colours, and thus the Foreground and Background colours to use for
a> the graphics in that character square."
a> I'm not an expert on the C64's architecture, but I don't think this
a> is true.
Sounds like a perfectly accurate description of hires mode.
a> "Programmers relied on 'fast-loaders', essentially decompression
a> software loaded into the disk drive's RAM & CPU, to speed things up
a> again."
a> Again, I'm not an expert here, but I don't think accelerators did
a> anything with decompression.
Yeah, while there are loaders that do decompression on the fly to
speed things up, it's not the case with GEOS.
--
___ . . . . . + . . o
_|___|_ + . + . + . Per Olofsson, arkadspelare
o-o . . . o + MagerValp@cling.gu.se
- + + . http://www.cling.gu.se/~cl3polof/
|
|
0
|
|
|
|
Reply
|
MagerValp
|
8/26/2006 6:48:56 AM
|
|
Yes, Geoworks Ensemble was an excellent OS overlay back in the day. They
aren't kidding, it works GREAT on old 386 machines.. and the printing
ability of those things to any printer (including dot matrix) was impressive
at the time.
Good to know it kept going.. too bad it didn't evolve very far, though.. It
does look like they made a change to make it more 'current looking' with a
Win95ish Start button style..
And it was one of the first systems that actually would multitask on a
286....
I loved Geoworks......
"Craig Taylor" <ctalkobt@gmail.com> wrote in message
news:1156561498.619039.192650@75g2000cwc.googlegroups.com...
>
> a7yvm109gf...@netzero.com wrote:
>>
>> It has a few inaccuracies.
>>
>
> In addition, it described the SID chip incorrectly as only having 2
> "midi" type voices and 1 white noise.
>
> *sigh*
>
> However, 1 good thing about it was that I was able to find a version of
> Geos Ensemble that I was able to download and try out. (
> http://www.breadbox.com ). This is a PC-based version of Geos that's
> evolved into more of a limited resource computing platform for
> classrooms. The article goes into more detail on it in the 2nd or 3rd
> to last pages.
>
> I've run it for a little bit and it seems halfway decent for it's
> evolution / focus. It would make a great Kiosk OS.
>
> - Craig Taylor
> http://www.ctalkobt.net/cbm
>
|
|
0
|
|
|
|
Reply
|
Chris
|
8/26/2006 7:36:03 AM
|
|
MagerValp wrote:
> >>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
>
> a> I'm not an expert on the C64's architecture, but I don't think this
> a> is true.
>
> Sounds like a perfectly accurate description of hires mode.
So the color RAM is actually made of bytes divided into two nybbles,
and each cell has independent foreground and background color?
Interesting. Don't know what color nybbles have to do with hires, looks
like I gotta crack open my PRG.
> a> Again, I'm not an expert here, but I don't think accelerators did
> a> anything with decompression.
>
> Yeah, while there are loaders that do decompression on the fly to
> speed things up, it's not the case with GEOS.
>
How would decompressing anything in the drive help transfer the
now-uncompressed software faster through the serial port? How could the
2K of RAM in the 1541 possibly support a program that decompresses all
the possible packed formats and why would it do that? As far as I know,
fast loaders simply change how the pins on the serial port are used and
manage to squeeze the information through there as fast as possible and
taking advantage of the disk format interleave and such.
|
|
0
|
|
|
|
Reply
|
a7yvm109gf5d1
|
8/26/2006 2:08:30 PM
|
|
On Sat, 26 Aug 2006 07:08:30 -0700, a7yvm109gf5d1 wrote:
> MagerValp wrote:
>> >>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
>>
>> a> I'm not an expert on the C64's architecture, but I don't think this
>> a> is true.
>>
>> Sounds like a perfectly accurate description of hires mode.
>
> So the color RAM is actually made of bytes divided into two nybbles,
> and each cell has independent foreground and background color?
Not the color RAM but the video RAM that is used in hires mode to store
the colors.
Ciao,
Marc 'BlackJack' Rintsch
|
|
0
|
|
|
|
Reply
|
BlackJack
|
8/26/2006 2:32:18 PM
|
|
BlackJack wrote:
> On Sat, 26 Aug 2006 07:08:30 -0700, a7yvm109gf5d1 wrote:
>
> > MagerValp wrote:
> >> >>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
> >>
> >> a> I'm not an expert on the C64's architecture, but I don't think this
> >> a> is true.
> >>
> >> Sounds like a perfectly accurate description of hires mode.
> >
> > So the color RAM is actually made of bytes divided into two nybbles,
> > and each cell has independent foreground and background color?
>
> Not the color RAM but the video RAM that is used in hires mode to store
> the colors.
>
> Ciao,
> Marc 'BlackJack' Rintsch
But that isn't what the article is saying as I read it. The video ram
doesn't store color. It just stores on or off states for pixels. The
article specifically and clearly states that
"The one byte that represents the colour under one of the 8x8 pixel
characters is divided into two nybbles of 4-bits."
Read it again. It is wrong. There is no "one byte that represents the
colour" for each 8x8 pixel cell. There is a nybble for each 8x8 cell.
The actual pixels in hires mode are just on or off, period. If they're
on, they take the color from the color RAM nybble. That's it, that's
all. There is no color byte for each 8x8 cell that also selects the
background color. The background color is set for the entire screen
AFAIK.
|
|
0
|
|
|
|
Reply
|
a7yvm109gf5d1
|
8/26/2006 3:09:53 PM
|
|
a7yvm109gf5d1@netzero.com wrote:
> BlackJack wrote:
>> On Sat, 26 Aug 2006 07:08:30 -0700, a7yvm109gf5d1 wrote:
>>
>>> MagerValp wrote:
>>>>>>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
>>>> a> I'm not an expert on the C64's architecture, but I don't think this
>>>> a> is true.
>>>>
>>>> Sounds like a perfectly accurate description of hires mode.
>>> So the color RAM is actually made of bytes divided into two nybbles,
>>> and each cell has independent foreground and background color?
>> Not the color RAM but the video RAM that is used in hires mode to store
>> the colors.
>
> But that isn't what the article is saying as I read it. The video ram
> doesn't store color. It just stores on or off states for pixels. The
> article specifically and clearly states that
>
> "The one byte that represents the colour under one of the 8x8 pixel
> characters is divided into two nybbles of 4-bits."
>
> Read it again. It is wrong.
No, it is correct.
> There is no "one byte that represents the
> colour" for each 8x8 pixel cell.
> There is a nybble for each 8x8 cell.
> The actual pixels in hires mode are just on or off, period. If they're
> on, they take the color from the color RAM nybble.
Not in hires mode which is used by GEOS. In hires mode the color memory
(the nybbles at $D800-$DBFF) isn't used at all! Instead the colors for
each 8x8 pixel cell are taken from video memory. The same video memory
that is used in text mode for the so called "character pointers". So in
hires mode 8000 bytes are needed for the bitmap and 1000 bytes (not
nybbles!) memory for the color information.
> That's it, that's
> all. There is no color byte for each 8x8 cell that also selects the
> background color. The background color is set for the entire screen
In hires mode changing the background color has no visible effect,
because all color information is taken from video memory. Note that in
multi-color hires mode (which isn't used by GEOS) the background color
is visible.
You don't have to take my word for this. You can look it up in the
programmers reference manual. Or just use a hires paint program, like
doodle or geoPaint, to see that every 8x8 pixel block can have two
freely selectable colors.
|
|
0
|
|
|
|
Reply
|
Peter
|
8/26/2006 4:05:24 PM
|
|
On 2006-08-26, a7yvm109gf5d1@netzero.com <a7yvm109gf5d1@netzero.com> wrote:
> But that isn't what the article is saying as I read it. The video ram
> doesn't store color. It just stores on or off states for pixels. The
> article specifically and clearly states that
The 8000 bytes of bitmap memory stores the state of pixels.
In hires mode the 1000 video matrix bytes stores the foreground
and background colors for each 8x8-pixel area.
In multicolor mode the 1000 video matrix bytes stores two of
the colors, the 1000 nybbles of color memory stores the third color
for each 4x8-pixel area and the background color register stores the
fourth color that you can select with the two bits that comprise one
multicolor pixel.
> Read it again. It is wrong. There is no "one byte that represents the
> colour" for each 8x8 pixel cell.
Yes there is. (Sorry, could'n resist.)
> There is a nybble for each 8x8 cell.
There is a nybble of color memory for character mode color,
one byte for the character pointer which points to character
memory..
> The actual pixels in hires mode are just on or off, period. If they're
> on, they take the color from the color RAM nybble.
They take the color from video matrix bytes, not from color memory.
Look it up. Try it with the real machine.
> There is no color byte for each 8x8 cell that also selects the
> background color. The background color is set for the entire screen
> AFAIK.
In character modes and in multicolor bitmapped mode this is true.
-Pasi
--
"She's Minbari. You know, sometimes, I look at her and I know exactly
what she's thinking. Sometimes, .. she's a mystery to me."
-- Sheridan to Franklin in Babylon 5:"Sleeping in Light"
|
|
0
|
|
|
|
Reply
|
Pasi
|
8/26/2006 8:49:30 PM
|
|
Pasi Ojala wrote:
>
> They take the color from video matrix bytes, not from color memory.
> Look it up. Try it with the real machine.
I guess I will have to...
|
|
0
|
|
|
|
Reply
|
a7yvm109gf5d1
|
8/27/2006 12:45:22 AM
|
|
Peter van Merkerk wrote:
> a7yvm109gf5d1@netzero.com wrote:
> > BlackJack wrote:
> >> On Sat, 26 Aug 2006 07:08:30 -0700, a7yvm109gf5d1 wrote:
> >>
> >>> MagerValp wrote:
> >>>>>>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
> >>>> a> I'm not an expert on the C64's architecture, but I don't think this
> >>>> a> is true.
> >>>>
> >>>> Sounds like a perfectly accurate description of hires mode.
> >>> So the color RAM is actually made of bytes divided into two nybbles,
> >>> and each cell has independent foreground and background color?
> >> Not the color RAM but the video RAM that is used in hires mode to store
> >> the colors.
> >
> > But that isn't what the article is saying as I read it. The video ram
> > doesn't store color. It just stores on or off states for pixels. The
> > article specifically and clearly states that
> >
> > "The one byte that represents the colour under one of the 8x8 pixel
> > characters is divided into two nybbles of 4-bits."
> >
> > Read it again. It is wrong.
>
> No, it is correct.
>
> > There is no "one byte that represents the
> > colour" for each 8x8 pixel cell.
> > There is a nybble for each 8x8 cell.
> > The actual pixels in hires mode are just on or off, period. If they're
> > on, they take the color from the color RAM nybble.
>
> Not in hires mode which is used by GEOS. In hires mode the color memory
> (the nybbles at $D800-$DBFF) isn't used at all! Instead the colors for
> each 8x8 pixel cell are taken from video memory. The same video memory
> that is used in text mode for the so called "character pointers". So in
> hires mode 8000 bytes are needed for the bitmap and 1000 bytes (not
> nybbles!) memory for the color information.
>
> > That's it, that's
> > all. There is no color byte for each 8x8 cell that also selects the
> > background color. The background color is set for the entire screen
>
> In hires mode changing the background color has no visible effect,
> because all color information is taken from video memory. Note that in
> multi-color hires mode (which isn't used by GEOS) the background color
> is visible.
>
> You don't have to take my word for this. You can look it up in the
> programmers reference manual. Or just use a hires paint program, like
> doodle or geoPaint, to see that every 8x8 pixel block can have two
> freely selectable colors.
You're right. I went off on a brain lock-up there. I think I'll stick
to PICs for now. I was convinced that the color RAM was used the way I
thought. In my defense, I haven't touched a 64 in decades. I have a 128
I use in 128 mode, that's it.
|
|
0
|
|
|
|
Reply
|
a7yvm109gf5d1
|
8/27/2006 5:30:06 AM
|
|
>>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
a> How would decompressing anything in the drive help transfer the
a> now-uncompressed software faster through the serial port? How could
a> the 2K of RAM in the 1541 possibly support a program that
a> decompresses all the possible packed formats and why would it do
a> that? As far as I know, fast loaders simply change how the pins on
a> the serial port are used and manage to squeeze the information
a> through there as fast as possible and taking advantage of the disk
a> format interleave and such.
Even with a really fast loader (2-bit xfer, interleave independent)
the C64 will spend half the time just waiting for the 1541 to read in
the next sector. The trick is to spend that time decompressing the
previous sector, so that when the last sector transfers, the file is
almost done decompressing. As I wrote it's not a common technique, but
it has been done, and it can speed up loading significantly.
--
___ . . . . . + . . o
_|___|_ + . + . + . Per Olofsson, arkadspelare
o-o . . . o + MagerValp@cling.gu.se
- + + . http://www.cling.gu.se/~cl3polof/
|
|
0
|
|
|
|
Reply
|
MagerValp
|
8/27/2006 6:55:57 PM
|
|
MagerValp wrote:
> >>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
>
> a> How would decompressing anything in the drive help transfer the
> a> now-uncompressed software faster through the serial port? How could
> a> the 2K of RAM in the 1541 possibly support a program that
> a> decompresses all the possible packed formats and why would it do
> a> that? As far as I know, fast loaders simply change how the pins on
> a> the serial port are used and manage to squeeze the information
> a> through there as fast as possible and taking advantage of the disk
> a> format interleave and such.
>
> Even with a really fast loader (2-bit xfer, interleave independent)
> the C64 will spend half the time just waiting for the 1541 to read in
> the next sector. The trick is to spend that time decompressing the
> previous sector, so that when the last sector transfers, the file is
> almost done decompressing. As I wrote it's not a common technique, but
> it has been done, and it can speed up loading significantly.
>
> --
I guess I don't understand what you mean by "decompressing". Decoding
the GCR?
|
|
0
|
|
|
|
Reply
|
a7yvm109gf5d1
|
8/27/2006 7:13:46 PM
|
|
a7yvm109gf5d1@netzero.com wrote:
> MagerValp wrote:
>> Even with a really fast loader (2-bit xfer, interleave independent)
>> the C64 will spend half the time just waiting for the 1541 to read in
>> the next sector. The trick is to spend that time decompressing the
>> previous sector, so that when the last sector transfers, the file is
>> almost done decompressing. As I wrote it's not a common technique, but
>> it has been done, and it can speed up loading significantly.
>>
>> --
>
> I guess I don't understand what you mean by "decompressing". Decoding
> the GCR?
The thread has veered off what GEOS does, but...
Notice the relative roles MagerValp has assigned to the C64 and 1541 (in
this non-GEOS technique that utilises compression). In order for the
nonstandard buss transfer to work, there has to be fastloader software
running in both the computer and the drive.
So, the floppy has compressed data stored on it. The 1541 reads in a sector
(does the physical track/sector location, GCR decoding... all that) and
quickly transfers the data to the computer. But, the fastloader system can
transfer the data from drive to computer faster than the drive can read
sectors off the disc. During the "downtime", while the computer is waiting
for the next sector's data to be delivered, it decompresses the current
data.
The original article *was* wrong -- GEOS doesn't do anything like that, and
it definitely doesn't "load software into the disk drive's CPU" (at least,
not more than one instruction at a time!).
Brian
--
|
|
0
|
|
|
|
Reply
|
Brian
|
8/28/2006 7:06:09 AM
|
|
<a7yvm109gf5d1@netzero.com> wrote in message
news:1156601310.033211.124250@i3g2000cwc.googlegroups.com...
> MagerValp wrote:
>> >>>>> "a" == a7yvm109gf5d1 <a7yvm109gf5d1@netzero.com> writes:
>>
>> a> I'm not an expert on the C64's architecture, but I don't think this
>> a> is true.
>>
>> Sounds like a perfectly accurate description of hires mode.
>
> So the color RAM is actually made of bytes divided into two nybbles,
> and each cell has independent foreground and background color?
> Interesting. Don't know what color nybbles have to do with hires, looks
> like I gotta crack open my PRG.
Not exactly. It depends on whether you are using Multicolor bitmap or Hires
bitmap. Color RAM is only available in a multicolor based bitmap mode. It
contains two of the 3 foreground colors. The Screen RAM contains the 3rd
foreground color and the background color for the attribute cell. However,
it is explained a little differently but depending on right conditions, the
background color is either the value in the cell or the value set for the
screen background color. Usually, hence there is 8000 bitmap bytes, 1000
color ram bytes and 1000 screen ram bytes and 1 byte that sets the
screenbackground color WHICH can be different depending whether or not the
background color in the screenram is set. Most of my current reading is in
hires modes and I personally haven't spent as much time reading about the
multicolor bitmap mode in a detailed fashion.
Hires however is typically 8000 bitmap bytes and 1000 bytes of screenram and
may also contain a 1 byte for screen background color for default background
color. Of course you can only have 2 colors in an 8x8 area (unless use of
FLI ). Multicolor will only allow 3 colors in an attribute area. Of course,
you are not limited to just one background color and thus you can change
that for the attribute area. Hence the ScreenRAM, it can give you either the
default background color or a chosen background color for the specific 8x8
cell.
What FLI is? Is a trick that changes the screenRAM pointer (effectively
changing which screenRAM you are using - thus allowing upto 8 screenRAMs as
there is only 8 rasterlines per char cell (attribute area). It therefore,
adds 8x amount of data then normal in screenRAM. Hence, 8000 + 8000 + 1
bytes in hires FLI bitmap. There is 8000+1000+8000+1 bytes for Multicolor
FLI bitmap. Don't ask if you can do the same with color RAM, it is kinda
fixed to one location, you can't move it around. Why it has not been done.
In case of C-128s (including all 128d models), the VDC bitmap is hires but
different than hires on C64. There is no cell by cell change of the
background color without another advance trick. The attribute memory (2KB -
due to 80 columns versus 40) contains a whole byte but one nybble of the
byte determines the foreground colors (though assigned in terms of RGBI
bits), the other nybble determines other attribute info such as flashing
(blink), underline, reverse video and alternate character set on a cell by
cell basis). However, I suppose a cell by cell controlling of background can
be achieved through constant changing of the background color with some sort
of interrupt but it will take some thinking to get that going right. Line
and point plotting works with constant adjusting of the foreground colors,
so there is a means to it. Like you do on the background color register
manually. Constant changing of R26 bits 0-3.... there needs to be some
interrupt....
Tricky it may be.....
|
|
0
|
|
|
|
Reply
|
Rick
|
8/28/2006 10:26:20 PM
|
|
Screen RAM is also the same RAM used to store your text when in character
mode.
You misread it. What you are talking about is the Bitmap memory.
Screen RAM is 1000 bytes (its default starting location is decimal 1024 or
in hex $0400.) Don't confuse it with character memory in text mode.
Character memory but it is nothing more than the font patterns for the
character set)
When the VIC-II is set into bitmap mode, the screen memory which normally is
used where you see the text on the screen in hires bitmap mode, is used to
store the information for foreground and background color for the given
character cell. The bitmap memory is where all the on and off bits are.
In hires mode, it is pretty simple. If a bit for defining the 8x8 cell is
set to 1 then the pixel in which that bit is corresponding to is set to the
foreground color defined in the screen ram for that character (cell)
position. Lets say we are in the top-left corner 8x8 cell. So imagine on the
first pixel in the first raster row of the top-left character cell of the
screen is intended to be foreground color - then the bit 7 of byte 0 in
bitmap memory must be set to one.
Typical bitmap cell layout (same as programmable characters)
* = 1, O = 0
7 6 5 4 3 2 1 0
0 * O O O O O O O
1 O O O O O O O O
2 O O O O O O O O
3 O O O O O O O O
4 O O O O O O O O
5 O O O O O O O O
6 O O O O O O O O
7 O O O O O O O O
Row 0 is byte 0
Row 1 is byte 1
Row 7 is byte 7
So, here we go, by plugging a value of $FE (dec. 127) in first byte of the
8000 byte bitmap, you turned the left most pixel of the first raster row of
the top-left character cell to foreground color.
In screen RAM, each byte represents the foreground or background color of
each 8x8 cell. 8x8 = 64 px. 8 bytes per 64 px. or char. 1000 bytes thus
would represents 64,000 px. which coincides with the size of 320x200 px.
64,000 divided by 8 would be 8000 which corresponds well with the bitmap
memory.
Each bytes in screenram represents the foreground and background color of
each 8 bytes of bitmap memory. This is descriptive of a typical hires
bitmap. Multicolor bitmap is similar as well. 8000 / 8 = 1000. Coincides
well. Doesn't it?
If you think of it. You'll get it. The language used by the reporter had got
things garbled up.
There is a default background color typically but the video mode allows for
cell by cell changing. Why do you think you can have a background of blue, a
foreground color of a cell in red with a yellow background for that cell.
Think of a Red plus sign on a yellow background within an 8x8 area and that
in front of a blue screen background.PERFECTLY legal in hires bitmap mode.
Even so in Multicolor bitmap. Text modes may apply other limits unless you
use "Extended Background Color" mode for text. Example from C64PRG: A blue
character on a yellow background on a white screen.
PERFECT!
<a7yvm109gf5d1@netzero.com> wrote in message
news:1156604993.067831.5560@75g2000cwc.googlegroups.com...
> But that isn't what the article is saying as I read it. The video ram
> doesn't store color. It just stores on or off states for pixels. The
> article specifically and clearly states that
>
> "The one byte that represents the colour under one of the 8x8 pixel
> characters is divided into two nybbles of 4-bits."
>
> Read it again. It is wrong. There is no "one byte that represents the
> colour" for each 8x8 pixel cell. There is a nybble for each 8x8 cell.
> The actual pixels in hires mode are just on or off, period. If they're
> on, they take the color from the color RAM nybble. That's it, that's
> all. There is no color byte for each 8x8 cell that also selects the
> background color. The background color is set for the entire screen
> AFAIK.
>
|
|
0
|
|
|
|
Reply
|
Rick
|
8/28/2006 11:05:17 PM
|
|
Yes, EACH and every byte in screen memory represents both a foreground and a
background color. (For A7yvm) 4 bits of that byte represents foreground and
the other 4 bits represents background.
Color memory is a little bit awkward but 3 or 4 bits are used of it.
(Divergence)
Though, that upper 4 bits can be used if the VIC-II was modified to support
256 colors and thusly, those 4 bits could then be used to represent which 16
color constrain palette to use in cell. (Ultimately also effecting the color
given from screenRAM as well.) That would be a thoeretical way of enhancing
the C64.
Nice to test in an emulator. Modify VICE (for eg. or another emu) to have
256 colors but only one 16 color constrained palette can be used per
attribute area and that would also effect the colors derived from screen RAM
as the color values from that would derive from that palette value. That can
be cool to see in an emu or even on a C-1.
"Pasi Ojala" <albert@pikkukorppi.cs.tut.fi> wrote in message
news:slrnef1cuq.rp2.albert@pikkukorppi.cs.tut.fi...
> On 2006-08-26, a7yvm109gf5d1@netzero.com <a7yvm109gf5d1@netzero.com>
> wrote:
>> But that isn't what the article is saying as I read it. The video ram
>> doesn't store color. It just stores on or off states for pixels. The
>> article specifically and clearly states that
>
> The 8000 bytes of bitmap memory stores the state of pixels.
>
> In hires mode the 1000 video matrix bytes stores the foreground
> and background colors for each 8x8-pixel area.
>
> In multicolor mode the 1000 video matrix bytes stores two of
> the colors, the 1000 nybbles of color memory stores the third color
> for each 4x8-pixel area and the background color register stores the
> fourth color that you can select with the two bits that comprise one
> multicolor pixel.
>
>> Read it again. It is wrong. There is no "one byte that represents the
>> colour" for each 8x8 pixel cell.
>
> Yes there is. (Sorry, could'n resist.)
>
>> There is a nybble for each 8x8 cell.
>
> There is a nybble of color memory for character mode color,
> one byte for the character pointer which points to character
> memory..
>
>> The actual pixels in hires mode are just on or off, period. If they're
>> on, they take the color from the color RAM nybble.
>
> They take the color from video matrix bytes, not from color memory.
> Look it up. Try it with the real machine.
>
>> There is no color byte for each 8x8 cell that also selects the
>> background color. The background color is set for the entire screen
>> AFAIK.
>
> In character modes and in multicolor bitmapped mode this is true.
>
> -Pasi
> --
> "She's Minbari. You know, sometimes, I look at her and I know exactly
> what she's thinking. Sometimes, .. she's a mystery to me."
> -- Sheridan to Franklin in Babylon 5:"Sleeping in Light"
|
|
0
|
|
|
|
Reply
|
Rick
|
8/28/2006 11:21:06 PM
|
|
Rick Balkins <nospam.rickbalkins@nospam.wavestarinteractive.com> wrote:
> So, here we go, by plugging a value of $FE
wrong
> (dec. 127)
wrong
> you turned the left most pixel of the first
> raster row of the top-left character cell to foreground color.
wrong
Cool explanation.
--
-=[]=--- iAN CooG/HokutoForce ---=[]=-
|
|
0
|
|
|
|
Reply
|
iAN
|
8/28/2006 11:37:39 PM
|
|
well, must of got the numbers wrong. Add the correction to those parts to
make sure it is correct.
Maybe the 64PRG guide got is confusing.... Let me check it again.
F*** me, I got the wrong hex value. It should be $80 and that should be
decimal 128 not 127.
In that case, were I put $FE - it should read $80. $FE is 254 in decimal.
BAD hex calculating in my head and off by 1 in decimal.
"iAN CooG" <iancoog@despammed.com> wrote in message
news:77LIg.86174$_J1.774895@twister2.libero.it...
> Rick Balkins <nospam.rickbalkins@nospam.wavestarinteractive.com> wrote:
>
>> So, here we go, by plugging a value of $FE
>
> wrong
>
>> (dec. 127)
>
> wrong
>
>> you turned the left most pixel of the first
>> raster row of the top-left character cell to foreground color.
>
> wrong
>
> Cool explanation.
>
> --
> -=[]=--- iAN CooG/HokutoForce ---=[]=-
>
>
|
|
0
|
|
|
|
Reply
|
Rick
|
8/29/2006 3:02:25 AM
|
|
Thank iAN, what a narly F*** up in hex. My decimal was close (off by 1)
Now, to think of it, the Programmable Character Worksheet (as called briefly
in the C64PRG is another wordage for character cells and bitmap mode is
entirely based on these programmable characters... Oh well... I should now
remember to use the calculator and NOT try to do decimal 2 hex conversion in
my head, for awhile.
"iAN CooG" <iancoog@despammed.com> wrote in message
news:77LIg.86174$_J1.774895@twister2.libero.it...
> Rick Balkins <nospam.rickbalkins@nospam.wavestarinteractive.com> wrote:
>
>> So, here we go, by plugging a value of $FE
>
> wrong
>
>> (dec. 127)
>
> wrong
>
>> you turned the left most pixel of the first
>> raster row of the top-left character cell to foreground color.
>
> wrong
>
> Cool explanation.
>
> --
> -=[]=--- iAN CooG/HokutoForce ---=[]=-
>
>
|
|
0
|
|
|
|
Reply
|
Rick
|
8/29/2006 3:09:21 AM
|
|
Hello,
Brian Ketterling wrote:
> The original article *was* wrong -- GEOS [...] definitely doesn't
> "load software into the disk drive's CPU" (at least, not more than one
> instruction at a time!).
Well, loading the speeder routines into the drive RAM is "loading
software into the disk drive's CPU", at least, if you take the phrase
"CPU" a little broader.
Notice that people grown up with microprocessors tend to say CPU
("Central Processing Unit") = MPU ("Micro Processing Unit", the
microprocessor). Anyway, anyone grown with "bigger systems" would
consider a MPU together with RAM and ROM as "CPU". "Back in they days",
there were people considering the whole computer (for example, the C64)
as "CPU" to distinguish that from the peripherals (floppy, etc.)
Regards,
Spiro.
--
Spiro R. Trikaliotis http://opencbm.sf.net/
http://www.trikaliotis.net/ http://www.viceteam.org/
|
|
0
|
|
|
|
Reply
|
Spiro
|
8/29/2006 5:16:34 PM
|
|
"Spiro Trikaliotis" wrote ...
>
> Well, loading the speeder routines into the drive RAM is "loading
> software into the disk drive's CPU", at least, if you take the phrase
> "CPU" a little broader.
>
> Notice that people grown up with microprocessors tend to say CPU
> ("Central Processing Unit") = MPU ("Micro Processing Unit", the
> microprocessor). Anyway, anyone grown with "bigger systems" would
> consider a MPU together with RAM and ROM as "CPU". "Back in they days",
> there were people considering the whole computer (for example, the C64)
> as "CPU" to distinguish that from the peripherals (floppy, etc.)
Looking back the PeeCee had drives mounted in the "CPU" and a separate
keyboard. Commodore 8-bits had a separate disk drive and the keyboard
mounted in the "CPU"
I remember a cousin thinking my 1541 was the computer and that my Plus/4 was
only a keyboard.
--
Best regards,
Sam Gillett
Change is inevitable,
except from vending machines!
|
|
0
|
|
|
|
Reply
|
Sam
|
8/29/2006 7:37:11 PM
|
|
Sam Gillett wrote:
> I remember a cousin thinking my 1541 was the computer and that my Plus/4 was
> only a keyboard.
He was right.
|
|
0
|
|
|
|
Reply
|
christianlott1
|
8/29/2006 8:13:50 PM
|
|
christianlott1 wrote:
>>I remember a cousin thinking my 1541 was the computer and that my Plus/4 was
>>only a keyboard.
>
> He was right.
>
You scored a point ;-)
|
|
0
|
|
|
|
Reply
|
silverdr
|
8/29/2006 10:47:18 PM
|
|
silverdr wrote:
> christianlott1 wrote:
>
> >>I remember a cousin thinking my 1541 was the computer and that my Plus/4 was
> >>only a keyboard.
> >
> > He was right.
> >
>
> You scored a point ;-)
:o
|
|
0
|
|
|
|
Reply
|
christianlott1
|
8/29/2006 11:04:21 PM
|
|
Spiro Trikaliotis wrote:
> Well, loading the speeder routines into the drive RAM is "loading
> software into the disk drive's CPU", at least, if you take the phrase
> "CPU" a little broader.
That's true... I was using the current colloquial sense, which isn't really
proper.
> Notice that people grown up with microprocessors tend to say CPU
> ("Central Processing Unit") = MPU ("Micro Processing Unit", the
> microprocessor). Anyway, anyone grown with "bigger systems" would
> consider a MPU together with RAM and ROM as "CPU". "Back in they days",
> there were people considering the whole computer (for example, the C64)
> as "CPU" to distinguish that from the peripherals (floppy, etc.)
You could really go back to "the day", and refer to RAM as "scratchpad
memory" :) .
(Or forget finding ways to hook up flash RAM to a 64, and install some
ferrite core memory instead.)
Brian
--
|
|
0
|
|
|
|
Reply
|
Brian
|
8/30/2006 5:47:03 AM
|
|
In article <slrnef8tji.6lr.news-200605@news.trikaliotis.net>, Spiro
Trikaliotis <news-200605@trikaliotis.net> wrote:
little broader.
>
> Notice that people grown up with microprocessors tend to say CPU
> ("Central Processing Unit") = MPU ("Micro Processing Unit", the
> microprocessor). Anyway, anyone grown with "bigger systems" would
> consider a MPU together with RAM and ROM as "CPU". "Back in they days",
> there were people considering the whole computer (for example, the C64)
> as "CPU" to distinguish that from the peripherals (floppy, etc.)
>
> Regards,
> Spiro.
Hello, and at the risk of showing my age and digressing further OT, I
remember taking some undergrad computer courses at Virginia Tech where the
the term "CPU" was not even used in describing computer architecture.
There was a "control unit" and an "arithmetic and logic unit." The first
time I ever encountered the term "Central Processing Unit" was the front
panel label on the main console of an IBM series 370. Wonder if IBM
coined the term. Sincerely,
John Wood (Code 5550) e-mail: wood@itd.nrl.navy.mil
Naval Research Laboratory
4555 Overlook Avenue, SW
Washington, DC 20375-5337
|
|
0
|
|
|
|
Reply
|
wood
|
8/30/2006 11:08:57 AM
|
|
CPU is a term derived from mainframe computing where the CPU is the unit
that controlled processing. Because the whole computer encompassed several
large 'cabinets' housings. There was two memory units. Short term memory
units (essentially, your RAM) and the long term memory units (the
reel-to-reel units).
Since then, a single microprocessor chip contained everything that was and
is needed for processing instructions. In fact, MPU is MicroProcessing Unit.
A single computer may contain more than one MPU but only the main MPU that
controls or is essentially the master to all the other MPUs and other chips
is the "CPU". To some extent, other chips on cards or on the motherboard may
contain processing units within itself (Essentially any microcontroller) and
therefore may have multiple processors.
There is subsequent situations in which there is multiple CPUs, like a
parallel processing units. This is because the bank of CPUs are equal to
each other in the heiarchy. However, networks are exceptions to the rule but
are typically an interconnection of complete computers. So.... well doesn't
matter.
IBM did essentially call the main unit the CPU because they were utilizing
mainframe-era terminology and applied it to their personal computers.
However, a typical IBM PC would contain a short term, long term and CPU all
in one unit. Making it a little silly but eventually the CPU had been
narrowed down the microprocessor that controls the computer as the CPU in
today's common use. Thus keeping more true to the mainframe-era context in
the first place.
These days, MCU (Micro Controller Unit) can essentially be a self-contained
computer... look at the 65c265 and it is. It does have some internal
embedded RAM. ANyway, old mainframe era terms live on.
"J. B. Wood" <wood@itd.nrl.navy.mil> wrote in message
news:wood-3008060709130001@jbw-mac.itd.nrl.navy.mil...
> In article <slrnef8tji.6lr.news-200605@news.trikaliotis.net>, Spiro
> Trikaliotis <news-200605@trikaliotis.net> wrote:
>
> little broader.
>>
>> Notice that people grown up with microprocessors tend to say CPU
>> ("Central Processing Unit") = MPU ("Micro Processing Unit", the
>> microprocessor). Anyway, anyone grown with "bigger systems" would
>> consider a MPU together with RAM and ROM as "CPU". "Back in they days",
>> there were people considering the whole computer (for example, the C64)
>> as "CPU" to distinguish that from the peripherals (floppy, etc.)
>>
>> Regards,
>> Spiro.
>
> Hello, and at the risk of showing my age and digressing further OT, I
> remember taking some undergrad computer courses at Virginia Tech where the
> the term "CPU" was not even used in describing computer architecture.
> There was a "control unit" and an "arithmetic and logic unit." The first
> time I ever encountered the term "Central Processing Unit" was the front
> panel label on the main console of an IBM series 370. Wonder if IBM
> coined the term. Sincerely,
>
> John Wood (Code 5550) e-mail: wood@itd.nrl.navy.mil
> Naval Research Laboratory
> 4555 Overlook Avenue, SW
> Washington, DC 20375-5337
|
|
0
|
|
|
|
Reply
|
Rick
|
8/30/2006 12:08:15 PM
|
|
On 2006-08-28, Rick Balkins <nospam.rickbalkins@nospam.wavestarinteractive.com> wrote:
> Color RAM is only available in a multicolor based bitmap mode. It
> contains two of the 3 foreground colors.
No, the color RAM still contains only one nybble, thus only one color.
> The Screen RAM contains the 3rd foreground color and the background
> color for the attribute cell.
The screen RAM (video matrix) contains two colors in both hires and
multicolor graphics mode and characters pointers in character mode.
*There is no attribute cell.*
And actually, multicolor mode has two foreground and two background
colors. This comes to play when you have sprites:
1) if a sprite is "under graphics", it is still above both
background colors
2) sprite-graphics collisions only check collisions with foreground
colors.
The fourth color in multicolor graphics mode (background color 00)
comes from the background color register.
> that for the attribute area. Hence the ScreenRAM, it can give you either the
> default background color or a chosen background color for the specific 8x8
> cell.
Wrong. It gives two colors in both hires and multicolor graphics modes.
In hires graphics mode the background color register is not used.
> Tricky it may be.....
Yes. You still have to read about it a couple of more times it seems..
-Pasi
--
"It's like hypnotism. People follow him to see what's going to happen
next. They tell themselves that they're just going along with it for
a while and can stop any time they want to, but they never want to.
It's damn magic." -- Vimes about Carrot in Discworld:"Jingo"
|
|
0
|
|
|
|
Reply
|
Pasi
|
8/31/2006 7:19:46 AM
|
|
Brian Ketterling wrote:.
> (Or forget finding ways to hook up flash RAM to a 64, and install some
> ferrite core memory instead.)
If you do find a way to hook some up - I'd be interested in seeing it.
While completely pointless it'd be cool just from the coolness factor.
(Say, a 8 out of 10 - hooking it up to a TI calculator or PalmPilot
would prob. go 10/10).
- Craig Taylor
http://www.ctalkobt.net/cbm
|
|
0
|
|
|
|
Reply
|
Craig
|
9/5/2006 4:35:17 AM
|
|
|
31 Replies
55 Views
(page loaded in 0.315 seconds)
Similiar Articles: How to extract pixel values from a GeoTIFF using an Esri Shapefile ...Here is my code so far: ;Import Multispectral Geo TIFF img=READ_TIFF('some ... Paul Magdon writes: > ;Convert SHP to ROI object > myroi = OBJ_NEW( 'IDLanROI ... SuperKISS for 32- and 64-bit RNGs in both C and Fortran. - comp ...geo <gmarsaglia@gmail.com> writes: <snip interesting stuff ... public class SuperKiss64 { final int Q_SIZE = 20632; long mQ[] = new long ... Geoprocessing with Python: Writing multipart geometries - comp ...How to create multipart polygons with python ArcGIS Desktop - Geoprocessing Scripting (Python ... writing of new geometries with python script. Sol8 cfgadm doesn't show fc disk? - comp.unix.solarisOn Nov 20, 10:54 am, "george2" <geo...@twig.tk> wrote: > I have exactly the same ... A new disk has been created which should also show up on c5, but cfgadm doesn't see a ... Harvard problem - comp.text.tex... it that if I compile this file: \documentclass{article ... Intel Fortran Compiler - Geos-chem - Harvard University ... problems and puzzles to brood over, I'll post a new ... Need help with map projection conversion in ENVI - comp.lang.idl ...The data in the file have been geo-referenced and projected. Some of the projection ... ENVI help: "builds a new multi ... projection and extent that you need, and then use ... cannot set locale correctly - comp.unix.solarisJust pkgadd it from the media or include geo N_America in the jumpstart profile. ... set locale correctly - United States... when trying to apply a configuration on a new ... Solaris 10 x86 in virtualbox fails to boot 50% of the time - comp ...Ravi wrote: > On 20 Jan, 07:06, george<geo...@twig.tk> wrote: >> It boots ... Solaris 10 x86, and create a new user to let him access ... SSH login fails on ... input & output in assembly - comp.lang.asm.x86Now I *think* I can make it fairly safe to assume your either using GEOS Ensamble ... so will mean creating a window, keeping track of the cursor position, creating a new ... Automation System Arm My DSC 5010 (Power 832) - comp.home ...comp.home.automation 5415 articles. 1 followers. ... Ocelot / Keypad 0 43 Geo ... Need new Service Entrance/Load Center..recommedations 5 58 Wargame of the Year 2009 - Election - comp.sys.ibm.pc.games.war ...Hi, Happy New Year everyone ! Another year, another Wargame of the Year ... Some people will pay astronomical amounts of money for obscure Neo-Geo games that ... New version of the Tcl/Tk GUI builder PureTkGUI : v0.10.0 - comp ...The whole set of new features and bug fixes shows up in the included CHANGES file ... Torn off popup menus can save you from chosing the same geo manager over and over ... Help with a X*1541 adapter cable. - comp.emulators.cbmA year ago I wrote a really nice Bejeweled clone for GEOS called "geoGlyph", fully ... Until that computer died. > > A tech friend rebuilt the computer, new motherboard ... Help: how to change indent character in VI? - comp.unix.programmer ...Rich Teer wrote: > On Fri, 9 Jan 2004, Wei Geo wrote: > > >>How can I change the ... comp.lang.java.gui Anyone can tell me what I did wrong, and help me to ... new Button ... hash table quadratic probing help please - comp.lang.java ...... x++ i think, i dont knowhow to fix it, i am pretty new ... On Dec 22, 7:06 pm, Totti <saliba.toufic.geo...@gmail ... Similiar Articles: GEOS (8-bit operating system) - Wikipedia, the free encyclopediaThis article is about the GEOS home computer operating system. For the PC/x86 based system, see ... GeoBook line of laptop-appliances, and the New Deal Office package for PCs. GEOS (16-bit operating system) - Wikipedia, the free encyclopedia1993: GeoWorks Ensemble 2.0 (new kernel PC/GEOS 2.0) 1993: Geopublish 2.0; 1994: Geoworks Ensemble 2.01; 1996: NewDeal Office 2.2; 1996: NewDeal Office 2.5 7/6/2012 11:31:30 PM
|