• Commodore Free - Issue 55 - Part 7

    From Stephen Walsh@39:901/281 to all on Mon Nov 7 14:39:03 2011
    jpg or bitmap and then what?



    The mode itself would be pretty useless without good images to show for it and

    as with the VIC-20 demo Mike came through here again. He wrote a converter for

    my VIC-20-graphics-mode back then, and he also made another converter for his

    VFLI-mod to the VIC-20 (a small hardware modification which increases the

    VIC-20's graphic capabilities considerably). When I came up with the C128

    VDC-graphic modes the converters could be adapted to fit my mode's needs.

    While the graphic-mode itself would have been possible back in 1985, the

    conversion of a picture takes about 2-3 minutes on a modern PC, you can only

    imagine how long a conversion would have taken back then - and that is IF you

    had true colour-pictures in a digital format available to convert at all.





    Q. How long did the VDC process take to perfect?



    It's never perfect ;-) I took probably a week of long nights to wiggle out the

    VDC's quirkiness to produce a good picture. Talking and discussing this on the

    commodore128.org-forum really helped a lot, as other people could try

    different setting and see if they got the same results and their screens and

    so on.





    Q. Do you think the process could be used for anything else other than static

    images, for example could some the process be uses to create sort of

    animation, or even demo or is the processing time to much for the machine?



    Unfortunately, the VDC chip is pretty much disconnected from the rest of the

    C128's memory and can only be accessed through 2 bytes in memory, which makes

    it pretty slow. The VDC itself does have a block-copy routine, which may be

    able to speed things up a bit, but apart from the "Risen from Oblivion" demo I

    haven't really seen any impressive quick movements on the VDC - this would

    definitely be a challenge.





    Q. Could the processing time be extended using some sort of accelerator card

    like the SCPU, or is the graphics chip still to slow to display moving images

    on the hardware?



    An accelerator card would not speed up the VDC chip! in fact the VDC chip is

    accessed by the C128-kernal, it has to wait for the VDC to signal its

    readiness and only then will it be able to accept settings to its registers.

    So I don't think much can be done to speed things up, at least not in a way

    that would be worthwhile.





    Q. So What hardware currently is the system working on currently?



    You will need a C128 with expanded 64K VDC-memory. Newer C128s already have

    this. Older ones can be easily upgraded as mentioned before. Then you will

    need a display device that can display the RGBI-signal of the C128 as well as

    display the frequency required. Because the picture is 640x480 and 60 Hz and

    as such close to NTSC should make it work on TV-screens - there are simple

    RGBI to SCART adapters available for example for European TVs, however most of

    these will only display 8 out of the 16 colours. The best option is a good old

    Commodore 1901 monitor, which was the original monitor intended for the C128.

    However these are hard to come by. In the US this should be the 1902. I've

    also tested the program successfully on the 1084, but a small fix is needed

    here for the picture to be centred correctly. Nothing too major.





    Q. I guess its a try it and see if it works process, if our reader has a setup

    that the process works or doesn’t work on is it worth them contacting you to

    describe the setup of there systems?



    By all means! I'm very interested to make the mode as compatible as possible,

    and while there are certain technical limitations of some display devices that

    may prevent them from working with this mode, it's always nice to know if a

    certain monitor has been successfully proven to work or could be made to work.





    Q. Why is there a specific setup needed for the effect to work?



    The VDC-chip can produce a wide range of frequencies and resolutions. For

    example both the US and European C128s use the same VDC-chip. The C128-kernal

    checks on startup what kind of VIC-chip you have (PAL or NTSC) and sets up the

    VDC registers accordingly, so that it displays either PAL or NTSC. While I've

    tried to keep my graphic-mode as close to NTSC as possible there are lots of

    other modes (like 720x700) who bend the frequencies even more, and for this

    you will need a monitor that can display higher and lower frequencies (often

    you have to turn a knob called V-Sync). For higher resolutions you will also

    sometimes have to vertically compress the image (with a knob called V-Size).

    Sometimes these knobs are only to be found on the back of the monitor and can

    be labelled differently.





    Q. If the images does not show, could our reader contact you with his/her

    setup for you to investigate?



    Certainly, yes. Or even better post your question to the

    commodore128.org-forum, so others may benefit as well if a solution can be

    found.





    Q. Does the process work on both Pal and NTSC systems?



    The VDC-IHFLI mode is close to NTSC. I have done some experiments with a

    VDC-ITFLI-mode which is 640x576 with 8x3 colour blocks and 50 Hz, which would

    be close to PAL. But as said before the VDC-chip itself is neither PAL nor

    NTSC, it all depends on what you tell it to display and if the display-device

    you connect can handle the signal.





    Q. Do you have any other projects you are working on?



    Apart from the VDC-ITFLI-mode I've also hacked together a small

    picture-converter for my old 720x700 monochrome mode and completed some

    experiments on a non-interlace 640x400 mode for which Mike also provided a

    converter. Those last two modes I've only been able to display on the

    1901-monitor, as both are way off the NTSC or PAL-standards. Then there's the

    already released VDC-FLI mode in 480x252 with 8x1 colour blocks which uses a

    trick I learnt from "Risen from Oblivion" to get this colour-resolution to

    display. Since the release of that mode, Mike has improved on his

    picture-converter so that it uses 2D-Floyd-Steinberg-dithering instead of

    1D-dithering, giving much better results.



    Some day soon I hope to be able to put these all these modes together; in a

    yet to be named VDC-package. I'd like to get more feedback first on the

    existing modes and do some more tests with a new display connector by

    Richard42, that connects the C128 VDC to a VGA-monitor before release.





    Q. Do you intend to document the process for other coders to use this format?



    The process was discussed in the commodore128.org-forum - also the source-code

    itself is pretty small (screen size) and should hopefully be easy enough to

    understand. Otherwise the forum is always a nice place to get help and discuss

    ideas.





    Q. Will you be tweaking the format to make it more compatible/ efficient?



    Of course, but I rely on user-feedback for this. I've already completed some

    tweaks like being able to centre the picture with the cursor keys. Before a

    widespread release I'd like to perfect this some more, so please get in

    contact with me - my contact information is in the readme.txt of the VDC-IHFLI

    release.





    Q. So where will it all end then, we have a format that the machine isn't


    --- CrashWrite 2.0
    * Origin: --:)-- Dragon's Lair BBS --(:-- (39:901/281)