home *** CD-ROM | disk | FTP | other *** search
-
- PiccoloSD64 external 24 bit video driver for ShapeShifter
- 1996 by Francesco Doro (fdoro@gpnet.it)
- Public Domain
-
-
- SD64evd is an external video driver for the Macintosh emulator
- ShapeShifter. It supports only the 24/32 bit color mode of the graphics
- board PiccoloSD64.
-
-
- *** Introduction:
-
- The problem with 24 (and 15) bit is that Mac's system uses a pixel format
- different from that used by the PiccoloSD64 and other graphics boards
- (except for CyberVision) so a conversion is needed; the emulator assigns to
- Mac a video memory that doesn't correspond to that really used for the
- display so the Mac can write to it using his own format. ShapeShifter, or
- an external driver, periodically transfers that 'virtual' Mac display
- memory to the real display memory and at the same time converts the format
- of the pixel to that used by the graphics board installed. This is the
- so-called refresh; of course this process requires time, it has to be very
- optimized otherwise all the time has to be spended for it and the emulation
- is unusable.
-
- This driver uses the internal blitter of the SD64 for the refresh; that
- blitter is really powerful.
-
-
- A blitter done refresh gives the following advantages:
-
- - Speed: a 640x480 24 bit display takes 0.05 sec to be refreshed.
-
- - Doesn't need MMU.
-
- - It is CPU indipendent: the CPU only has to wait until the blitter
- finishes so the speed is the same on a 14 Mhz 68EC020 as on a 50 Mhz
- 68060 (but only the refresh speed is the same...).
-
- - It is bus' bandwidth indipendent: the refresh speed is the same for a
- Zorro2 installed board as for a Zorro3 (again, only the refresh speed).
-
- - Doesn't need Amiga's memory: both virtual and real display resides on
- the board's video memory.
-
-
- ...But gives also this disavantage:
-
- - Since both virtual and real display must reside in the video memory, a
- 2 Meg SD64 allows max a 640x400 24 bit display.
-
-
- *** Requirements:
-
- Besides a working Amiga and PiccoloSD64, you need a registered and
- correctly installed CyberGraphX and a recent version of ShapeShifter,
- whether registered or not.
-
-
- *** Features:
-
- At the moment SD64evd supports these screen modes:
-
- 512 x 384 x 24 bit
- 576 x 432 x 24 bit
- 640 x 400 x 24 bit
- 640 x 480 x 24 bit (only for 4 Meg SD64)
- 768 x 576 x 24 bit (only for 4 Meg SD64)
- 800 x 600 x 24 bit (only for 4 Meg SD64)
- 832 x 624 x 24 bit (only for 4 Meg SD64)
-
-
- *** Installation:
-
- Copy the SD64evd to the drawer called 'Video Drivers', located in the
- ShapeShifter drawer.
-
- Make sure you have in your display database the supported screen modes or
- the one you plan to use; if not, create them with CVMode (this utility is
- part of the CyberGraphX package).
-
-
- *** Usage:
-
- In the ShapeShifter Graphics Settings select '1 monitor', Color depth 24
- bit, Screen type External. With the External driver selector select
- SD64evd. In the Screen mode selector select one of the Screen Modes
- supported (see above on the Features and Installation sections).
-
- Other options:
-
- Refresh rate: set to something between 1 and 10 (suggested: 5).
- Black border: has no effect with this driver.
- Refresh always: has no effect with this driver.
- MMU refresh: has no effect with this driver.
- Amiga mouse pointer: I strongly suggest to set it.
-
-
- *** Hints:
-
- There is a problem with memory settings: I said this driver doesn't eat
- Amiga's memory for the refresh; this is true, but the screen opened is an
- intuition screen retargetted to the SD64 by CyberGraphX and this system
- keep a buffer of every CyberGraphX screen in Amiga's memory for screen
- swapping and similar operations. A 24 bit screen needs width*height*4
- bytes so a 640x400 means about a meg of Amiga's memory. The OpenScreen is
- done after all other memory allocations so if in the memory settings you
- set 'Largest free block' when the OpenScreen is called all fast memory is
- gone; if you have enough chip memory that buffer will be allocated there
- (this doesn't cause any slowdown) otherwise the OpenScreen fails.
-
- This is my suggestion:
-
- Set 'Allocate Mac ROM memory first'.
-
- If your Amiga has one Meg chip ram DON'T select 'Largest free block', try
- to calculate how much fast memory you can assign to ShapeShifter: see how
- much free fast memory is available before launching the emulator, subtract
- the size of the ROM image you use, the size of the CyberGraphX buffer as
- explained above, some memory for SS and write the result (in K) on the 'Mac
- memory' gadget.
-
- If your Amiga has two Meg chip ram and you plan to use max 640x480 screen
- format set 'Largest free block'. In this case normally the chip ram is
- enough for the Intuition/CyberGraphX buffer. Of course if your workbench
- is on an AGA screen 1280x512, 256 colors with lots of backdrops and
- colorful icons, the chip ram might a bit disapprove the arrival of the copy
- of a true color screen...
-
- If you plan to use the 768x576 or larger screen, do as for the 1 meg chip
- case.
-
-
- Refresh rate: as said above, a 640x480 24 bit screen requires less than
- 0.05 sec to be refreshed; if you use this screen mode a refresh rate of 5
- means that the emulation will run at 70% of the speed of a not-refreshed
- display emulation and the display is refreshed 6-7 times per second. I
- think this is a good compromise, the emulation is fast enough to be usable
- and the visual effect isn't too bad. If you use 800x600 or 832x634 I
- suggest to set refresh rate=10.
-
- Remember to press Ctrl-Tab before switching back to Workbench. You may
- use that also if you need to speed up some operations, like renderings,
- when there isn't anything interesting to see in the display. Pressing
- Ctrl-Tab disables the refreshing so the emulation run at full speed.
-
- When you have found a good setup, save it with the 'Save as' function of
- the Project menu of ShapeShifter. Use a file name like
- 'ShapeShifterPrefs_24bit'. Probably you will only use the 24 bit mode
- occasionally for Netscape, Photoshop or similar so this won't be your
- default setup; the saved preference file will avoid to find again the best
- setup.
-
-
- *** To do:
-
- Combined MMU-blitter refresh; but be patient...
-
-
- *** Copyright & misc:
-
- The assembly source of SD64evd is included in this archive.
-
- Both source and binary are 100% free and Public Domain.
-
- You use this soft at your own risk, I can't give any guarantee, but if
- you find bugs or have suggestions or comments feel free to email me at
- fdoro@gpnet.it; probably I'll try to fix bugs and enhance this soft.
-
- About 15 bit modes: a reason for not supporting these screen modes is
- that AFAIK the SD64's blitter can't make that conversion.
-
- Note about Emplant Mac emulation: too bad there isn't something like the
- SS' external video driver system for Emplant, I'd like to write a similar
- thing for it; anyway if someone at Emplant's home thinks the idea of the
- blitter is good, I'll be happy to see it in a next upgrade.
-
- Also by me for Mac emulators: MacJoy13.lha, in Aminet:misc/emu.
- Allows using Amiga's joysticks and CD32 joypad with the emulated Mac; if
- you play Mac games give it a try, it's Public Domain.
-
- English is not my native language.
-
-
- *** Thanks to:
-
- Niels Knoop for great betatesting and nice email conversation about SD64.
-
- Ingenieurburo Helfrich for the PiccoloSD64.
-
- Christian Bauer for ShapeShifter and the external video driver system.
-
- The great CyberGraphX team.
-
- Finn Thoegersen for his wonderful compilation of technical dox about
- VGA/SVGA chips (ftp.coast.net:/SimTel/msdos/vga/vgadoc4b.zip).
-
-