nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 03:55



Reply to topic  [ 40 posts ]  Go to page Previous  1, 2, 3  Next
Экспериментирую с 8-ногим пиком PIC12C508A 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote


О - оказывается Бенчофф заметил мой практически пустой проект несколько дней назад и написал целый абзац :o

http://hackaday.com/2016/12/11/hackaday-links-november-11-2016/

P.S. Вот чего подумалось - правила этого килобайтного соревнования допускают использование любого количества чипов, если в них используется одна и та же прошивка размером до 1 килобайта - вот я и думаю, а не соединить ли вместе несколько PIC12x? Вот если бы можно было бы 4 пика запустить с разнесением фазы клока на 1/4, то теоретически можно было бы вместо 48 графических элементов в строке получить 192 :roll:

_________________
:dj: https://mastodon.social/@Shaos


17 Dec 2016 18:48
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Генерируем кадр NTSC на 4 МГц старом пике :)

 PIC12-T1.ASM
Code:
 processor pic12c508a
 radix dec
 include "p12c50X.inc"
 __CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC

Seven EQU 0x07 ; constant 7
LineN EQU 0x08 ; line counter
TempN EQU 0x09 ; temporary counter

 movwf OSCCAL ; store factory calibration value
 movlw 7
 movwf Seven
 goto loop

; call ; 2/2 (FRAME SYNC)
Line_:
 nop ; 1/3
 nop ; 1/4

 ; blank 48 instructions
 clrf GPIO ; 1/5
 movlw 15 ; 1/6
 movwf TempN ; 1/7
Line_loop: ; 15*3-1=44/51
 decfsz TempN,f ; (1/1)
 goto Line_loop ; (2/3)
 nop ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x18 ; 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x08 ; 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64


; call ; 2/2
Line0:
 nop ; 1/3
 nop ; 1/4

 ; blank 48 instructions
 clrf GPIO ; 1/5
 movlw 15 ; 1/6
 movwf TempN ; 1/7
Line0loop: ; 15*3-1=44/51
 decfsz TempN,f ; (1/1)
 goto Line0loop ; (2/3)
 nop ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64


; call ; 2/2
Line1:
 nop ; 1/3
 nop ; 1/4

 ; video 48 instructions
 movlw 1 ; 1/5
 movwf GPIO ; 1/6
 comf GPIO,f ; 1/7
 comf GPIO,f ; 1/8
 comf GPIO,f ; 1/9
 comf GPIO,f ; 1/10
 comf GPIO,f ; 1/11
 comf GPIO,f ; 1/12
 comf GPIO,f ; 1/13
 comf GPIO,f ; 1/14
 comf GPIO,f ; 1/15
 comf GPIO,f ; 1/16
 comf GPIO,f ; 1/17
 comf GPIO,f ; 1/18
 comf GPIO,f ; 1/19
 comf GPIO,f ; 1/20
 comf GPIO,f ; 1/21
 comf GPIO,f ; 1/22
 comf GPIO,f ; 1/23
 comf GPIO,f ; 1/24
 comf GPIO,f ; 1/25
 comf GPIO,f ; 1/26
 comf GPIO,f ; 1/27
 comf GPIO,f ; 1/28
 comf GPIO,f ; 1/29
 comf GPIO,f ; 1/30
 comf GPIO,f ; 1/31
 comf GPIO,f ; 1/32
 comf GPIO,f ; 1/33
 comf GPIO,f ; 1/34
 comf GPIO,f ; 1/35
 comf GPIO,f ; 1/36
 comf GPIO,f ; 1/37
 comf GPIO,f ; 1/38
 comf GPIO,f ; 1/39
 comf GPIO,f ; 1/40
 comf GPIO,f ; 1/41
 comf GPIO,f ; 1/42
 comf GPIO,f ; 1/43
 comf GPIO,f ; 1/44
 comf GPIO,f ; 1/45
 comf GPIO,f ; 1/46
 comf GPIO,f ; 1/47
 comf GPIO,f ; 1/48
 comf GPIO,f ; 1/49
 comf GPIO,f ; 1/50
 comf GPIO,f ; 1/51
 comf GPIO,f ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64


; call ; 2/2
Line2:
 nop ; 1/3
 nop ; 1/4

 ; video 48 instructions
 movlw 1 ; 1/5
 movwf GPIO ; 1/6
 incf GPIO,f ; 1/7
 incf GPIO,f ; 1/8
 incf GPIO,f ; 1/9
 incf GPIO,f ; 1/10
 incf GPIO,f ; 1/11
 incf GPIO,f ; 1/12
 incf GPIO,f ; 1/13
 incf GPIO,f ; 1/14
 incf GPIO,f ; 1/15
 incf GPIO,f ; 1/16
 incf GPIO,f ; 1/17
 incf GPIO,f ; 1/18
 incf GPIO,f ; 1/19
 incf GPIO,f ; 1/20
 incf GPIO,f ; 1/21
 incf GPIO,f ; 1/22
 incf GPIO,f ; 1/23
 incf GPIO,f ; 1/24
 incf GPIO,f ; 1/25
 incf GPIO,f ; 1/26
 incf GPIO,f ; 1/27
 incf GPIO,f ; 1/28
 incf GPIO,f ; 1/29
 incf GPIO,f ; 1/30
 incf GPIO,f ; 1/31
 incf GPIO,f ; 1/32
 incf GPIO,f ; 1/33
 incf GPIO,f ; 1/34
 incf GPIO,f ; 1/35
 incf GPIO,f ; 1/36
 incf GPIO,f ; 1/37
 incf GPIO,f ; 1/38
 incf GPIO,f ; 1/39
 incf GPIO,f ; 1/40
 incf GPIO,f ; 1/41
 incf GPIO,f ; 1/42
 incf GPIO,f ; 1/43
 incf GPIO,f ; 1/44
 incf GPIO,f ; 1/45
 incf GPIO,f ; 1/46
 incf GPIO,f ; 1/47
 incf GPIO,f ; 1/48
 incf GPIO,f ; 1/49
 incf GPIO,f ; 1/50
 incf GPIO,f ; 1/51
 incf GPIO,f ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64

; MAIN LOOP
loop:
 clrf LineN
 ; lines 1-8 (row 1)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 9-16 (row 2)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 17-24 (row 3)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 25-32 (row 4)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 33-40 (row 5)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 41-48 (row 6)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 49-56 (row 7)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 57-64 (row 8)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 65-72 (row 9)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 73-80 (row 10)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 81-88 (row 11)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 89-96 (row 12)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 97-104 (row 13)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 105-112 (row 14)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 113-120 (row 15)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 121-128 (row 16)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 129-136 (row 17)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 137-144 (row 18)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 145-152 (row 19)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 153-160 (row 20)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 161-168 (row 21)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 169-176 (row 22)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 177-184 (row 23)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 185-192 (row 24)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 192-200 (row 25)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 201-208 (row 26)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 209-216 (row 27)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
; lines 217-232 (16 blank lines)
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
; lines 233-236 (4 sync lines)
 call Line_
 call Line_
 call Line_
 call Line_
; lines 237-262 (26 blank lines)
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0

 goto loop


END


P.S. Тут получилось 4 градации серого вместо 8 потому что GP2 в режиме входа остался - надо бит 5 в регистре OPTION обнулить, чтобы GP2 смог стать выходом...


Attachments:
pixy1fixed.jpg
pixy1fixed.jpg [ 96.74 KiB | Viewed 10036 times ]

_________________
:dj: https://mastodon.social/@Shaos
05 Jan 2017 23:20
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Вот вариант с установкой OPTION в 0xC0 - теперь 8 градаций яркости :)


Attachments:
pixy1fixed2.jpg
pixy1fixed2.jpg [ 93.42 KiB | Viewed 10034 times ]

_________________
:dj: https://mastodon.social/@Shaos
06 Jan 2017 00:24
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Вобщем каждая строчка начинается с 1 - потом через одну повторяются паттерны 1,2,3,4,5,6,7,0 (получено через INCF) и 1,6,1,6,1,6,1,6 (получено через COMF)

P.S. Если кому интересно - вот так выглядит экран ТВ при пиксельклоке 1 МГц...

_________________
:dj: https://mastodon.social/@Shaos


06 Jan 2017 00:25
Profile WWW
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
А чего верх получился сорванный? Пустые строки после КСИ не вставил?


06 Jan 2017 04:03
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
jdigreze wrote:
А чего верх получился сорванный? Пустые строки после КСИ не вставил?

Потому что в конце программы стоит GOTO LOOP (2 такта) и на LOOP: CLRF (еще 1 такт) - вот из-за этих 3 тактов и уехало - поправлю в следующей версии (сделаю последнюю подпрограмму Line в кадре на 3 такта короче)

P.S. Еще не на всех телеках оно ловится - возможно с амплитудами уровней надо поиграца


Attachments:
pixy1osc.jpg
pixy1osc.jpg [ 85.32 KiB | Viewed 10024 times ]

_________________
:dj: https://mastodon.social/@Shaos
06 Jan 2017 06:14
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote


Поправленный исходник (со схемой в комментариях), который занимает 87% микроконтроллера PIC12C508A:

 PIC12-T1.ASM
Code:
; PIXY TEST 1 BY SHAOS (JAN 2017)
; ===============================
; Build: gpasm pic12-t1.asm

 processor pic12c508
 radix dec
 include "p12c50X.inc"
 __CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC

;       +5V
;      .--*
;      #  |  PIC12C508
; 480* #  |   ---v---
;      #  \--|1     8|- GND
;      | NC -|2     7|--###-\  1.5 kOhm
; SYNC *-----|3     6|--###--* 680 Ohm
;      | IN -|4     5|--###-/| 330 Ohm
;      |      -------        |
;       ----------------###--*---> VIDEO (8 gray levels)
;                     1 kOhm

LineN EQU 0x08 ; line counter
TempN EQU 0x09 ; temporary counter

 movwf OSCCAL ; store factory calibration value
 movlw 0xC0
 option
 goto loop

; call ; 2/2 (FRAME SYNC)
Line_:
 nop ; 1/3
 nop ; 1/4

 ; blank 48 instructions
 clrf GPIO ; 1/5
 movlw 15 ; 1/6
 movwf TempN ; 1/7
Line_loop: ; 15*3-1=44/51
 decfsz TempN,f ; (1/1)
 goto Line_loop ; (2/3)
 nop ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x18 ; 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x08 ; 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64


; call ; 2/2
Line0:
 nop ; 1/3
 nop ; 1/4

 ; blank 48 instructions
 clrf GPIO ; 1/5
 movlw 15 ; 1/6
 movwf TempN ; 1/7
Line0loop: ; 15*3-1=44/51
 decfsz TempN,f ; (1/1)
 goto Line0loop ; (2/3)
 nop ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64


; call ; 2/2
Line1:
 nop ; 1/3
 nop ; 1/4

 ; video 48 instructions
 movlw 1 ; 1/5
 movwf GPIO ; 1/6
 comf GPIO,f ; 1/7
 comf GPIO,f ; 1/8
 comf GPIO,f ; 1/9
 comf GPIO,f ; 1/10
 comf GPIO,f ; 1/11
 comf GPIO,f ; 1/12
 comf GPIO,f ; 1/13
 comf GPIO,f ; 1/14
 comf GPIO,f ; 1/15
 comf GPIO,f ; 1/16
 comf GPIO,f ; 1/17
 comf GPIO,f ; 1/18
 comf GPIO,f ; 1/19
 comf GPIO,f ; 1/20
 comf GPIO,f ; 1/21
 comf GPIO,f ; 1/22
 comf GPIO,f ; 1/23
 comf GPIO,f ; 1/24
 comf GPIO,f ; 1/25
 comf GPIO,f ; 1/26
 comf GPIO,f ; 1/27
 comf GPIO,f ; 1/28
 comf GPIO,f ; 1/29
 comf GPIO,f ; 1/30
 comf GPIO,f ; 1/31
 comf GPIO,f ; 1/32
 comf GPIO,f ; 1/33
 comf GPIO,f ; 1/34
 comf GPIO,f ; 1/35
 comf GPIO,f ; 1/36
 comf GPIO,f ; 1/37
 comf GPIO,f ; 1/38
 comf GPIO,f ; 1/39
 comf GPIO,f ; 1/40
 comf GPIO,f ; 1/41
 comf GPIO,f ; 1/42
 comf GPIO,f ; 1/43
 comf GPIO,f ; 1/44
 comf GPIO,f ; 1/45
 comf GPIO,f ; 1/46
 comf GPIO,f ; 1/47
 comf GPIO,f ; 1/48
 comf GPIO,f ; 1/49
 comf GPIO,f ; 1/50
 comf GPIO,f ; 1/51
 comf GPIO,f ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64


; call ; 2/2
Line2:
 nop ; 1/3
 nop ; 1/4

 ; video 48 instructions
 movlw 1 ; 1/5
 movwf GPIO ; 1/6
 incf GPIO,f ; 1/7
 incf GPIO,f ; 1/8
 incf GPIO,f ; 1/9
 incf GPIO,f ; 1/10
 incf GPIO,f ; 1/11
 incf GPIO,f ; 1/12
 incf GPIO,f ; 1/13
 incf GPIO,f ; 1/14
 incf GPIO,f ; 1/15
 incf GPIO,f ; 1/16
 incf GPIO,f ; 1/17
 incf GPIO,f ; 1/18
 incf GPIO,f ; 1/19
 incf GPIO,f ; 1/20
 incf GPIO,f ; 1/21
 incf GPIO,f ; 1/22
 incf GPIO,f ; 1/23
 incf GPIO,f ; 1/24
 incf GPIO,f ; 1/25
 incf GPIO,f ; 1/26
 incf GPIO,f ; 1/27
 incf GPIO,f ; 1/28
 incf GPIO,f ; 1/29
 incf GPIO,f ; 1/30
 incf GPIO,f ; 1/31
 incf GPIO,f ; 1/32
 incf GPIO,f ; 1/33
 incf GPIO,f ; 1/34
 incf GPIO,f ; 1/35
 incf GPIO,f ; 1/36
 incf GPIO,f ; 1/37
 incf GPIO,f ; 1/38
 incf GPIO,f ; 1/39
 incf GPIO,f ; 1/40
 incf GPIO,f ; 1/41
 incf GPIO,f ; 1/42
 incf GPIO,f ; 1/43
 incf GPIO,f ; 1/44
 incf GPIO,f ; 1/45
 incf GPIO,f ; 1/46
 incf GPIO,f ; 1/47
 incf GPIO,f ; 1/48
 incf GPIO,f ; 1/49
 incf GPIO,f ; 1/50
 incf GPIO,f ; 1/51
 incf GPIO,f ; 1/52

 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 incf LineN,F ; 1/58 -> sync
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 retlw 1 ; 2/64

; MAIN LOOP
loop:
 clrf LineN
loop2:
 ; lines 1-8 (row 1)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 9-16 (row 2)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 17-24 (row 3)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 25-32 (row 4)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 33-40 (row 5)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 41-48 (row 6)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 49-56 (row 7)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 57-64 (row 8)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 65-72 (row 9)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 73-80 (row 10)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 81-88 (row 11)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 89-96 (row 12)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 97-104 (row 13)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 105-112 (row 14)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 113-120 (row 15)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 121-128 (row 16)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 129-136 (row 17)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 137-144 (row 18)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 145-152 (row 19)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 153-160 (row 20)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 161-168 (row 21)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 169-176 (row 22)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 177-184 (row 23)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 185-192 (row 24)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 192-200 (row 25)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 ; lines 201-208 (row 26)
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 call Line2
 ; lines 209-216 (row 27)
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
 call Line1
; lines 217-232 (16 blank lines)
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
; lines 233-236 (4 sync lines)
 call Line_
 call Line_
 call Line_
 call Line_
; lines 237-262 (26 blank lines)
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
 call Line0
; call Line0 - last blank line must be incomplete to compensate 3 cycles
 nop ; 1/1
 clrf GPIO ; 1/2
 movlw 16 ; 1/3
 movwf TempN ; 1/4
Line00loop: ; 16*3-1=47/51
 decfsz TempN,f ; (1/1)
 goto Line00loop ; (2/3)
 nop ; 1/52
 clrf GPIO ; 1/53 -> video 48
 nop ; 1/54
 nop ; 1/55
 movlw 0x08 ; 1/56
 tris GPIO ; 1/57
 clrf LineN ; 1/58
 nop ; 1/59 -> sync
 nop ; 1/60 -> sync
 movlw 0x18 ; 1/61 -> sync
 tris GPIO ; 1/62 -> sync
 goto loop2 ; 2/64

END


Attachments:
pixy1sony.jpg
pixy1sony.jpg [ 96.8 KiB | Viewed 10010 times ]

_________________
:dj: https://mastodon.social/@Shaos
07 Jan 2017 21:09
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Генерируем кадр NTSC на 4 МГц старом пике :)
Ну то есть, ты всё тужишься сгенерить бестолковые изображения, которые тебе позволяет скорость старого пика?
Я так понимаю - ничего более осмысленного в итоге и не получится?

_________________
iLavr


08 Jan 2017 05:19
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
Генерируем кадр NTSC на 4 МГц старом пике :)
Ну то есть, ты всё тужишься сгенерить бестолковые изображения, которые тебе позволяет скорость старого пика?
Я так понимаю - ничего более осмысленного в итоге и не получится?

Ну можно цвет примешать для пущей весёлости :)
А вообще да - с 4 МГц всё тухло в смысле ТВ...

_________________
:dj: https://mastodon.social/@Shaos


08 Jan 2017 05:30
Profile WWW
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Ну как ничего путнего - типа самый минималистичный тестер видеотракта ТВ :lol:


08 Jan 2017 20:42
Profile
Novelist
User avatar

Joined: 26 Dec 2016 23:38
Posts: 47
Reply with quote
jdigreze wrote:
Ну как ничего путнего - типа самый минималистичный тестер видеотракта ТВ :lol:

Если уж до конца идти то самый минималистический тестер будет на 10f200, там тоже 4 МГц

_________________
Не кирпичом англичане ружья чистят!


09 Jan 2017 01:01
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
dementor wrote:
jdigreze wrote:
Ну как ничего путнего - типа самый минималистичный тестер видеотракта ТВ :lol:

Если уж до конца идти то самый минималистический тестер будет на 10f200, там тоже 4 МГц

Это уже современная поделка, а мы типа берём ретро и смотрим что могли бы сделать люди прошлого века, но почему-то не сделали :)

_________________
:dj: https://mastodon.social/@Shaos


09 Jan 2017 07:28
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
jdigreze wrote:
самый минималистичный тестер видеотракта ТВ :lol:
Стандарта NTSC, и, как говорит Shaos, не всяк видеотракт ТВ ещё соглашается тестироваться... :wink:

_________________
iLavr


09 Jan 2017 09:37
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Lavr wrote:
jdigreze wrote:
самый минималистичный тестер видеотракта ТВ :lol:
Стандарта NTSC, и, как говорит Shaos, не всяк видеотракт ТВ ещё соглашается тестироваться... :wink:

Есть у меня новый LCD телек, который замечательно показывает цветное видео с моего проекта Xorya (PIC32), но совершенно отказывается понимать чёрно-белое (и PIC32, и PIC12) - пишет 0p, 61Hz вместо 480i, 60Hz и не заводится...

Возможно если повторить все тонкости формирования полукадров NTSC и синхронизации между ними он и заведётся, но чего-то мне не охота заморачиваться :)

_________________
:dj: https://mastodon.social/@Shaos


09 Jan 2017 09:41
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Возможно если повторить все тонкости формирования полукадров NTSC и синхронизации между ними он и заведётся, но чего-то мне не охота заморачиваться :)
То есть он не хочет понимать то, что называют "прогрессивная развертка"?
Ему только полукадры подавай?

_________________
iLavr


09 Jan 2017 14:18
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 40 posts ]  Go to page Previous  1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.