/* * vgaC - capture VGA signals most simply... I wish * by uratan! 2012.4.28 */ /* * versions */ sch: vgaC-28.png, vgaC_A-16.png HDL: 0x27 (top.v) arm: vgaC-033.hex win: wvgaC-094.exe /* * History */ ========================================================================= 20xx.xx.xx ... [0xx] arm: ========================================================================= 2012.07.07 re-calc n_lines with 'hjkl', emulation mode error handling, etc. [037] win: 04README.txt --- ver.0.94 capture.c --- re-calc n_lines automatically with 'hjkl' command, modify buffer size examination in cap_vgac_capture(), etc. Makefile --- add comment about options of bcc32.exe local.h --- ver.0.94 ========================================================================= 2012.07.04 misc clean ups for release [036] 22spec.txt.html --- renamed from 22HDL-spec.txt, hyper-link added, confirm and correct the infos for release HDL: 02README.txt --- add some info arm: 03README.txt --- ver.0.33 main.c --- modify uart-debug command fpga.h --- add F_ to xx_BUFF_SIZE macros, a clean fpga.c --- renamings of above xx_BUFF_SIZE scsi.c --- renamings of above xx_BUFF_SIZE bbb-scsi.h --- change comment version.h --- ver.0.33 win: 04README.txt --- ver.0.93 inc_src.awk --- modify to shared with with wuzk.exe Makefile --- handle new inc_src.awk for zt.c wvgaC.c --- change include-source variable name usb_test.c --- fflush(stdout) added tgraph.c --- small change fpga.h --- sync with arm/fpga.h scsi.h --- modify comments (sync with arm/bbb-scsi.h) local.h --- ver.0.93 ========================================================================= 2012.07.01 clean about window function, SCROLL-BAR can be enabled, etc. [035] sch: vgaC-28.png --- added vgaC_A-16.png --- added 01README.txt --- updated arm: 03README.txt --- ver.0.32 main.c --- clean #ifdef's usbhw.c --- clean #ifdef's vconsole.c --- clean #ifdef's version.h --- ver.0.32 win: local.h --- ver.0.92, option RESIZABLE_WINDOW, USE_SCROLL_BAR added tgraph.c --- fully refined for SCROLL-BAR, JUST EXPECT CLIENT SIZE, about initial window position/size, set icon, etc. wvgaC.c --- modify about window position/size option, etc. usb_test.c --- use small buffer size when minus argument capture.c --- don't use random() and word 'small', remove unused, wvgaC.rc --- add a comment 04README.txt --- ver.0.92 ========================================================================= 2012.06.28 fix vgaC emulator, add small_buff option, fix s_vgac_get_info(), turn off LEDs while suspend, READMEs for release [034] sch: 01README.txt --- modified for release HDL: 02README.txt --- modified for release (ver.0x27) top.ucf-v1_s50 --- removed arm: 03README.txt --- modified for release (ver.0.31) periph.c --- turn LEDs off when Suspend, remove xbzero() and xmemcpy() common.c --- move my bzero(),memcpy() here common.h --- add prototypes for cm_bzero(), cm_memcpy() scsi.c --- s_vgac_get_info() (1) mask interrupts (2) check pair values, minimum interrupt mask area, comments, some clean, etc. fpga.c --- minimum interrupt mask area version.h --- ver.0.31 win: 04README.txt --- modified for release (ver.0.91) capture.c --- fix vgaC emulator when color-mode + odd-width, cap_scan_small option involved '=' command, remove unused codes, etc. wvgaC.c --- display FB_SIZE, etc. local.h --- ver.0.91, add FB_small_SIZE ========================================================================= 2012.06.26 handling for Logical/Physical USB RESET, wvgaC.exe has sources, single/double-buffer method is selectable, misc refines, etc. [033] sch: 01README.txt --- added HDL: 02README.txt --- added arm: periph.c --- think both logical/physical reset and tried to implement, add DEBUG_GEN_ERROR for reset debug, SET/CLR_DEBUG_PORT to monitor TD_Poll(), etc. main.c --- add debug uart commands '[sxyz]' bbb-scsi.h --- a comment 03README.txt --- renamed from 00mem.txt version.h --- ver.0.30 win: local.h --- has WVGAC_VERSION: 0.90, remove USE_DOUBLE_BUFFER_CAPTURE capture.c --- option cap_scan_db to select single/double buffer mode (command 'x', USE_DOUBLE_BUFFER_CAPTURE is removed), add cap_calc_buff_size() to calc the size dynamically, refine cap_key_action() structure, refine console messages, etc. Makefile --- generate & link source codes, etc. 04README.txt --- added inc_src.awk --- added dec_src.awk --- added wvgaC.c --- display sources by -S option, refine console messges, remove handling of cap_buff_size, comments, etc. usb_test.c --- refine console messages fupdate.c --- refine console messages ========================================================================= 2012.06.24 LED monitor selection, window size option, misc small refines [032] 22HDL-spec.txt --- correct C_OPTIONS register description HDL: top.v --- ver.0x27, refine monitor LED selector arm: main.c --- debug stack dump area, FPGA monitor switch, remove unused iap_fup.c --- move vgaC define to Makefile Makefile --- MODEL has 'vgaC=1', title comments Startup.S --- add a #if vgaC for EXEC_BUFF_SIZE usbhw.c --- add a #if vgaC for USE_LIST_of_REALIZED_EP common.h --- remove unused and old comments version.h --- ver.0.29 win: tgraph.c --- selectable window size, renamings, etc. wvgaC.c --- option to select initial window size, misc about buffer_size, comments, etc. capture.c --- initial capture params by wsize option, tune help messages, renamings, etc. usb_test.c --- about buffer size, etc. fupdate.c --- check buffer size, etc. scsi.c --- explicitly include standard header Makefile --- some clean ups os_win32.c --- comment about VIM LICENSE, etc. vim62-uganda.nsis.txt --- move from vim62/ ========================================================================= 2012.06.23 update vgaC firmware thru SCSI, restruct & refine wvgaC.exe structure (also arm buff is expanded to 28kB) (the dir renamed to win/) [031] 22HDL-spec.txt --- add descriptions about firmware-update related CDBs arm: Makefile --- iap_fup.c enabled main.c --- enable use of iap_fup functions iap_fup.c --- ported from ArmUZK for vgaC bbb-scsi.h --- add 3x CDB_FUPDATE_xxx scsi.c --- add command process for firmware update, etc. Startup.S --- shorten EXEC_BUFF_SIZE fpga.h --- expand LARGE_BUFF_SIZE to 28kB link.cmd --- comment about USB DMA RAM version.h --- ver.0.28 win: scsi.h --- add 3x CDB_FUPDATE_xxx sptifunc.c --- add 3x spti_fupdate_xxx() functions toolbase2.c --- removed, divided to 4 source files below wvgaC.c --- divided from toolbase2.c capture.c --- divided from toolbase2.c usb_test.c --- divided from toolbase2.c timer.c --- divided from toolbase2.c local.h --- move shared definitions into here fupdate.c --- added Makefile --- add divided source files, dependencies are confirmed fpga.h --- a clean-up ========================================================================= 2012.06.21 USB Suspend/Resume [2] running case (seems almost OK...) [030] arm: scsi.c --- terminate back-ground-data-feed-job when suspend, see feed_done when read/write_buffer, clear buffer data validity when write_buffer, eint3_terminate_capture() added, comments, etc. version.h --- ver.0.27 ========================================================================= 2012.06.20 start to handle USB Suspend/Resume [1] static case (to be contunued) [029] arm: fpga.h --- 3x D/A related constants fpga.c --- modify set_DA_value() to handle F_DA_MIN_MOST pdown.c --- adapt for this system main.c --- enable handlings for USB suspend/resume periph.c --- call s_turn_scsi_on/off() with suspend/resume scsi.c --- s_turn_scsi_off/on() for suspend/resume, s_vgac_get_info() sets FPGA_ABF_SIZ_H/L too vconsole.c --- small changes version.h --- ver.0.26 ========================================================================= 2012.06.19 PhotoMosRelay control, etc. [028] 22HDL-spec.txt --- add descriptions about PMR related CDBs arm: vconsole.c --- PMR test commands fpga.h --- add PMR bit assignments fpga.c --- add PMR related 3 functions, use FIO0SET to initial bbb-scsi.h --- add PMR related CDBs scsi.c --- add PMR control, etc. version.h --- ver.0.25 win: scsi.h --- add PMR related CDBs sptifunc.c --- add PMR control functions toolbase2.c --- add 4 command to control PMRs, etc. ========================================================================= 2012.06.12 move target to PCB Rev.2, control of BULK endpoints are fully refined (no more lost duplicated IN intr, UART-debug OK) [027] HDL: top.ucf --- default pin connection is FRK-S35 on PCB Rev.2 (same as top.ucf-v2_s50) top.v --- ver.0x26, disable BIAS_OUTPUT for PCB Rev.2 arm: periph.c --- control of BULK endpoints fully refined (b_poll_BBB_events() uses interrupt mask, free OUT buffer (just after read, see buffer empty by hardware status (at IN transfer, etc.), wrap__bs_xxxx() added to re-enable interrupts, re-struct function layout in file, correct debug-RPRINTF()s, use ii in debug code, comments, etc. main.c --- add wait for FPGA config done scsi.c --- use ii in debug code version.h --- ver.0.24 win: local.h --- add new FB_SIZE for XC3S200 (disabled) toolbase2.c --- tune ut_usb_transfer_test() a little ========================================================================= 2012.06.06 double buffered IN transfer, preparation for PCB Rev2, sync with toolbase2, demo mode without vgaC, etc. [026] arm: periph.c --- register `double buffer for IN transfer' version.h --- ver.0.23 HDL: top.ucf-v2_s50 --- confirm assignments for PCB Rev2 top.ucf-v2_s200 --- confirm assignments for PCB Rev2 top.v --- ver.0x25, add S200_24kB macro to switch DPRAM vgaC.xise --- module a_dpram24k added ipcore_dir/a_dpram24k.* --- added Makefile --- add clean targets win: toolbase2.c --- command line option parser, fake vgaC mode, etc. os_win32.c --- comments about VIM LICENSE vim62/uganda.nsis.txt --- include VIM LICENSE ilink.awk --- sync with toolbase2 (a comment) local.h --- (add WVGAC macro) scsi.h --- (distinguish wvgaC.exe codes by WVGAC) scsi.c --- (include order) sptifunc.c --- (distinguish wvgaC.exe codes by WVGAC) tgraph.c --- (distinguish wvgaC.exe codes by WVGAC) ========================================================================= 2012.05.22 option to set window position for new demo, cleans [025] win: tgraph.c --- can specify initial window position toolbase2.c --- set initial window position from command line, renamings, clean, etc. arm: none HDL: none ========================================================================= 2012.05.18 wvgaC.exe is fully refined [024] HDL: top.v --- ver.0x24, USE_BIAS_OUTPUT option to control BIAS[] pins, etc. top.ucf-v1_s50 --- added for trial (same as top.ucf now) top.ucf-v2_s50 --- (for ver.2 hardware) top.ucf-v2_s200 --- (for ver.2 hardware) win: toolbase2.c --- fully refined and cleaned, struct type T_CAP_PARAMS introduced and used, scan rate measurement now calc average rate, v_scan_dir and v_scan_slow option added, key_action_help() added arm: none ========================================================================= 2012.05.17 misc about capture buffer, handling of FPGA-BIAS, WM_PAINT, etc. [023] 00README.txt --- revised (including license, auther, etc.) 22HDL-spec.txt --- hardware block diagram is updated sch/ --- added for the future arm: fpga.c --- control fpga-BIAS here but disabled, has buffer memory here, etc. fpga.h --- move xxx_BUFF_SIZE here (increase buffer size to 24KB) scsi.c --- handle buffer as a large single one and halve it when double buffer mode, override FPGA_BIAS reg value by my D/A value in s_vgac_get_info(), etc. vconsole.c --- share to use large_buff[], test_mem() fully refined, do also initial_DAC() with '0' command, make get_status() same as wvgaC.exe, etc. version.h --- ver.0.22 win: tgraph.c --- add tg_flush() to send WM_PAINT message toolbase2.c --- tg_flush() by every frame, halve arm_buffer_size when using double buffer ========================================================================= 2012.05.16 misc clean ups, PULLUP on CLKxx input [022] 22HDL-spec.txt --- SCSI command assignment added win: ntddscsi.h --- replaced by public domain fpga.h --- sync'ed with arm/fpga.h scsi.h --- sync'ed with arm/bbb-scsi.h scsi.c --- some clean sptifunc.c --- use CDB_VGAC_xxx os_win32.c --- a comment tgraph.c --- remove unused arm: fpga.h --- add prefix F_ fpga.c --- add prefix F_, etc. bbb-scsi.h --- sync'ed with win0/scsi.h version.h --- ver.0.21 HDL: top.ucf --- add PULLUP on 2 CLKxx input top.v --- ver.0x23 ========================================================================= 2012.05.15 make USB_ISR() a little faster, etc. [021] 11changes.txt --- devided from 00README.txt 22HDL-spec.txt --- renamed from 11HDL-spec.txt arm: usbhw.c --- decrease interrupt check loop count version.h --- ver.0.20 win: local.h --- move FB_SIZE here tgraph.c --- remove SetPixel() draw points, move FB_SIZE into local.h, renamings, remove unused, clean toolbase2.c --- no more use SetPixel() draw points, control usb-transfer-test by command line argument, move FB_SIZE into local.h, comments, clean ========================================================================= 2012.05.14 change IN transfer state control, etc. [020] arm: periph.c --- correct to use cbw_data_len when OUT transfer, use n_IN_packet to control state, DEBUG_PORT control on entry/exit of EP intr, comments, clean, etc. main.c --- disable DEBUG_PORT scsi.c --- disable DEBUG_PORT bbb-scsi.h --- comment version.h --- ver.0.19 HDL: top.v --- ver.0x22, assign FMON[1], change in/out declaration style of module top and add end_ pin, use logical AND (&&) in conditional, renamings, clean, comments top.ucf --- add "end_" pin as P40, add comment bit2mcs.cmd --- change target device to xcf01s, add comment win: toolbase2.c --- switch to USB transfer test by command line argument ========================================================================= 2012.05.13 use DIB to draw (very faster !) [019] win: tgraph.c --- add DR_POINTS2, which uses stretchDIBits() toolbase2.c --- use tg_points2() arm: none HDL: none ========================================================================= 2012.05.13 move wvgaC.exe base to toolbase2 [018] win: move base to toolbase2 (draw trigger by message, no more Sleep()) arm: none HDL: none ========================================================================= 2012.05.12 (doing misc trial for the future) once register [017] arm: none HDL: top.v --- ver.0x21, no more need external 24MHz, etc. Makefile --- add clean target win: tgraph.c --- add DR_RECTF2 to test speed up, SLEEP_Nmsec option toolbase.c --- try tg_rectf2() ========================================================================= 2012.05.09 try to use LPC2148's D/A and FPGA-clock-from-LPC2148-PWM2, etc. [016] 11HDL-spec.txt --- correct clocks, think again about clocks, etc. HDL: ipcore_dir/a_pll2.xaw --- added, PLL 126MHz from 18MHz ipcore_dir/a_pll.xaw --- (shall be PLL 126MHz from 24MHz) top.ucf --- CLK18M added top.v --- ver.0x20, add a_pll2(18MHz->126MHz), select to use one of them Makefile --- add cleans files about a_pll2 arm: fpga.c --- added, has PWM control to generate 18MHz clock, initial_bus(), write_fpga() and read_fpga() are moved here, D/A control also added, etc. fpga.h --- move BUS_XXX(from vconsole.c) and F_XXX(scsi.c) here, FPGA_TEST added vconsole.c --- codes to access FPGA are moved into fpga.c, control for FPGA-RESET and clock-from-PWM2 added, cleans, etc. scsi.c --- enable FPGA-18MHz-clock from PWM2 wire, set LPC2148's D/A parallelly, remove LED control, comments, etc. common.h --- LED_MON on P0.4, LOOP_WAIT_1msec updated, 36MHz+36MHz settings on default position periph.c --- correct MON_LED(+STAT_LED) control, remove unused, comments, etc. main.c --- correct openning message, use LED_STAT, select FPGA monitor from debug console Makefile --- fpga.c added, cleaned bbb-scsi.h --- only comment version.h --- ver.0.18 ========================================================================= 2012.05.06 double buffer method both drive side and drawing side [015] arm: 00memo.txt --- scsi spec modified periph.c --- process B3S_SEND_CSW also in interrupt scsi.c --- remove CATCH_CAP_DONE_by_INTR as 1, implement double buffer version.h --- ver.0.17 win: sptifunc.c --- db_mode handling in spti_vgac_capture() toolbase.c --- USE_DOUBLE_BUFFER_CAPTURE for drive side db function, DRAW_RECTF to switch scan position indicator, etc. tgraph.c --- COPY_FRAME_BUFF to achieve drawing side double buffer ========================================================================= 2012.05.06 connect RESET to all unit, etc. [014] HDL: top.v --- ver.0x19, think and connect RESET to all unit clean about CK126MHz and etc. Makefile --- memo some objects to clean arm: vconsole.c --- remove initial_capture_unit_for_usb(), remove read_bus(), write_bus(), add toggle_reset() scsi.c --- call initial_bus() directly main.c --- display scsi version in openning message version.h --- ver.0.16 ========================================================================= 2012.05.05 system param changed, FPGA runs on 126MHz, ARM runs on 36MHz+36MHz [013] 11HDL-spec.txt --- add CK126MHz changes, some correction arm: common.h --- clock-up: 36MHz+36MHz vconsole.c --- in get_status, adapt CK126MHz and etc. version.h --- ver.0.15 HDL: top.v --- ver.0x18, CK126MHz, correct n_dots as 11bits win: toolbase.c --- adapt decode_vga_status() for CK126MHz, auto-line_size correction when PACKx changed ========================================================================= 2012.05.05 use timer1 to get capture timeout, etc. [012] arm: 00memo.txt --- modified for double buffer Makefile --- add timer1.c, remove timer0.c timer1.c --- added, to measure capture timeout periph.c --- remove timer0 related, and LED_STAT scsi.c --- use timer1 to get capture timeout, etc. version.h --- ver.0.14 ========================================================================= 2012.05.05 fix EINT3 problem, tek_n_logs/ is ready [011] arm: main.c --- change stack dump address scsi.c --- fix EINT3 problem (gcc bug against intr handler) version.h --- ver.0.13 (arm/y-tek, arm/y-uart-1st, arm/yy-umass-1st, (win00/y-umass-1st, win00/yy-speed-up01, win00/yyy-speed-up02 ( are moved into tek_n_logs/ ========================================================================= 2012.05.04 try to use interrupts... but something is wrong [010] arm: periph.c --- handle data transfer in intr, refine scsi initial path and add scsi polling entry scsi.c --- catch capture done by intr, refine scsi initial, add scsi polling function @@@ something is wrong ! @@@ version.h --- ver.0.12 win: toolbase.c --- dump when capture header is wrong ========================================================================= 2012.05.04 prepare to use intr for speed up, etc. [009] HDL: top.v --- ver.0x17, expand addr bus width of capture unit, pass CS_FINISH when terminated, renaming, comments arm: vconsole.c --- make read_fpga()/write_fpga() fast scsi.c --- add small_buff[], comments, etc. bbb-scsi.h --- comments only version.h --- ver.0.11 win: toolbase.c --- use DO_USB_TRANSFER_TEST macro ========================================================================= 2012.05.03 misc for demo movie, usb transfer test [008] HDL: none arm: main.c --- see P0.11 for boot mode, common.h --- code to try other clocks scsi.c --- only comments version.h --- ver.0.10 win: toolbase.c --- modify initial params for demo, usb transfer test ========================================================================= 2012.05.02 PACKx fixed, etc. [007] 11HDL-spec.txt --- PACK fixed HDL: top.v --- ver.0x16, grb vshs connections, new PACKx, default connection width is 8, etc. arm: scsi.c --- adapt new PACKx, shorten timeout dscr.h.S --- bMaxPower, string vgaC periph.c --- disable a warning version.h --- ver.0.09 win: tgraph.c --- adapt new PACKx toolbase.c --- adapt new PACKx, refine process, etc. ========================================================================= 2012.05.01 add filter on VSYNC/HSYNC [006] 11HDL-spec.txt --- DFIL in TEST reg HDL: top.v --- ver.0x15, add slow clock divider, sync signal moderator, etc. arm: none win: none ========================================================================= 2012.05.01 "no-even n_dots" problem fixed, etc. [005] 11HDL-spec.txt --- I_ENABLE, TEST modified arm: vconsole.c --- adapt new SYNC_STAT version.h --- ver.0.08 HDL: top.v --- ver.0x14, "no-even n_dots" problem fixed, I_SENSE, I_ENABLE, VGA_STAT, TEST implemented, cleans win: tgraph.c --- expand graph are, resizable, fix misc draw functions toolbase.c --- improve misc misc misc ========================================================================= 2012.05.01 pack8 is fully supported [004] 11HDL-spec.txt --- thinking about PACKings arm: none HDL: top.v --- ver.0x13, complete clean up's only (top.v.12+0 --- intermid source, generates same mcs as 0x12) win: toolbase.c --- display frame rate, update v_max_line only stable ========================================================================= 2012.04.30 pack8 is fully supported [003] 11HDL-spec.txt --- updated arm: fpga.h --- added scsi.c --- use fpga.h, pack8 supported, calc data_len before wait, etc. vconsole.c --- use fpga.h version.h --- 0.07 HDL: Makefile --- improve cleaner top.v --- ver.0x12, pack8 fully supported win: fully rewrited, now become a good tool win: fpga.h --- added Makefile --- dependencies toolbase.c --- use fpga.h, auto-search vgaC drive, etc. ========================================================================= 2012.04.29 wvga.exe fully refined, can be used as expriment console [002] arm: none HDL: none win: fully rewrited, now become a good tool ========================================================================= 2012.04.29 fix version management method, misc small changes [001] arm: version management method fixed, VER.0.06 cdb_vgac_get_info() returns all 32 register values HDL: registered as VER.0x11 win: confirm thread sync, display FPGA/arm buffer size ========================================================================= 2012.04.29 first registeration, project transfer done [000] arm: HDL: win: =========================================================================