Joined: Jun 2008 Gender: Male Posts: 19 Location: Netherlands Karma: 0
Re: Console32 features « Result #2 on Apr 26, 2009, 2:40pm »
It's been a while since I've done anything with my Console32. The screen is character-based, not pixel-based. The resolution is 32x24 characters, each character being 9x8 pixels making the total screen resolution 288x192 pixels (55k pixel).
The Console32 runs at 16MHz and has a 8MHz dot-clock (rendering 8 pixels per microsecond) leaving enough time during horizontal blanking (left & right borders) for updating the sound subroutines.
I've tried figuring out a way to use pixel-based (hires) graphics, but the problem is the ATMega32 does not have sufficient SRAM to store a hires picture anyway - in other words: there was no use pursuing this: even if i switch to a Mega644 and use the entire 4kB SRAM and go for 4bit-color, i could only create an 8k pixel image (eg. 128x64 pixels) which is pretty useless.
On the other hand: using medium-graphics mode i.e. dividing each 9x8 pixel character into 6 parts i can create a med-res picture of 96x48 "pixels". The only drawback is that one can only use 2 colors in each 3x2 "pixel" character. I hope you understand what i mean - i believe there's a brief explanation of this on my website.
If you require some additional help, I'll be happy to help you out.
Re: Console32 features « Result #3 on Apr 26, 2009, 8:29am »
Hi Eddy
What's the screen resolution like with the Cosole32? I have an ATMEL game box similar to the Console32 and I can barely get 140 pixels to a line - that's using direct NTSC output in real time. Reason I ask is I'm overclocking the ATMEL (an ATMEGA8515) at 25Mhz to increase the horizontal resolution and I can't push it much further. I've been looking at using a non-ATMEL 40Mhz micro but It'd be nice to stick with this or another ATMEL.
Joined: Jun 2008 Gender: Male Posts: 19 Location: Netherlands Karma: 0
Re: Math « Result #5 on Sept 20, 2008, 9:56pm »
I've added the SIN, COS and TAN functinos to my BASIC. I've also included two SQR variants: one that returns an integer, and one that returns a fixed-point number.
I also added conversion functions to and from fixed-point plus a ROUND function, that rounds a FP number to the nearest integer equivalent.
So far, everything works fine, be it that SIN(1o) and as a result also COS(89o) and TAN(89o) has a significant error due to the limited accuracy of the Q8.8 system.
Joined: Jun 2008 Gender: Male Posts: 19 Location: Netherlands Karma: 0
Math « Result #7 on Sept 17, 2008, 7:00pm »
I've picked up the project again, and started implementing more math capabilities.
Uptill now, the Console BASIC was able to do simple calculations using only the most basic operators (+ - * / %). One of my goals was to create a BASIC that allows for some more complex graphics than just plotting a few points and lines. To do circles i'd need Sine and Cosine functions, which brings me to the number system: the current Console BASIC has only 16bit integers to work with. In order to use fractions i will need either a floating point or a fixed point number system.
I soon figured that 16bit floating-point was rather useless, since it would have ridiculously little accuracy, and i don't want to use 32 bits because of the limited SRAM of the microcontroller.
So i'm left with 16bit fixed-point. Question is: where do i put this fixed point ? There are two favorable 16bit fixed-point systems: Q5.11 and Q8.8 The first one giving me 3 significant digits after the decimal point leaving 4 bits and a signbit for the integer part (-15.999 ~ 15.999). The second gives me only 2 significant digits, BUT i have a full byte for the integer part (-127.99 ~ 127.99). There is a third possibility: Q9.7 which gives me a range of -255.99 ~ 255.99 but the second digit behind the decimal point is questionable, and may have a 1-bit error after a calculation... I'd have to look into that. For now it seems like it will work fine.
Joined: Jun 2008 Gender: Male Posts: 19 Location: Netherlands Karma: 0
Re: SSM version 1 « Result #9 on Jun 22, 2008, 12:19pm »
After some more testing with ring modulation, i found an interesting new waveform today: ring-modulated sawtooth.
The sound is similar to regular ring-mod, but the sharp edges of the sawtooth create a distinct pattern in the sound. By altering the difference between the base frequency and the modulation frequency i can create a waveform that sounds a lot like an airplane propeller. And when there's only a very slight offset between the two frequencies (or one of the overtones), you can create a distinct sweeping sound that many MOD-trackers use.
As a matter of consequence i've included ring-modulated pulsewave, but it doesn really create interesting sounds when modulating 2 pulsewaves.
As for noise: no use modulating random signals, they'll still be random!
Joined: Jun 2008 Gender: Male Posts: 19 Location: Netherlands Karma: 0
Console 32 - Would you build it ? « Result #10 on Jun 21, 2008, 3:28pm »
As i am building a prototype of the Console32 in my spare time, i'm very interested in what others would want to do with this project. Please be advised that the current version only supports Scart (PAL) television, as it has only an RGB/Sync output.
* The price of the PCB greatly depends on the number of potential buyers (probably around € 10 / $ 15)