Erwin wrote:Hai,
It's been a while since I've done something with NBTV, so this question
Give someone an arduino program for a nbtv television receiver
Very basic if it can , be something like madlab Mr Bairds (I bought 2 pieces for many years ) , I would like to expand this with more images, I would like to use an ATtiny85 than I have 8Kb memory
Can somebody help me please with the programma
kind regards
I'm can give you some tips. The frame data is stored starting where you see 'table frames'
Here's the basic part...
- Code: Select all
table frames
frame macro addr
entry low addr
entry high addr
endm
frame run1 ; frame #1
frame run2 ;#2 .. etc... add as many frames as you want
; and then define each frame like this...
run1 frame_begin
line b'0000000000'
line b'0000000000'
line b'0000011000'
line b'0000011000'
line b'0000000000'
line b'0011110000'
line b'0010111010'
line b'0010110100'
line b'0000110000'
line b'0001111100'
line b'0001000100'
line b'0111000100'
line b'1000000011'
line b'0000000000'
line b'1111111111'
frame_end
;add 'run2' shape and all the other frame shapes defined in the first part.
; where you see 1 in the above, it's an ON pixel, and where you see 0 it's an OFF pixel.
; looks to me like each frame is 8 pixels wide and 15 lines high.
The code uses tight cycle-counted assembly code to get the timing right. In other words, much of it you cannot change. Fortunately I don't think you'd need to play with any of that. Just redefine the frame pointer table and the frame data as described above. The table consists of 32 "pointers" to frame data for each animation. The first 32 pointers give you animation #1, and the next 32 pointers give you animation #2. These are hardwired lengths - 32 'frames' although many are repeated. Animation #2 assumes the first frame is #32, so it's all very hardwired. OK in that it does what it's designed to do - but it's not 'general purpose' or easy to change beyond what I lited above. Seems you could add as many frames as you have memory available, provided you use exactly 32 in each animation. Somewhere in that code will be a frame # variable telling it which frame to display. Looks like it's hardwired to just two animations based on a pushbutton on/off, so although you'd have many frames (up to 64 max) you'd still only have the two animations selectable. One starts at 0, the other at 32. You'd need to change the code if you want more than two, or each animation having anything other than 32 frames. And then it becomes kind of difficult because you're getting into code (rather than data) changes.