[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Create Simulator for NTSC
- Subject: Create Simulator for NTSC
- From: "Bryan Parkoff" <bryan.nospam.parkoff@nospam.com>
- Date: Thu, 17 Jun 2004 23:31:35 GMT
- Newsgroups: comp.sys.apple2
- Organization: Road Runner High Speed Online http://www.rr.com
- Xref: g2news1.google.com comp.sys.apple2:1213
I have captured TEXT (with green & violet -- Color Killer is disabled)
for 40 column and 80 column, HGR, and DHGR screens from real Apple II. I am
trying to write C++ source code that it allows me to convert NTSC pixels
into VGA BMP. I do know how to write a simulator that it translates RGB
screen from Apple IIgs into VGA BMP, but I can't figure how to do that it
should be able to translate NTSC screen from Apple II+, //e, and //c into
VGA BMP. Are you aware that NTSC screen and RGB screen are not the same so
I am interested to study NTSC color pixels.
It should be like APPLE.EXE. I already captured 640x400 resolution from
APPLE.EXE and I converted it into BMP. I use Paint to read BMP at 800%
larger. It helps me to study the color pixel positions that it is identical
to NTSC.
Let me say for an example. During MPU's one cycle, it displays 7 pixels
to the screen. Only one pixel is displayed per one cycle so it would be 7
pixels equal 7 cycles (7MHz) per one MPU cycle (1MHz).
HGR uses two pixels per one pixel cycle that is full width while DHGR
uses one pixel per one pixel cycle that is half width. It is true that it
is 7 white pixels, but first pixel and seventh pixel are half width that it
has violet in both half pixel. Look below.
V W | W W | W W | W W | W W | W W | W V
W is as WHITE and V is as VIOLET. | is between two pixels.
How do I obtain NTSC information to work with 16 color pixels?
Why should I believe that HGR is truly 7MHz? It looks like that it is
truly 14MHz because HGR can produce brown and bright blue between EVEN/ODD
BYTE and ODD/EVEN BYTE. When delayed is turned on, orange pixel is cut off
to produce brown. It is really one pixel as half width to produce brown.
If it is two pixels as full width to produce orange.
--
Bryan Parkoff