Some progress towards Retrotron on real hardware.
Finally I got all the tools working for programming on the Arduino boards
using Atmel's native developing environment called AtmelStudio. Took me awhile
to get it all up and running because I'm using an older version of the studio
due to some issues I encountered with VS2015 (isolation). Well, I also tried
the classic Arduino IDE from Arduino.cc, which is nice for beginners. And I
also tried the Visual Micro plugin which is really nice. It sort of merges the
"Arduino IDE" into Visual Studio. Works really good. Even some debugging is
possible via the IDE. The plugin does use Arduion's C-dialect but also takes
native C/C++ code. However, it isn't build for the lowest level, i.e. for
assembler programming/integration, whereas AtmelStudio supports assembly files
straight (full avr-as toolchain), lets you step through your assembly code
and also comes with an AVR simulator. That's nice. Hence, I go with
AtmelStudio because I need to program some parts in assembler and need to know
the timings down to machines cycles for Retrotron's video generating
functions. Yet there are some oddities in using AtmelStudio (6.2). It doesn't
know about the Arduino boards. The Arduino stuff you see in the picture below
comes from the Visual Micro plugin, but I'm not using it due to said problems.
But I've configured some stuff together to be able to download the compiled
binary to the Arduino hardware straight from the IDE.
That's how the dev environment looks like.
For Retrotron I need to be in full control of all the timings. So the first
thing I need is system clock, which can be configured by setting some timers
of the hardware. The picture is a debugging snapshot showing that the timer's
control registers got written the correct values.
The goal is to output a valid NTSC/PAL video signal (scanning some internal
video RAM) which should drive some of my tiny CRTs I showed last time. Yeah,
that would be cool.
If the chip has some cycles to spare after generating
all the video signal stuff, I may also try a small game on said hardware! :+