beta 13 (not yet released)
beta 12: 3/8/03
Draw? Yup. You can now create new Apple II DHGR pictures (they save in DazzleDraw format). (sorry, no HGR).
There is a new "Swatch" floating window that has the 16 Colors in the current palette. The "Current" color is indicated with a square around it's border. Click to select the new current color. (At the moment, Black takes up 3 spaces, so all 3 black "color chips" get their own black border when you select any of one them).
When you move the cursor over the main window, you now get a crosshair. Click to set a pixel in the current color, drag to draw lines, like using the "Pencil Tool".
There are 2 modes: 140 Mode and 560 Mode. You may guess, in 140 mode there are 140 pixels across and you always get clear solid colors. In 560 mode there are 560 pixels across and you only get solid colors when drawing a perfectly horizontal line, or when in black and white mode.
For the hard core folks: The "By the Book" crosshair produces different output than the "Laz Engine" when in 140 mode. For example, go to "By the Book" and paint a purple line. Now switch to "Laz Ells, Double, Sharp" and you'll see some interesting results. In reverse, go to "Laz DoubleColor" then try the other three modes. Try running 816 Paint or DazzleDraw and do the same excersize and compare.
If you don't understand why the colors are strange in 560 mode, might I suggest a little light reading here and here. If you're still at a loss and are curious, feel free to write, I love a discussion about Apple II Graphics.
New menu item: "New..." **WARNING** does NOT ask to save, does NOT confirm "Erase current picture?" so don't accidentally press "N" on your keyboard, or you'll loose your picture. (you remember you don't have to hold the command key for keyboard shortcuts right?
New menu item "Save..." which will save the current document as a DazzleDraw picture (same as 816 Paint).
beta 11: 2/17/03
I've now got it compiled using CW 2.0 on System 7.6, so I can debug on that system.
68k System 7 & 8: Fixed the "floating" window coming up as a dialog, which used to prevent you from switching out when the program was running.
If you're running 68k, you'll now get a fake floating window (using the OLD WDEF) on System 7 and 8, and you'll get the new style WDEF on system 9. If you are running Carbon, you'll always get the new style WDEF, with fake floating pre-OS X, and really actually floating on OS X.
Removed checking for file types. You can now open any file that is the about right size (8k or 16k)
Extended support for the AppleEvent code to render any kind of picture that is available. See new sample code on the downloads page.
Removed the PLST from the 68k version
the "Convert Batch" code was re-written yet again. Should function the same.
Now compiling for 68000 machines. This makes a2pix now run on a MacPlus! Hooray! (probably need 4MB machine for this to work)
The Application is now < 300k! How? I moved the "extras" into a "plugins" folder. On startup, any resources in any file in the plugins folder will be loaded. No problem if they're not there. The ones I moved there are all the "startup sounds" and the "disk images" (for saving to a disk image). The sounds are superfluous anyway, and the disk images will be removed when ADFS is released as public beta. This also means you can put your text screens in the plugins folder too, rather than editing the application.
changed Key Equivalents for zoom factor, now cmd-1, 2, 3
Fixed crasher hanging during "Pre-Rendering..."
Now get feedback during "QuickDraw Blit" when starting a high qual blit on 68k, plus it says "Area Sample" in the progress indicator instead of "Rendering"
Now saving prefs during idle, not immediately (so you don't hit the disk before the render)
beta 10: 11/16/02
Now handles the kA2Pix_EventClass for apple events. Will take this event and render your picture, and send you back a PICT handle (sample code in the downloads page)
beta 9: 11/10/01
Fixed a major problem with copying files to a new ProDOS disk image: was not honoring the file types. If you had previously copied the file *from* the Apple II, and now copy it back, we now preserve the file type and aux type, so the file will be recognized on the Apple II side. Technical: we follow the guidelines outlined in Technical Note PT515 except for the last part: if the file is entirely unrecognized, then instead of setting it to file type $00 and aux type $0000, we set it to $06 and $2000, which is the file type of the standard HGR grahpics file.
When copying a file to a disk image, it now keeps the ".dsk" extension if you have one in the save dialog. Used to cut it on you! (Still cuts it off on the disk image contained within the file). This bug caused the unpleasant problem of replacing the file you were copying with the disk image if you didn't change the name or directory! ie: it would delete your original file!
Can now copy larger files to 1.4 MB disks. On 68k and OS 9, the default is that there is not enough memory to do this. If you need this functionality, please increase the memory partition by whatever the alert dialog reports when you try it for the first time.
Fixed 3 major bugs with date stamping! (when copying/saving a file to a disk image):
- Minutes and seconds could be random
- Year, if < 2000, could be random (anti Y2K bug!)
- Now, we carry both creation and modify date thru to new file (used to use creation date of a2pix application, and "now" as mod date)
now, HGR files have icons! They have to have type a2px and creator 0x70062000 or 0x70064000 or '06__' (that's the characters 'zero six space space'). Niftily, if you drag your pix from disk images using ADFS, they will get the right icons.
beta 8: 10/24/01
Can you say "Feature Creep"?
There is a new, 3rd text screen when you enable "Show Startup Screens", called "Welcome"
The startup screens are now user editable (using Resorcerer or ResEdit), plus the user can create custom text screens that can then be saved as graphics.
There is a new menu item under the File menu called "Load Text Screen ->" which leads to a submenu of available text screens. All text screens created in ResEdit or Resorcerer (type 'cstr') will be listed, alphabetically.
Added a 4th sample text screen available under "File->Load Text Screen->Text Screen Info" that describes the process of creating a text screen (40 or 80 columns)
Added a 5th sample text screen available under "File->Load Text Screen->Garbage" that is Garbage
Fixed the text screen implementation to use single high rez for 40 column text (kept double high res for 80 column text) so now 40 column text looks good even when using "by the book" engine or with a half size window
Fixed the 80 column font character "f", the little cross of the "f" was 1/2 pixel too high (which made it disappear completely in my implementation of text screens)
Fixed the 'plst' resource: now has CFBundleLongVersionString, and got rid of the copyright glyph in the version string, now using "(c)" instead (for UTF-8 encoding)
Fixed the text screen implementation, it was setting the color (high) bit for every byte (40 col), so color fringing looked orange and blue rather than the normal green and purple. Actually text is not supposed to fringe at all, since real Apple II hardware has a switch that turns off color when you're in text mode. But you have that option with the "Black and White" palette.
68k: When using my area sample (ie: NOT the QuickDraw area sample) the progress indicator line is drawn white with a black drop shadow. That way you can see it if the picture you're drawing is mostly black OR mostly white
68k: also, when we're done drawing (using my area sample), the info floater is back to saying "Ready." rather than stuck on the progress info
beta 7: 10/13/01
now opens file saved from HGR page 2 (a$4000)
my AEGetDescData routine was returning garbage. How did the open dalog on 68k ever work? does it work now or did I break it?
changed about dialog to have my new email address
now has IIGS palette
68k: disabled "Speed Test" when area sample would kick in
OS X: fixed for 10.1 so it does not crash. (Apple ][ font ID renumbered to safe range)
OS X: added LSPrefersCarbon to plist, so now, you can get info, and check the "Open in Classic" checkbox if you really want to run in classic
There is a new pref under the edit menu "Show Start Screen" which, when enabled, will upon startup show an Apple IIc startup screen, booting into ProDOS, complete with sound. The junk that flashes for a second is on purpose. I think it makes it seem more authentic, no? Totally useless, does not mean anything, this is not actually an emulator, wastes 8.85 seconds of your time. Defaults to off. If you are very excited by this, you can see while the program is running by choosing this menu item with the option key down (or just press opt-p). The sounds take up about 500K of ram to play, so if you don't have enough memory, they should simply not play.
there is a new option in the "Engine" menu called "Use QuickDraw Area Sample". Enabled allows QD to do the area sampling, which is very fast, but low quality. Disabled uses my home grown area sampling, which is very slow, but looks very good. On 68k the default is Enabled. On Carbon the default is Disabled.
68k: speed test is available when using QD area sample
fixed OS 9 icon family
OS X: added CFBundleDocumentTypes so you can drop files on the icon in the finder
if you have "Show Startup Screen" enabled, and you launch the program by dragging a file to it, it will NOT show the startup screens
OS X: fixed drag and drop onto main window, now it works!
OS X: updated the CFBundleIdentifier to be "com.lazilong.a2pix" rather than "com.lazilong.www"
beta 6: 6/14/01
OS X: fixed crasher (shouldda crashed on OS 9 too) where it simply would not launch (accessing out of bounds memory on startup)
OS X: made the thumbnail icon better
OS X: the info floater now shows the Apple ][ font
beta 5: ancient history
make the "about" and "alert" boxes come up always in the center of the main screen
if you hold option when you choose the about box, you get an alert with a random number (used to verify the alert works)
68k: the info floater now shows and hides when you switch out/in
68k: implemented a pseudo floating window handler, works nice, but when you drag a non-floater (alerts are floaters too) you get a double pop sound if you have your theme sounds on. The double pop is that the drag window proc brings the non floater to the front (1), and then I bring the real floater to the front (2)
Updated 'optn' resource TMPL so you can manually edit the preferences using ResEdit
changed engine menu again. moved "Bit Shifting" to its own spot, instead of having it be its own engine choice. You can toggle it even when you have a Laz engine selected
fixed laz sharp scheme I think finally. Now looks more like Gus, but not exactly.
I am trying to contact the author of Gus so I can get their engine, but dont expect anything
drag and drop into main window
68k: using Area-Sample-Blit erasing to black first, looks better than erasing to white
68k: using Area-Sample-Blit with green or amber paints in black and white first, then blits in color (used to be completely black until finished painting) not sure why we cant paint using the color on the fly
now properly saving/restoring lock state of all pixmaps (may have caused spurrious crashes)
Area-Sample-Blit optimizations: (looks like I found a lot I could do)
- now skipping black pixels
- 2 fewer adds per inner loop
- replaced switch with if-then
- removed a handle deref per pixel
- always rendering only 192 lines, even for normal and double size
- special casing now that src y == dest y, can skip 3 multiplies per pixel
- got rid of a few more adds due to special case
- now always assumes a 16 bit dest, rather than casing on 32 or 16
OS X: no longer blits the info floater with a blue background (not sure why it ever happened, I am now using an offscreen)
68k: choose folder dialog is now theme savvy and is moveable modal, and will now always update/refresh all dialog items
if you "Convert Batch..." and cancel, then the word "Rendering..." would stick in the info floater, this is fixed
tweaked the "Laz's TV" palette one last time, now it really matches my TV, and only uses colors such that each channel has 0%, 25%, 50%, 75% and 100% intensity, the way a real TV renders the Apple ]['s signal.
handles low memory situation much better, will recover in all? cases, and report how much more memory you should give the application
new engine menu item: "Use More Memory w/ Double Size + ARC". If you have "Double Size" turned on, AND you have some aspect ratio correction, checking this option will make for a much better render (doubles the horizontal resolution)
majorly reduced the memory requirements:
- PPC Min: 2000, Pref: 2200
- 68k Min: 1000, Pref: 1270 Yaaay!!
- At Min, you can do everything EXCEPT: (have a color picture showing at double size with ACR turned on and "Use More Memory" turned on) AND (copy a file > 132k to a disk image)
- At Pref, you can do everything.
- There is potential to make the memory requirement even lower, should I do it?
68k: if file you are copying is > 132k, its written to an 800k disk. not tested for files exactly 132k in size
68k: was always creating 800k disk images, now it knows to create 140k images if file is smaller than 132k
68k: now keeping the old image around while rendering area sample, so you can see the old image and watch while its updated (the old image is simply stretch-blit into the new area, and the new image is rendered on top of it)
fixed "copy file to disk image" when size of file copied was an exact multiple of 512 (used to do nothing)
removed all compiler warnings (implicit signed/unsigned conversions)
68k: when rendering with area sample, you now get progress in the info floater, and a white line in the image showing how far it has rendered
Carbon: now says "Carbon" in about box
when copying files, if file is too big it will be repored immediately, along with size of file
In the "Engine" menu, re-arranged the Screen Size choices: now it goes half-normal-double (used to go normal-half-double)
fixed another ProDOS error about not copying the files in some circumstances
now disk images will default to have the more familiar extension ".dsk", but when you mount it, the volume name itself doesnt have the ".dsk" extension
New engine menu item: "By the Book width matches Laz". The "Laz" engine uses a width of 562 pixels. Now, the Apple ][ graphics only go to 560, but if you have bit shifting turned on, or if you are using DHGR, you can actually create up to 651 pixels.. AND on your TV, due to color fringing, even pixel 562 can light up if you have color right on the edge of the screen, and the Laz engine knows this. Now, the Book engine doesnt know about this, it only ever uses 560 pixels, but to have it line up with the laz engine, I shift it over 1 pixel to the right, so you will see a 1 pixel black border on the left and right edges. if you uncheck this option, I get rid of the 1 pixel black border on the left and right, so you have solid color all the way across. Only really useful in color when using By The Book engine.
Got rid of separator in the menu between Laz and Book engines
when converting a batch, when choosing your dest folder, the info floater would report a number instead of saying "Choose dest folder..."
first 68k build
upped the memory partition to 7 megs
fixed double size + ACR blit bug
68k: now says "68k" in about box
68k: using Area-Sample-Blit: now updates every 16 pixels, erasing to white first
if you set a disk or file name that is illegal, it will be legalized (ie: strange chars become periods) we still preserve lower case and spaces using the method established by AppleWorks
fixed bug with writing files > 128k (would write garbage)
fixed bug with writing files > 8MB, would truncate at 8, should be 16MB (of course, files over about 720K cant be written actually, since I can only create 140K or 800K disks)
added Gus, DV and IREZ palettes
fixed Laz TV palette (more accurately depicts the actual colors on my TV)
added lots of range checking for debugging, used in the ProDOS file system when writing to the disk image
fixed the Laz Sharp scheme a little bit, no more holes, but still not perfect
added "Normal Size, Half Size, Double Size" menu items and zoom box functionality
added "Aspect Ratio Correction (ACR)" gives you the "actual" screen width you would see on a properly calibrated NTSC TV, or thru my Canon GL1 DV camera
when set to "Half Size" or "Aspect Ratio Correction" it uses a new high-qual area-sample blit, ie: pixel averaging, so you dont loose pixels when you shrink, but it is way slow
moved the info floater text down one pixel
dont need to hold command key for any commands
carbonized, runs in os X, mega thumbnail icon
now reads 8/16 paint DHGR files (used to display them as HGR)
has black&green/amber palettes
has Bernie palette
uses Apple ][ font for info palette
can save current picture as a file on a ProDOS disk image (creates 140k)
can copy any file (as BIN, A$2000 (see bug fix in Beta 9, which changes this) to a ProDOS disk image (creates 140k or 800k) only works on smallish files (size < 720K)
tweaked the graphics engine a tiny bit (not really noticeable)