| Author | Topic: Console32 features (Read 148 times) |
Eddy-B Administrator
     member is offline
Joined: Jun 2008 Gender: Male  Posts: 19 Location: Netherlands Karma: 0 |  | Console32 features « Thread Started on Jun 18, 2008, 8:08pm » | |
I've added some sort of raster interrupt to my Console BASIC, although very crude: i can have BASIC wait until the CRT module reaches a certain scan-line. It doesn't work perfectly, but it has allowed me to measure the speed at which BASIC instructions are executed.
A simple POKE instruction takes 1 scan line (64 microseconds) when executed in the off-screen period (top & bottom borders), and roughly 8 scan-lines during active display area, meaning that the Console has 8x more system time for executing BASIC when in the border areas.
This also shows thats the Console doesn't waist valuable system time: of each visible screen line, it needs36 microseconds (56%) for rendering the visible screen; 12.5 microseconds (20%) for calculations and preparations required for the CRT module 6.5 microseconds (10%) for sound (waveform) generation and the remaining 9 microseconds (14%) for executing BASIC instructions And i forgot to mention, there are 2 NOPs in the CRT module, as well as a dozen or so in the sound module. These are required to keep exact timing.
| -- www.ElectronicsPit.com -- |
|
davidm Newbie
 member is offline
Joined: Apr 2009 Gender: Male  Posts: 1 Karma: 0 |  | Re: Console32 features « Reply #1 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.
| |
|
Eddy-B Administrator
     member is offline
Joined: Jun 2008 Gender: Male  Posts: 19 Location: Netherlands Karma: 0 |  | Re: Console32 features « Reply #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.
| -- www.ElectronicsPit.com -- |
| |
|