Introducing the Pico Dazzler

218 views
Skip to first unread message

Paul Hatchman

unread,
Feb 19, 2023, 7:54:38 PM2/19/23
to Altair-Duino
Hi All,

I've created an alterative to David Hansel's excellent Dazzler Graphics emulator board, which uses 100% off the shelf components. It's powered by a Raspberry Pi Pico and an easy to obtain Pico VGA / audio board.

The Pico Dazzler supports all of the Dazzler audio and video output as well as Joystick input for any USB HID-Compliant game controller. It can also fit neatly within the Altair Duino case.

A minimal setup with just VGA and audio output will cost about USD $30. For Joystick input you will also need to include a USB Hub and the game controllers.

More information can be found on github and a view of my installed setup can be seen below.
pico_dazzler_small.jpg

I hope you find it useful.

Cheers,

Paul

Walt Perko

unread,
Feb 19, 2023, 8:43:01 PM2/19/23
to Altair-Duino
Hi, 

How about larger photos?  Include a photo looking at the back of theAltair-Duino Pro too ... This photo looks like a postage stamp on my computer.  


.

da...@hansels.net

unread,
Feb 19, 2023, 9:26:11 PM2/19/23
to Altair-Duino
Nice work! I especially like that it can use USB controllers. The DIY joysticks in my implementation
work fine but I'm sure that today's actual controllers give much better control.

I wonder how well your implementation handles the hack-y ways the Dazzler is used in some
software. For example the BARPLOT program on the Dazzler disk which displays the colored bars
in 64x64 (multi-color) mode and the graph's axes in 128x128 (single-color) mode by alternating the
Dazzler memory address and graphics mode with every frame. It should look something like this
(although with a very noticeable flicker):

IMG20230219210033.jpg

I remember that being a big pain in the *** to get at least half-way right. The AMBUSH game also does
some weird stuff to show an explosion when a vehicle is hit: first showing the vehicle in random color
pixels that then turn red while all other vehicles stay green. I think this was done by having one frame
show the hit vehicle in red and the next frame showing all other vehicles in green (and again
alternating between the two).

PS - I can see the picture just fine. Walt, if you want to see a larger version of the picture look at Paul's GitHub page

Paul Hatchman

unread,
Feb 20, 2023, 12:18:37 AM2/20/23
to Altair-Duino
Thanks David.

AMBUSH works quite well. There is a minor slowdown on hits, but it's barely noticeable. 

BARPLOT "works", but does have a huge amount of flickering as the USB host mode on the Pico can't keep up with the amount of serial data received when the video mode changes. I'll look into what can be done to improve that. I'm not sure if it will help this case, but I haven't implemented double buffering, which should be a relatively simple addition. There's plenty of free CPU power available, it's the serial throughput in host mode that is the bottleneck. 

If you know of any other problematic programs, let me know and I'll do some more testing with them.

Cheers,

Paul.

da...@hansels.net

unread,
Feb 20, 2023, 8:48:10 AM2/20/23
to Altair-Duino
Implementing double buffer support should help, that's exactly what it is for. I think I should have named
this "dual-buffer" instead of "double-buffer" as double-buffering generally means something different from
what this does. Without dual-buffer support the AD sends the full frame data every time the video memory
location switches. With dual buffer support the AD will know that the Dazzler can keep two different frames
in memory and so the AD will just say "switch to the other buffer" which is much faster than sending all the
data. On the PIC32 the other issue was that the processor wasn't fast enough to render all the data again
within the blanking period before the new frame starts. So I had to switch from using a frame buffer to
rendering line-by-line while the picture is being sent to the monitor. I suppose the Pico should be fast
enough to complete rendering, especially since you can render on one core and use the other to send
the picture to the monitor.

AMBUSH and BARPLOT are the two programs that come to mind. I vaguely remember DOGFIGHT
also having some issues but I don't remember any specifics now.

Chris Davis

unread,
Feb 20, 2023, 12:58:14 PM2/20/23
to Altair-Duino
>> How about larger photos? 

Right-click the image and select "open image in new tab"

Paul Hatchman

unread,
Feb 21, 2023, 2:19:03 AM2/21/23
to Altair-Duino
Hi David,

Yep, implementing the dual buffer did the trick. It also eliminated that slight stuttering I was seeing in AMBUSH. Much better!

I'll push this out in the next release.


dazzler_barplot_resize.jpg


da...@hansels.net

unread,
Feb 21, 2023, 10:35:14 AM2/21/23
to Altair-Duino
Nice! Definitely something to be said for using a fast processor...

Paul Hatchman

unread,
Feb 27, 2023, 3:54:19 AM2/27/23
to Altair-Duino
Hi All,

There is a new release of the Pico Dazzler firmware available. Major features are:
* Speedup for some applications (BARPLOT and AMBUSH)
* XBOX controller support
* USB Keyboard support
* Workaround for the "random" data displayed on the bottom VGA line.

I've also added a hint in the README about a breadboard Dazzler build for those who want to try before they buy the Pico VGA PCB. I've not built one, but all you should need is a breadboard, a Pico, 12 resistors and some jumpers to connect to the VGA plug. You would get all functionality except sound.

Cheers,

Paul.

Paul Hatchman

unread,
Feb 27, 2023, 3:55:33 AM2/27/23
to Altair-Duino

Paul Hatchman

unread,
Mar 6, 2023, 8:52:36 PM3/6/23
to Altair-Duino
Hi All,

Another (probably the final) major update for the Pico Dazzler firmware is available.

This release features much improved audio playback and fixes for the issue with missing top and bottom VGA scanlines.

I've included an applications disk with all of working Dazzler applications I could find (running under CDOS), including:
  • Dazzler graphics extensions for Basic with example graphics programs.
  • Music playback and sample music
  • All the original Dazzler games I could find.
  • Instruction manuals for 16 Bit Basic, graphics extensions  and CDOS.

Regards,

Paul

Walt Perko

unread,
Mar 6, 2023, 10:17:27 PM3/6/23
to Altair-Duino
Hi,  

Here is the Games Manual:  http://www.brainless.org/Altair/Repository/DazzlerGames.pdf   I got this PDF from the original DAZZLER developer.  

This page has more info for several 8080/Z80 software:  http://www.brainless.org/Altair/Repository.html


.
Reply all
Reply to author
Forward
0 new messages