Pages: 1 ... 4 5 [6] 7   Go Down
Author Topic: The VideoBlaster Hi Resolution TVout platform  (Read 6448 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
When you design a circuitboard you need to know that all of the components will have the same footprint.
Like forever.

The circuit board industry developed to support commercial business and economy of scale marketing objectives.  As such, parts were ordered (or secured by contract) to match PC board runs for production.

Recent advances in PC manufacture has moved the economics where crowd-sourced boards are very attractive and even hobby runs can be reasonable... But the ability to source a standard component is still necessary and often overlooked in the hobby community.

Best I can offer is to suggest that you research (best guess) components that may be scarce or limited and attempt to design thee board to accept both... This may cause a small increase in board size due to more vias but could offer you some future proofing of these board run.

Ray

PS: most impressed with your results

Thanks for the kind words.

Its not really the CPU or any other component thats causing problems.
Its the connectors I use.

Seems like every manufacturer has there own footprint for soldering the connector to the board.

I added a PS/2 connector today for keyboard/mouse and I reused the connector from an old motherboard.
When you order a printed circuit board you need to know that the connector you use has the same footprint as the board.

Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

IT WORKS!

I can change the UCPOL0 bit and make Red and Cyan.

What I did was sending the colorburst and then disable the USART, change the clockpolaritybit and start the shift.

It gives me the options of blue/green or red/cyan.
« Last Edit: December 14, 2013, 06:45:23 pm by janost » Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, it now works without problems.

40x25text/320x200bitmapped in 4 colors at the same time.
The effective colorresolution is 160x200 though the full resolution is 320x200 but any 1pixel wide dot will show as a color.

Colors are Black/Blue/Red/White.

The text can also be rendered in color but require 2pixel wide fontchars or becomes unreadable.

I have 912 CPU cycles/line so in lines 38/39/240/241 i plan to run a blitter to draw sprites into the bitmap and remove them again.



* IMAG0163.jpg (75.11 KB, 717x502 - viewed 44 times.)
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

This image shows the textattributes when printing in 40x25 textmode.

The colorbars are not inverse spaces and are drawn like this:

Code:
for (int x=80; x < 240; x++) {
  byte color=(x>>4)&3;
  for (int y=50; y < 150; y++) {
    point(x,y,color);
  }
 }

(Yes, there is no videomode. The screen simultaneously display 320x200 monographics, 160x200 colorgraphics and 40x25 colortextmode anywhere on the screen. No switching smiley )

There are 16 textattribute combinations: Backgroundcolor 0-3 and Foregroundcolor 0-3.

Obviously the same BG and FG color displays a block.
BGblue/FGred and BGred/FGblue corrupts.

I'm implementing the basic print function at the moment.
That includes handling the cursorposition, scrolling and attributes.

Quite nice.



* IMAG0164.jpg (125.17 KB, 796x560 - viewed 42 times.)
« Last Edit: December 16, 2013, 04:17:22 pm by janost » Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

With ANSI escape sequences, to switch foreground to red you use "\x1b[31m;"
This looks awful and consumes alot of stringspace.

I'm going to use ascii codes 0x80-0x87 to set foreground and background attributes.

So setting foreground to red will be simply "\x82" and consumes 1 byte.
An similar, setting the background to red is "\x86".

Logged

Offline Offline
God Member
*****
Karma: 32
Posts: 506
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Impressive work smiley

When I tried this a few years back, the trick I used for colour was to use Timer1 in PWM mode with TOP=3 (for divide by 4):
Code:
  TCCR1A=0b00000010;
  TCCR1B=0b00011001;
  OCR1A=1;OCR1B=2; // experiment with 3 too
  ICR1=3;
In the circuit you need to mix pins 9 and 10 into your output signal (I used small capacitors for this)
Then by doing this:
Code:
TCCR1A= (phase << 4) | 0b00000010;
you can get 8 different colour phases, and black (the other 7 values just look funky) in just 1 line of code smiley-grin
Logged


Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Impressive work smiley

When I tried this a few years back, the trick I used for colour was to use Timer1 in PWM mode with TOP=3 (for divide by 4):
Code:
  TCCR1A=0b00000010;
  TCCR1B=0b00011001;
  OCR1A=1;OCR1B=2; // experiment with 3 too
  ICR1=3;
In the circuit you need to mix pins 9 and 10 into your output signal (I used small capacitors for this)
Then by doing this:
Code:
TCCR1A= (phase << 4) | 0b00000010;
you can get 8 different colour phases, and black (the other 7 values just look funky) in just 1 line of code smiley-grin

Thanks.

I have thought of that.
I already have 2 more phases but it's also a matter of how to select colors.
Like now it can display all the colors on screen anywhere at the same time.

I moved to the 1284P because of the low memory available on the 328P.
To run on the 328P or more colors on the 1284P it would have to run a tiled videodisplay.
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What is the correct way of handling CR and LF in a terminalprogram?

Now I have set 0x0A, LF to move to next line and first character.
And 0x0D, CR to just move to the beginning of the current line.

That makes "\n" work as expected in stringprints.

If you search the Web there seems to be any number of combinations?
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Lots of people build Uzeboxes and Xgamestations but why all of those components?

Dont you see where I'm heading?
Just a chip and and a few connectors makes a full blown computer or arcade?

I Think it is a great idea not at least for those homebrewers that like to put something together for fun?

I have an Apple II or C64 in just a single chip.
I dont say it have to be those machines but similar.

I at least Think its fun.
 
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 118
Posts: 4538
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The Uzebox only has two chips:



Logged

No, I don't answer questions sent in private messages...

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What I ment is I only have one chip.
And it is alone. Just Xtal and 2 resistors?

Anyways,

Connected the PS/2 port and a keyboard to RX1 and XCLK1 today.
Worked the first time.

Now i just need to translate the make and break codes to ascii.

Works like a charm.

Ps. fungus, this allready runs your Space Invaders without a glitch smiley
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 118
Posts: 4538
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ps. fungus, this allready runs your Space Invaders without a glitch smiley

Which version?  smiley-eek

 I think we need a youtube video of that...
« Last Edit: December 20, 2013, 07:18:41 am by fungus » Logged

No, I don't answer questions sent in private messages...

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 118
Posts: 4538
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm currently re-working my "Space Invaders" code. The new version is for a wearable badge using one of these screens with a micro joystick and a pro-mini glued to the back of it.

The code will be a lot more generic when it's finished.

Logged

No, I don't answer questions sent in private messages...

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ps. fungus, this allready runs your Space Invaders without a glitch smiley

Which version?  smiley-eek

 I think we need a youtube video of that...


I was just guessing smiley

I haven't seen it.
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 118
Posts: 4538
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think we need a youtube video of that...

I was just guessing smiley

I haven't seen it.

LOL! I would have been impressed if you got that running in an emulator.

Logged

No, I don't answer questions sent in private messages...

Pages: 1 ... 4 5 [6] 7   Go Up
Jump to: