A little making-of blog-post about Starduino


(Stephane Hockenhull) #1

Blog post where I go over the tricks used in Starduino:

https://rv6502.ca/post/2019/01/05/starduino-3d-gaming-in-28kb-behind-the-pixels/


(cyril guichard) #2

Very interesting and amazing way to handle 3D on such demanding hardware!!!


(Matt) #3

Nice write up for an impressive game. I hope you open source the code some day, would love to play around with it.

Also your KDevelop screenshots prompted me to give it a shot, haven’t used it in decades, looks like it’s improved a lot.


(Jean Charles Lebeau) #4

Nice job. Good (Very good article). You have not a french vesion of it too ? Any another great aticle in the oldiest posts ?


(Scott) #5

Interesting article. Just one point:

You wrote:

There is no audio generation circuitry. The sound has to be generated in software through an IRQ for each PWM pulse. Eating away at our precious CPU time.

This isn’t entirely true. If all you want are simple square wave tones, you can use a timer/counter to generate them. This is what the Beep classes in the Arduboy2 library do. The CPU then only has to handle timing the tone durations, and you could possibly use a second timer to do that, as well.


(Stephane Hockenhull) #6

@MLXXXp well you can blame Atmel and their great (not) documentation and the block diagram showing no timer connected to Port C for that :rage:

Screenshot_2019-01-07_10-32-24


(Scott) #7

That diagram doesn’t show any of the digital connections of the internal peripherals to external pins. For instance, it doesn’t show the connections of the ADC to the pins, either. You have to look at section 10.3 Alternate Port Functions for that info.


(Stephane Hockenhull) #8

They do show the ADC connections. At least up to the comparator.

Screenshot_2019-01-07_11-41-08


(Scott) #9

The analog comparator is a separate peripheral from the ADC. Plus, the path you highlighted in green is meant to show the connection of the ports and analog comparator to the interrupt unit, not from the comparator to the ports.


(Scott) #10

Looking at the block diagram closer, I see that I was wrong. The ADC and analog comparator inputs are shown.

ADC_inputs

These are shown separately because they are analog signals.


(Stephane Hockenhull) #11

Yeah that’s what got me confused. The show some of the pins connections / features and left others out of the graph.


(Scott) #12

If they were to show all the possible digital connections between the peripherals and pins for pin alternate functions, the block diagram would become a confusing rat’s nest of lines.

Anyway, sorry for getting off topic. I’ll shut up now.