Go Down

Topic: The VideoBlaster Hi Resolution TVout platform (Read 10820 times) previous topic - next topic

janost


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.


janost

#76
Dec 14, 2013, 11:22 pm Last Edit: Dec 15, 2013, 12:45 am by janost Reason: 1
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.

janost

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.


janost

#78
Dec 16, 2013, 10:08 pm Last Edit: Dec 16, 2013, 10:17 pm by janost Reason: 1
This image shows the textattributes when printing in 40x25 textmode.

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

Code: [Select]

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 :) )

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.


janost

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".


stimmer

Impressive work :)

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: [Select]
  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: [Select]
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 :D
Due VGA library - http://arduino.cc/forum/index.php/topic,150517.0.html

janost


Impressive work :)

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: [Select]
  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: [Select]
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 :D


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.

janost

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?

janost

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.

fungus

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

janost

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 :)

fungus

#86
Dec 19, 2013, 11:46 am Last Edit: Dec 20, 2013, 01:18 pm by fungus Reason: 1

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


Which version?  :smiley-eek:

I think we need a youtube video of that...
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

fungus

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.

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

janost



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


Which version?  :smiley-eek:

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



I was just guessing :)

I haven't seen it.

fungus



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


I was just guessing :)

I haven't seen it.


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

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Go Up