IMPROVED METHOD OF STORAGE AND RETRIEVAL OF INFORMATION STORED ON VIDEO MEDIA

Abstract: Method and apparatus for the storage and retrieval of data records capable of being displayed on a television receiver. Video signals are generated from the records to be stored by means of a television camera or other video signal source and are written on to a video record medium such as a video tape or a laser disk, and there is inserted into the frame blanking intervals of each record so stored an index code or address uniquely identifying that record. Retrieval is by inputting the index code of a stored record, the apparatus then searching for the record having that index code within its frame blanking intervals, reading it off the record medium and displaying it.

Description: IMPROVED METHOD OF STORAGE AND RETRIEVAL OF INFORMATION STORED ON VIDEO MEDIA This invention relates to a method of storing and retrieving information stored on video media. As far as we are aware, there is no prior system available which can store and retrieve individually addressed frames of information in the form here described. There are various forms of video editing device, but these do not address themselves to the same problem - that of being able to access specific data, in pictorial, graphic or text form, or a combination of these. There are also the various forms of teletext, whereby information is transmitted in the frame blanking, interval of a television signal to be decoded at the receiver into a page of text or very low resolution graphics. It is an object of the present invention to enable a page or picture to be stored with the only limiting f ctor being that of the means of recording. At the present time, the use of low cost half inch helical scan video recorders results in'a bandwidth of approximately 2.8 Mhz which is more than adequate to display a high resolution picture. A laser disk system could also be employed in the same role provided a record facility is available. According to the invention, a recording, of data, capable of being reproduced on a television receiver, is made under the control of a computer and during the recording of each item there is inserted, in the frame blanking interval, a unique code which is the address or index of that particular item of information. In the preferred embodiment, the index code is recorded on both the odd and even fields of the video signal, which is derived from a colour camera or other video source. The code is recorded during the period of one line, excluding sync periods, and may consist of 8 binary ' digits of header and 16 binary digits of code. This code of three, eight binary digit words is recorded in a synchronous non-return-to- zero form directly on to the video signal at a rate of approximately 554.2K bits/sec. This allows 5μS sync, 5μS porch, before and after the signal which occupies 43.3μS. There has, so far, proved to be no need for the application of any further modulation techniques to the code signal. This is primarily because the D.C. component of the code signal is preserved by the frequency modulation techniques inherent in the video recording process. Protection against tape damage may be achieved by repeating the data and address code twenty times, i.e. by creating twenty fields of the same data and code. This allows, at such a level of redundancy, a storage capability of 4,500 records on a 60 minute tape. Changing the field redundancy to 10 fields would, of course, result in the capacity being doubled to 9,000 separate records. Using a standard 3 hour tape at the twenty field redundancy level would allow 13,500 records to be stored. With a one hour laser video disk where there is no wear of the storage media a full 90,000 records could be stored there being no arequirement for any redundancy. Theindexcodesmaybein numericalseries. An indexed tape may consist of a leading 200 dummy records indicating start, 4,500 actual data records, and 200 dummy records indicating end. The above indexed tape is produced under the control of an external microcontroller or timing device the camera or other video source supplying the synchronising information to the microcomputer. To access an individual record, on an indexed tape, all that is required is to enter the index code of the required record via a keyboard. The software reads from the tape the index code of the record currently present and compares it to the entered index code by subtraction of one from the other. If the result is positive, the recorder is switched into its fast forward mode and pulses from the reel tables are read for a duration substantially proportional to the result of the subtraction. Should the result of the subtraction be negative, the recorder is instead switched into the rewind mode and pulses from the reel tables are again read for a duration substantially proportional to the result. Some five records before the requested record, the recorder is caused to pause and another comparison is made; comparisons then continue record by record. When a match is found between the entered index code and the index code of the record currently present. the recorder transport is stopped and the required record is displayed. After a delay of three minutes, the recorder is switched into its waiting state, i.e. the tape is unlaced. This is to prevent damage to the data and to protect the record/playback heads in the recorder. This would not be required in a laser disk system as there is no contact between the storage media and the reading device. Particular arrangements for carrying the invention into effect will now be described by way of example and with reference to the accompanying drawing, which is a circuit and block diagram of the system. Referring to the drawing, a standard Z-80 micro¬ computer 11 is used as the controller. Address and data busses 12, 13 are buffered by tri-state ' buffers 14, 15. The address bus is routed to a port decoder 16, a R.O.M. address decoder 17, a Z-80 serial port device (S.I.O.) 18 and two Z-80 parallel port devices (P.I.O.) 19A, 19B. ' The data bus 13 is routed to the R.O.M. 20, the S.I.O. 18 and P.I.O.s 19A, 19B. An unbuffered control bus is also provided to supply the above devices. The bus buffers 14, 15 comprise 74LS245 standard octal non-inverting tri-state buffers, two for the address buffer and one for the data buffer. This choice was made having regard to low input loading, large input hysteresis, low port-to-port propagation delay time (8ns) and easy board layout design. All the TTL integrated circuits are of the LS type to reduce the demand on the power supply; it is not possible to use the power supplies of the video recorder due to the number of integrated circuits employed. The address 5 buffers 14 have their direction gate input- pin 1- tied to the +5V supply as the address bus is unidirectional. The data bus 15, however, has its direction gate input 22 connected to the NORed outputs of the port and R.O.M. address decoders 16, 17 this providing a DIR signal for the 10 bidirectional data buffer also to allow interrupts to control bus direction. The available port addresses are:- . S.I.O. 18- 20-23 hex P.I.O. 19A- 24-27 hex 15 P.I.O. 19B- 28-2B hex As all of these integrated circuits have their own internal control registers, address line A1 is used for the A/B port select, address line A0 for the Control/Data select and address lines 7-2 for the ports select. 20 The port decoder 16 consists of a 74LS138 3 to 8 line decoder 24, a 74LSOO quad 2-input NOR gate 25, and a 74LS27 triple 3-input NOR gate 26. The operation of the port decoder is as follows. Address lines A2-A5 are applied to the inputs of the 74LS138 decoder 24 together with A6-A7 via the 25 74LS27 NOR gate 26. Also applied is signal IORQ, the ports being required to lie within the Z-80 I/O address space for faster block transfer. The outputs of the 74LS138 decoder Y0-Y3 are directly used as a CS signal for the port devices 18 , 19A, 1 9B. The R.O.M. 20 is a 2732 eprom and occupies address space DOOO-DFFF hex. The R.O.M. decoder 17 consists of three TTL integrated circuits - a 74LS138 3 to 8 line high speed decoder 27, a 74LSOO quad NAND gate 28, and a 74LS27 triple NOR gate 29. Address lines A12-A14 are ^ connected to.the three binary select inputs of the decoder 27. Address line A15 is connected to enable input G1 while a signal MREQ is connected to the G2A G2B enable inputs. The output is taken from the Y5 output and is then used as signal CS " for the R.O.M. 20. Examination of the binary pattern on A12-A15 will show that using the Y5 output results in a select signal over the correct address range, DOOO-DFFF. In addition should further R.O.M. space be required it is a very simple matter to take CS signals from Y5-Y7. The Y5 signal is also inverted by a NAND gate to be NORed with the port CS to produce the data buffer DIR signal. The serial port 18 consists of one half of a Z-80 S.I.O. device with two 74LS74 flip flops 41. The Z-80 S.I.O. device 18 is basically a serial/parallel decoder although it is, in fact, a powerful integrated circuit containing its own control registers (see Z-80 S.I.O. Technical Manual Zilog) . It is configured to be in its synchronous mode using FF Hex ' as the monosync word. The data is transferred to the S.I.O. using the OTIR instruction of the Z-80 after the frame sync pulse is detected. The data is held until CTS goes low; this signal is derived from the line sync conditioner circuit. When the internal data TX buffer of the S.I.O. is full the WAIT line is pulled low stopping further transfer of data until the buffer again has space. When CTS goes data is transferred to a 74LS14 hex inverter 36 which inverts the signal which is then fed into the video path. The signal is inverted to place the sync word FF at black level. During receive mode the frame sync pulse is detected from the playback video signal and the above process is. reversed and using a CMOS4049 hex inverter 31 the signal is inverted and fed to the RX input of the S.I.O. 18 where when DCD is low it is fed into its input buffers. Using the INIR command of the Z-80 the S.I.O. 18 reads the incoming data stripping off the leading FF Hex header, this data being stored in a temporary buffer in memory where it is then converted into the required delay for search purposes. The devices used as the dual parallel ports 19A, 19B are Z-80 P.I.O. integrated circuits (see Z-80 P.I.O. Technical Manual Zilog) . Port A of each P.I.O. is configured as an input and port B as an output with the following bit assignments. P.I.O. 19A Port A Bit 0 = F/S Sync in active high Bit 1 = L/S Sync in active low Bit 2 = CTL Track pulse active low Bit 3 = Pause L.E.D. in active low Bit 4 = Rec mode rdy in active low Bit 5 = Pause mode rdy in active low • Bit 6 -= Reel table pulse Bit 7 = Head switch pa mode rdy playback Port B Bit O = Rewind output Bit 1 = Stop output Bit 2 = Fast forward output Bit 3 = Pause output Bit 4 = Record output Bit 5 = Play output Bit 6 = Slow advance output Bit 7 = Micro/VCR video switch output P.I.O. 19B Port A. Bit O = Ext comp rdy active low Port B Bit O = Ext comp active high Bit 1 = Supress erase Bit 2 = Alarm As can be seen from the above list, the VCR is controlled by Ports A and B of P.I.O.s 19A and 19B. It is necessary to synchronise the sending of data into the video signal at line time. To this end, a line sync conditioning circuit 32 is provided. This comprises two 74LS161 synchronous 4 bit binary counters 32A, 32B connected together in such a manner that using extended delayed frame sync from 74LS123 dual monostable network 23 as a load signal and extended delayed line sync pulses from network 23 as a clock signal, a signal is produced which is synchronised to the system clock divided by 2, this signal now being the CTS signal for the S.I.O. 18. This CTS signal consists of sixteen low pulses as a block some sixteen line periods after the frame sync pulse. It is during this time that the S.I.O. 18 can send its data. The dual monostable network 23 is fed with signals from the VCR via transistor networks 41 and 42 and a quad NAND gate 21. To switch the display from that of the microcomputer to that of the video recorder automatically, there is provided a CMOS 4066 quad switch 35. A signal is sent from PB7 to a BC 107 transistor 40 and one pair of switches of the quad switch 35. The inverted signal is then applied to the other pair of switches of the quad switch 35. In this way it is possible to switch the video output at will. The video storage device may require isolated switching, e.g. when the internal micro controller uses a strobed keypad. Two 4066 quad switch integrated circuits 39 are employed for this function. The switched outputs are applied across the contacts of the relevant switches in the io_ video storage device. The CTC device 33 is not used in the apparatus as described but is provided to enable the apparatus to be interfaced to another machine. Although in the arrangement described the apparatus has exclusive use of its own microcomputer, facility for interrupts is available in the event that the apparatus is instead arranged to share, for example, a minicomputer that is also performing other tasks. The programme for the host microcomputer 11 forms an appendix to this specification. The system described will operate with inexpensive video storage devices of the home video type and it will handle pictorial information at a high packing densit -with a rapid read time. It identifies the information on a frame basis and not on ' the audio channel. It will, of course, handle text and graphics in addition to pictures; but it is principally in the field of picture storage and retrieval that there has hitherto been a problem. Although the particular arrangements described above imply use of a video tape recorder, there are no specific limitations within the concept of the invention which prevent its use with any system which can record a video signal. Thus it is intended that the use of laser/optical disk systems with read/erase/write facilities shall be within the scope of the invention. The process of indexing individual frames, in the frame blanking interval, can be applied to any method of recording a video signal; e.g. "phase change' wherein the phase of a material such as tellurium suboxide doped with germanium-indium-lead is altered from its highly reflective crystalline phase to its low reflective amorphous phase under the effect of a low powered laser beam; 'magneto- optical' wherein domains of reversed magnetisation are created under the action of an applied vertical magnetic field in conjunction with a laser beam which raises temp¬ erature locally past the Curie point of the base material- terbium + iron-gadolinium-bismuth. In the latter case the altered magnetic domain can be read as an altered rotation of a beam of polarised light. Yet another form of laser disk may employ polymer-dye technology. The actual methods employed to store and retrieve video signals are in themselves of little importance as the system according to the invention operates on the video signal and does not depend on the media used to store that signal. Modifications can readily be made to accomodate the fact that tape is basically a linear storage medium whereas information on laser/optical disks is laid on in a spiral form. Thus whereas in the present implementation, distance between records is a function of record length, in a laser/optical disk system distance between records will consist of an angular computation based on the present location of the reading/writing device and the position of the next record required to be viewed. This gives a considerable advantage in access time, that is to say the time to acquire a new record, as it is no great task to reposition a lightweight read/write device. The hardware required will, in general, already be present in the laser/optical disk system, and a suitable interface between the existing control electronics in the laser/optical disk system and the system described herein can readily be provided. There is already in the system described spare capacity for this purpose. Dec 02, 1984 CROMEMCO ZSO Macro Assembler version 03.04 VIDEOBASE MKII VERSION VBløll D.Q.BLACKBURN VBløll.ZSø OO03 THIS IS STORED IN ROM VB1Θ11. 0004 5P0RT ADDRESSES (0020) 0OO5 SIOAD εαu 020H (Θ021) OO06 SIOAC EQU Θ21H (0022) 0007 SIOBD EQU 022H (0023) 00O8 SIOBC EQU 023H 0OO9 (0024) OOIO PIOAD εαu 024H (0025) 0011 PIOAC EQU 025H (0026) 0O12 PIOBD EQU 026H (0027) 0013 PIOBC εαu 027H 0014 (Θ028) O015 PI01AD EDU 028H (0029) 0016 PI01AC EQU 029H (002A) 0017 PI01BD EQU. Θ2AH (002B) 0018 PI01BC EQU 02BH 0O19 (O02C) 0O20 άτco EQU 02CH (002D) 0021 CTC1 EQU 02DH (O02E) O022 CTC2 EQU 02EH (002F) 0023 CTC3 EQU 02FH (0040) 0024 KPORT EQU 040H 0O25 øø26 0027 0028 NOTE THIS IS SYNCHRONOUS TX-RX ( MONOSYNC ) SYNC CHAR=FF 0029 0030 NOTE RAM SPACE 20Θ0-BFFFH Θ031 (2000) 0Θ32 DATA1 EQU 020OOH 5USE OFFSET FROM HERE (2001) 0033 DATA2 EQU O2O01H (2002) 0034 DATA3 EOU 02002H (2Θ03) 0035 DATA4 EQU 02003H <2'.'04> 0O36 DATA5 EDU 02OO4H (2005' 0037 DATA6 EQU Θ2005H (2006) 0038 DATA7 EOU 02006H START ADRS (FOt'O) 0039 SCREEN EOU 0F000H ;SCREEN (2007) (.040 TIME EQU 02007H -FARM PASS FOR DELY -KEY STORE 16 BIT (2009) 0041 KEY EQU 02009H (200B) 0O42 TEMP EQU O200BH ; ESULT OF KEY CALC -RES OF BCD>BIN C Q NVRT (200D) Oø43 TEMPM EQU 0200DH (2t*0F) 0044 BUFFER EOU 0200FH (2017) 0045 READ1 EQU 02017H (2019) 0O46 COUNT EQU 02O19H (201B) «J047 SCT EQU 0201BH (F1C6) øø48 SCRT EQU 0F1C6H (F17A) 0049 PRESNU EOU 0F17AH (201D) OO50 FLAGS EQU 0 01DH (201F) 0051 NUMFLD EQU 0201FH (2021) 0O52 KBCD EQU 02021H 0053 0054 (1000) O055 ORB lOOOH 0056 1000 (00 8) 0057 DS 38H O058 lø33 5E 0059 PRINST LD E, <HL) ;ENTR SOURCE IN HL l«"ι39 23 0060 INC HL 103A 56 0061 LD D, (HL) ;PICK UP SCRN LOC IN DE 1Θ3B 23 0062 PRNT1 INC HL 5FROM TXT TABLE 103C 7E 0O63 LD A. (HL) iGET 1ST CHAR 103D FEFF 0Θ64 CP A.OFFH ;FF DELIMIT CHAR 103F 2804 0065 JR Z.ENO 1041 12 0066 LD (DE),A 1042 13 0067 INC DE 1043 18F6 0068 JR PRNT1 1045 23 0069 ENO INC HL ;POINT NEXT TXT 1046 C9 0fc>70 RET 0071 1047 Oø 0072 TABLE DB 00 ■ LINE STRT ADRS 1048 00 0073 DB 00 1049 00 O074 DB 00 104A Fl 0O75 DB OFIH 104B 4A 0076 DB 04AH 104C 13 0077 DB 01 1-i 104D Fl 0078 DB OFIH 104E 6A 0079 DB 06AH 104F 11 ( .080 DB θl1H 105O Fl 0O81 DB OFIH 1051 8A O082 DB 08AH - SUBSTITUTE SHEET CROMεMCO Z80 Macro Assembler version Θ3.04 Dec 02, 1984 VIDEOBASE MK'II VERSION VB1011 D.G.BLACKBURN VBlθll.ZSO 1052 lθ 0083 DB Θ1ΘH 1053 Fl 0084 DB OFIH 1054 AA 0ΘS5 DB OAAH 1055 iø 0086 DB 010H 1056 Fl O087 DB OFIH 1Θ57 CA Θ088 DB OCAH 1058 OE 0Θ89 DB OΘEH 1059 Fl 009O DB ΘF1H 105A EA 0091 DB OEAH 105B OC 0O92 DB OøCH 1Θ5C F2 0Θ93 DB 0F2H 105D OA 0094 DB OΘAH 105E 06 0Θ95 DB O06H ft< ** <.6 105F 210OE0 Θ097 MONBAK LD > HL, OEΘøθH ;MONITOR ROM STRT ADRS 1062 lløøøø ΘΘ9S LD DE ' . OΘøθH .RAM BOTTOM 1065 O10O08 0Θ99 LD BC 08O0H JLEN OF ROM 1Θ6S EDBO Oløø LD IR " 5M0VE IT BACK FOR DEBUG 106A C9 øløl RET O102 01Θ3 106B CDBC14 01O4 MENU CALL PIOINIT 106E 3EO0 01O5 LD A,θø 1Θ70 D326 01Θ6 OUT XPIOBD) ,A :SWITCH VCR SCR - MICRO 1072 321D20 01O7 LD (FLAGS),A 5ZERO FLAGS 1075 CD6A12 Θ1Θ8 CALL CLS 1078 CD5E12 01O9 CALL RELOC 107B CD501 OHO CALL LOGO 107E FF ølll RST 38H 107F FF 0112 RST 38H 108O FF øl13 RST 38H 1081 FF 0114 RST 8H 1082 FF 0115 RST 8H 1083 FF 0116 RST 38H 1084 FF 0117 RST 3SH 1085 FF 0118 RST 38H 1086 FF 0119 RST 38H 1Θ87 DD214710 Θ120 LD IX,TABLE 108B CD8212 0121 QUAY CALL GETKEY 108E 28FB 0122 JR Z.QUAY 1090 E67F 0123 QUY AND A.07FH 1092 FE3Θ Θ124 CP A.03OH 1094 38F5 Θ125 JR CQUAY 5 CHAR TOO LO 1096 FE38 Θ126 CP A.038H 1098 30F1 0127 JR NC.QUAY . CHAR TOO HI 1Θ9A E60F 0128 AND A;OFH 109C DD21 710 0129 LD IX,TABLE ! RESεT IX TO STRT lθAO 47 ©130 LD B.A . B NOW HAS LINE COUNT 10A1 DD23 Θ131 NEXX INC IX 10A3 DD23 0132 IMC IX 10A5 DD23 0133 INC IX 5 MOVE DOWN TABLE B TIMES 10A7 1ΘF8 0134 DJNZ,NEXX 10A9 DD6600 0135 LD H, (IX+ø) . ADRS HI løAC DD6E01 ©136 LD Li (IX+1) j ADRS LO 10AF DD4602 0137 LD B. (IX+2) iSTR* COUNT 10B2 CBFE 0138 SI SET 07, (HL) IMAKE INVERSE 10B4 23 0139 INC HL 1ΘB5 10FB 0140 DJNZ SI 10B7 47 0141 LD B.A 1ΘB8 C5 0142 PUSH " BC i SAVE OUT 'A' VIA B 10B9 CD8212 0143 QU CALL GETKEY 1ΘBC 28FB 0144 JR Z,QU løBE FEOD Θ145 CP AiODH i 0D=CR 1ΘCΘ Cl 0146 POP BC [ RECOVER 'A' VIA BC iOCl 2810 0147 JR ZjGOTIT 1ΘC3 DD66O0 0148 LD H, (IX+O) 10C6 DD6E01 0149 LD L. <IX+1) 1ΘC9 DD4602 015O LD Si (IX-s-2) iøCC CBBE Θ151 RESET RES Θ7, <HL) i MAKE IT NORMAL 1ΘCE 23 0152 INC H løCF løFB 0153 DJNZ,RESET 1ΘD1 18BD 0154 JR QUY ;G0 BACK AGAIN 10D3 78 0155 GOTIT LD A.B 10D4 FEOt 0156 CP A,øl 10D6 CA6511 Θ157 JP Z,SEARCH 1ΘD9 FE02 0158 CP A,Θ2 løDB 2815 0159 JR Z,SERNAM 10DD FE03 Θ160 CP A,03 løDF 2838 0161 JR ZiEDIT 10E1 FEΘ4 0162 CP A,04 15 CROMεMCO Z80 Macro Assembler version 03.04 Dec 02, 1984 VIDεOBASE M II VERSION VB1011 D.G.BLACKBURN VB1011.Z80 TCΘ-GEN DELY CALLING CROMEMCO Z80 Macro Assembler version Θ3.04 Dec ø2, 1984 VIDEOBASE MKII VERSION VBlOll D.G.BLACKBURN VB1Θ11.Z80 {INIT CTCø {HI VECTOR {HI VεCTOR TO » I'REG {ZERO 'A' {LO VECTOR TO CTCø {CTL WORD {ø=- * 256 FOR T/CONST {SERV ROUTINE ADRS HI {SERV ROUTINE ADRS LO E BC '*BMS {B5=*CTRL WORD {7D-8 MILLISEC {WAIT HERE UNTIL BC«Θ {Θ3-ST0P CTC {LEN OF ROM {DEST ADRS {SOURCE ADRS {NO OF LINES {NO OF CHRS/LINE {PORT Θ-KEYB0ARD {STROBε IN C/F {STORE KEY IN TEM {KEY IN A Z/FLAB IF KEY {ENTER MULIPLR IN BC {MULTIPND IN DE {MULTPLR A*LO C=HI {COUNT 16 {SHIFT RGHT MPR HI {ROT RGHT MPR LO {TST CARRY {+MPD TO RESLT {DBLE SHFT MPD LEFT CROMEMCO Z8Θ Macro Assembler version 03.Θ4 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VB1Θ11.Z8Θ {SET RESULT IN BC VIA STACK {DIVIDEND IN BC {DIVISOR IN DE {C0UNT *** 16 {ROTATE ACC RESLT LEFT {LEFT SHIFT {TRIAL SUB DIVSR {SUB OK {RESTORE ACC {SHIFT IN LAST RES BIT {RESULT IN BC {ENTER WITH CHAR IN A {SCREEN LOC IN HL {EXITS HL+1 {SCREEN ADRS {PRINTS 'TIME' f'FF'USED AS DELIMIT «e RET {SCREEN ADRS {SCREEN ADRS Dec Θ2, 1984 {SCREEN ADRS CROMEMCO Z8ø Macro Assembler- version Θ3.Θ4 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VBløll.ZSø {TIME OUT {CONT CROMEMCO Z80 Macro Assembler version Θ3.04 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VBløll.ZSø ZERO CROMEMCO Z8ø Macro Assembler version 03.04 Dec 02, 1984 VIDεOBASE MKII VERSION VBløll D.G.BLACKBURN VB1Θ11.Z8Θ .5 MHZ CROMEMCO Z80 Macro Assembler version 03.Θ4 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VBløll.Z80 E CROMEMCO ZSO Macro Assembler version 03.Θ4 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VB1011.ZSO 25 CROMεMCO ZSΘ Macro Assembler version Θ3.Θ4 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VBløll.ZSO {X 15 THIS FOR WIND TIME {X 4Θ MS=6øθMS {THIS IS PAU PICK UP DELY {THIS IS S/ADV DELY IS FF PICK UP DELY {THIS FOR REW ONLY {IN CASE OF θ {TEST THIS FOR DELY {X 40 MS {REW PICK UP DεLY {THIS IS DELY & KEYBRD SCAN {GET OUT IF KεYPRESS I >CIIHUCK WASTEfl BC£ FIIROM STIIK ) {THIS CNVRTS BCD TO ASCII j! PRNTS IT {ZERO LFT NIBBLE {MAKE ASCII {PRNT IT CROMEMCO ZSO Macro Assembler version Θ3.04 Dec 02, 1984 VIDEOBASE MKII VERSION VBlOll D.G.BLACKBURN VBlOll.Z80 171F C9 1123 RET 1124 1125 1126 1127 1720 DB24 1128 PAUsε IN A, (PIOAD) 1722 CB7F 1129 BIT 7,A { IS PA MODE RDY 1724 20FA 1130 JR NZ;PAUSE {ACTIVE LOW 1726 C9 1131 RET 1132 1727 0601 1133 INCRεC LD B.01 :NUM OF FRAME Al 1729 3E40 1134 INCl LD A. 4 ;64=BIT6=_3L0/AD< 172B D326 1135 OUT (PIOBD),A 172D C5 1136 PUSH BC 172E CDF114 1137 CALL DELY4 1731 Cl 1138 POP BC 1732 3E00 1139 LD A,00 1734 D326 1140 OUT (PIOBD),A 1736 C5 1141 PUSH BC 1737 CDF114 1142 CALL DELY4 173A Cl 1143 POP BC 173B lOEC 1144 DJNZ INCl 173D C9 1145 RET 1146 173E 3A1B20 1147 CTS LD A, (SCT) 1741 0E2B 1148 LD C.02BH 1743 3D 1149 DEC A 1744 28Θ9 1150 JR Z,CTS1 1746 FD23 1151 INC IY 1748 FD710O 1152 LD (IY+0),C • 174B .321B20 1153 LD (SCT), 174E C9 1154 RET 174F 3E20 1155 CTS1 LD A.20H 1751 0623 1156 LD B ' ,35 1 53 21C6F1 1157 LD HL.SCRT 1756 77 1158 CTS2 LD (HL),A 1757 23 1159 INC HL 1758 10FC 1160 DJNZ CTS2 175A 3E17 1161 LD A.23 175C 321B20 1162 LD (SCT),A 175F FD21C6F1 1163 LD IY,SCRT 1763 C9 1164 RET 1165 5 1764 DD7E00 1166 BCDCHK LD A, (IX) 1767 E60F 1167 AMD A,OFH 1769 FEOA 1168 CP A,OAH 176B F27C17 1169 JP Pi,BCDOUT 176E DD7EΘΘ 1170 LD Ai (IX) 1771 CDCA15 1171 CALL ' SHIFT 1774 E60F 1172 AND A.OFH 1776 ' FEOA 1173 CP A.ΘAH 1778 F27C17 1174 jp p BCDOUT • 177B C9 1175 RET ' 177C Fl 1176 BCDOUT POP AF {LOSE RET 177D C3D717 R 1177 JP N TBUF 11 8 1179 * 1780 3A1A20 1180 NXTBUR LD A, (COUNT+1) 1783 FE30 1181 CP A ' ,30H 1785 CA8F17 R 1182 JP Z ' .ESC 1788 3C 1183 IMC A 1789 211A2Θ 1184 LD HL.COUNT+1 178C 77 1185 LD (HL),A 178D 1848 11B6 JR NXTBUF 17SF 11 CFF 1187 ESC LD DE.-lOø 1 92 ED53Θ720 1188 LD (TIME),DE 1796 C35E1S 1189 JP TRWND {GOTO REWIND 1190 1799 CD4F17 1191 SUBST CALL CTS1 179C 3EΘ1 1192 SUBS LD A,θl 179E 321920 1193 LD (COUNT),A 17A1 3E0Θ 1194 LD A,ø 17A3 321A20 1195 LD (C0UNT+1),A {ZERO ERR COUNT 17A6 CD2Θ17 1196 CALL PAUSE 17A9 CD6616 1197 SUBS1 CALL RXTST 17AC CD3E17 1198 CALL CTS 17AF CDFC16 1199 CALL BCDASC 17B2 A7 1200 AND A {CLEAR C FLAG 17B3 DD210F2Θ 1201 LD I ,BUFFER { 17B7 CD6417 1202 CALL BCDCHK CROMEMCO ZSΘ Macro Assembler version 03.04 Dec Θ2, 19Θ4 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VBløll.ZSO {4ΘH-4Θ99 REC NO MAX {HIGH PART OF PAGE NO {64=BIT6=SL0/ADV {GET KEY VALUE 16 BIT BIN {GET TAPE VALUE " " {SUB TAPE FROM KEY {STOR RES @ 'TIME' {THIS IS ONLY EXIT BACK i.CLEAR C/FLAG {50 IS MiN FOR ACTDON {SUB 5Q FROM' TIME DE FROM HL) {FAST WIND {IF POSITIVE { IF MINUS NORM WIND CROMEMCO ZSø Macro Assembler version 03.04 Dec Θ2, 1984 VIDEOBASS MKII VERSION VBløll D.G.BLACKBURN VBløll.Z8Θ 1363 1364 19ΘF A7 1365 REWIND AND A {C/C/F 1910 2A0720 1366 LD HL, (TIME) 1913 lEθl 1367 LD E.θl 1915 16Θ0 1368 LD D;ΘØ 1917 ED52 1369 SBC HL.DE { IS TIME <«1 1919 28ES 1370 JR Z,RINC 1918 FA0319 1371 JP M.RINC 191S 3E01 1372 REWIN1 LD A,01 JΘ1---BITΘ-REW 1920 D326 1373 OUT (PIOBD),A 1922 112ΘΘ0 1374 LD,DE,2ΘH {(ONST FOR REW TAKE UP 1925 CDE3I8 1375 CALL TMCON 1928 CDC 1S 1376 CALL CTLTM 192B 3EO0 1377 LD A,øθ 192D D326 1378 OUT (PIOBD),A 192F C39C1 1379 JP SUBS 138Θ . 1381 1382 { 1932 3EΘ2 1383 STOP LD A,02 {THIS IS STOP ROUTINE 1934 D326 1384 OUT (PIOBD),A 1936 C9 1385 RET 1 37 00 1386 PPAU1 NOP {THIS IS PLAY/PAUSE 1938 3E2Θ 1387 LD A, 2 I32-BIT5-PLAY 193A D326 1388 OUT (PIOBD),A 193C CDDB14 1389 CALL DELY2 193F 3E08 139Θ LD A,08 {Θ8*«BIT3=PAUSE 1941 D326 1391 OUT (PIOBD),A 1943 DB24 1392 PLAPA IN A, (PIOAD) 1945 CB5F 1393 BIT 3,A {CHECK PAUSE 1947 20FA . 1394 JR NZ.PLAPA 1949 CDA01 1395 CALL DELY7 {WAIT FOR THREADING 194C CDAΘ1 1396 CALL DεLY7 {WAIT FOR SETTLE 194F C9 1397 RET 1398 { 1399 { 1950 21CA12 14Θ0 LOGO LD HL.BOX1 1953 FF 1401 RST 38H 1954 FF 14Θ2 RST 38H 1955 FF 14Θ3 RST 38H 1956 FF 1404 RST 38H 1957 FF 14Θ5 RST 38H 1953 FF 14Θ6 RST 38H 1959 C9 1407 RET 14Θ8 i 195A 3E2A 14Θ9 ERεc LD A,2AH 195C 321F2Θ 1410 LD (NUMFLD),A {CHANGE FOR EDIT MODE 195F Θ1O200 1411 LD BC,Θ2 {MOVE PAGENUMBER 1962 210020 1412 LD HL,DATA1 1 65 11Θ320 1413 LD DE,DATA4 1968 EDBø 1-414 LDIR 196A 0612 1415 OFSET LD B.12H 196C C5 1416 OFS1 PUSH BC I960 CD2717 1417 CALL INCREC 1970 Cl 1418 POP BC 1971 1ΘF9 1419 DJNZ.OFSl 1973 3EΘ2 1420 LD A,02 {SUPRESS ERASE 1975 D32A 1421 OUT <PI01BD),A 1977 CDA814 1422 CALL TXINIT 197A 3εεo 1423 LD A,øBøH {BΘ-REC/PLAY 197C D326 1424 OUT (PIOBD),A 197E CDDB14 1425 CALL DELY2 1981 3εB0 1426 PR1 LD A,80H {CANCEL PAUSE 1983 D326 1427 OUT (PIOBD),A 1985 DB24 1428 PR2 IN A, (PIOAD) 1987 CB6F • 1429 BIT 5,A {PA MODE RDY? 1989 20FA 143Θ JR NZ PR2 198B 3E88 1431 LD A.88H 198D D326 1432 OUT (PIOBD),A 198F DB24 1433 IN A, (PIOAD) 1991 CB5F 1 34 BIT 3,A {PAUSE LED 1993 2BEC 1435 JR Z,PR1 1995 DB24 1436 RP1 IN (PIOAD) JREC MODE RDY 1997 CB67 1437 BIT 4,A 1999 28FA 1433 JR Z,RP1 199B DB24 1439 RP2 IN A, (PIOAD) {NOT RDY YET 199D CB67 1440 BIT 4,A* 199F 2ΘFA 1441 JR NZ.RP2 19A1 3ES0 1442 LD A,8øH {CANCEL PAUSE CROMEMCO Z8Θ Macro Assembler version Θ3.Θ4 Dec 02, 19Θ4 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VBløll.Z8Θ {PAUSE {PAUSE LED LIT {S2-ST0P {CANCEL ERA SUPPRESS {CHECK LEAD {IS IT CONNECTED {RESET IF NOT {IS THIS EDIT MODE {Θ59H-» » Y' {Θ2-»ST0P {SWITCH VIDEO OUTPUT }2400-»3MINS {DLY ϊ. KEY SCAN {LOGO {TIMEOUT {DISPLAY IT {BIT 1---STOP {STOP MACHINE {07=07 SEC {MUCH SMALLER BECAUSE ■ SLOW* {WAIT FOR 3Θ SEC {CONTINUE ? {59H_-'Y* CROMEMCO Z8Θ Macro Assembler version Θ3.Θ4 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll D.G.BLACKBURN VBløll.Z8Θ 1A82 CS 1523 RET Z 1A83 CD6A12 1524 CALL CLS 1A86 CD501 1525 CALL LOGO 1A89 213B14 1526 LD HL.B0X22 1A8C FF 1527 RST 38H 1A8D 3E0Θ 1528 LD A,øø { { TO RELEASE VCR 1A8F D326 1529 OUT (PIOBD),A 1A91 01ESΘ3 1530 LD BC.lθθø 1A94 ED43O720 1531 LD (TIME).BC 1A98 CDB01 1532 CALL DELY5 1A9B C9 1533 RET 1534 { 1A9C CD6616 1535 TSTRX CALL RXTST 1A9F DD210F20 1536 LD IX,BUFFER 1AA3 CD6215 1537 CALL BCDCON 1AA6 21D0F1 1538 LD HL.SCREEN-t-lDΘH 1AA9 11ΘD2Θ 1539 LD DE TEMPM 1AAC 06O2 1540 LD B,ø2 1AAE 1A 1541 NXT LD A, (DE) 1AAF 4F 1542 LD C;A 1ABΘ C5 1543 PUSH ' BC 1AB1 D5 1544 PUSH DE 1AB2 CD1806 1545 CALL Θ 1SH 1AB5 DI 1546 POP DE 1AB6 Cl 1547 POP BC 1AB7 13 1548 INC DE 1AB8 23 1549 INC HL 1AB9 23 • 1550 INC HL 1ABA 10F2 1551 DJNZ NXT 1ABC . 00 1552 NOP 1ABD 00 1553 NOP 1ABE 0ø 1554 NOP . 1ABF CDO206 1555 CALL 06O2H 1AC2 1BD8 1556 JR TSTRX 1557 END 1558 { Errors θ Range Count 4 CROMEMCO ZSO Macro Assembler version Θ3.04 Dec 02, 19B4 VIDEOBASE MKII VERSION VBløll Symbol Value De-fn References 1054 1057 1077 1211 1536 0224 1494 15Θ9 1524 1195 1223 1231 0346 Θ3480353 1412 1389 1425 1453 1484 145Θ 13Θ4 CROMEMCO Z8Θ Macro Assembler version 03.Θ4 Dec 02, 1984 VIDEOBASE MKII VERSION VBløll Symbol Value De-fn References 0221 1472 Θ178 Θ232 1083 1477 1519 148B 1489 Θ240 Θ25Θ 0185 Θ226 1510 152S 0291 Θ857 0869 Θ882 1272 1344 1410 0963 Θ996 1421 1457 0809 Θ954 0967 Θ972 Θ975 Θ978 Θ9S3 Θ992 1128 1328 1332 1392 1428 1433 1436 1439 1447 1467 Θ906 Θ95Θ 0953 Θ966 Θ971 Θ983 Θ987 Θ999 1ΘΘ2 1216 1219 1296 13Θ6 1350 1355 1373 1378 1384 1424 1427 1432 1443 1446 1452 1455 1483 1486 1466 1470. CROMEMCO Z80 Macro Assembler version Θ3.Θ4 Dec 02, 1984 VIDEOBASε MKII VERSION VBløll Symbol Value De-fn References 1314 1321 1324 Θ127 02250304 1495 1162 0253 Θ258 0261 0165 Θ167 0169 lllθ 1120 1171 0825 0832 13ΘΘ 1310 1356 1379 Θ2S2 0292 Θ294 0299 0865 0866 ΘS7Θ Θ876 Θ8780879 0883 Θ888 0890 108Θ 1188 1244 1253 126Θ 1268 1273 1280 1283 1327 1343 1345 1358 1361 1366 1492 15Θ7 1515 CROMEMCO Z8Θ Macro Assembler version Θ3. Θ4 Nov 30, 1984 BOOT ROM D.G.BLACKBURN BOOT.Z8Θ 0OO3 <106B) 0-.04 MεNU EQU O106BH {WILL CHANGE WITH VERSION (Θ054) 0-.Λ5 DεLY ECU 0ΘΘ54H (FΘOø) 0Θ06 SCREEN EQU OFøøθH C14BE) ΘO07 PIOINIT EQU ;MAY -α.a».oc"WiτH VERSION (0080) øt.t.8 PATT EQU {START OF PATTERN- 0009 { (løøθ) Θ010 ORG løøøH 0011 1OΘ0 C303EΘ 0Θ12 START JP 0E0Θ3H 1003 DBFF 0O13 IN A, .ΘFFH) {SWTTCH OFF -POJ 1O05 2100EΘ 0Θ14 LD HL,ΘEøøθH {BOOT ROM START 1Θ08 lløθøø 0O15 LD DE,øø {DEST ZERO PAGE lOOB 010Θ0B ΘΘ16 LD BC,Θ8ΘΘH {LEN OF BOOT ROM (2716) 100E EDBO Θ017 LDIR {SENT TO PAGE ZERO 1010 C3130Θ Θ018 JP ΘΘ13H { GOTO RAM 1013 21FF0F 0019 LD HL,ΘFFFH { SET SP- 1016 F9 ΘΘ20 LD SP. L 1Θ17 Θ6FE 0Θ21 LD B.ΘFEH ϊCfcSAR- STΑGK- • LEN 1Θ19 2B 0Θ22 CLEAR DEC HL lølA 36ΘΘ 0023 LD (HL>,θø lølC 10FB Θ024 DJNZ,CLEAR {CLEAR STACK AREA 101E 2180Θ0 0025 LD HL,FATT {START OF TEST PATTERN 1021 lløøFø 0026 LD DE,SCREEN 1024 Θ10003 0027 LD BC,0300H fLEN OF PATT 1027 EDBø 0028 LDIR 1029 21Θ0D0 0029 LD HL.ΘDΘΘΘH ISTART OF VB1010 1Θ2C 110010 ΘΘ30 LD DE.0100ΘH {DEST 102F Olθølø 0Θ31 LD BC.01000H {LEN 1032 EDBø 0032 LDIR IΘ34 CDBE14 0033 CALL PIOINIT 1037 DB24 0034 PORTIN IN A, <024H> 1039 FEFF 0035 CP AiβFFH 103B 2014 0036 JR NZ.FIN ' l« sPiαi D LEAD CONNECTED 103D 3E04 0037 LD A,04 .BIT 2-ALARM 103F D32A 0038 OUT (2AH),A 1041 CD54Θ0 0Θ39 GALL DELY 1044 3E0Θ 0040 LD A,90 1Θ46 D32A 0041 OUT .2AH ) ,A 1Θ48 .CD540Θ 0Θ42 CALL DELY 104B 215500 ΘΘ43 LD HL.DELY+1 1Θ4E 0044 DEC .RL) (CHANGE TIME CONST' 104F 3 S _. 18.6 0045 JR PGRTlN 1051 C36B1Θ 0046 FIN JP MENU 0047 1054 0613 0048 DELO LD &.13H 1056 3E01 00.49 P LD A.Θ1 IΘ58 3D 0050 Q DEC A. 1059 20FD 0Θ51 JR NZ.Q 1Θ5B 1ΘF9 ΘΘ52 DJNZ P 105D C9 0053 RET 0054 I 105E II 0055 NOP 1Θ5F 00-56 NOP ITHIS CONTAINS 04AW FOR 300H BYT εs Error* 0 Range Count 1 SUBSTΓ ". a""™"*"" _ ■* » » ! .f*"S*™^ * ' . i, _ _________ I -32 CROMEMCO ZSø Macro Assembler version 03.04 Nov 30, 1984 BOOT ROM Symbol Value De.n References CLEAR 0022 002 DEL0 1054 0048 DELY ΘΘ54 0005 003? 00420043 FIN 1051 Θ046 0036 MENU 106B 0004 0046 P 1Θ56 ΘΘ49 Θ052 PATT 0080 0008 0025 PIOINIT 14BE 0θø7 0033 PORTIN 1037 0034 0045 α 1058 0Θ50 ΘΘ51 SCREEN F000 0006 0026 START iøøø ΘΘ12

Claims: CLAIMS: 1. A method of storage and retrieval of video data, wherein a recording of data that can be reproduced on a television receiver is made under the control of a computer and during the recording of each item there is inserted in the frame blanking interval a unique code which is the address or index of that particular item of information. 2. A method according to Claim 1, wherein the index code is recorded on both the.odd and even fields of the video signal, which is derived from a television camera or other video source. 3. A method according to Claim 1 or Claim 2, wherein the index code is recorded during the period of one line, excluding sync periods. 4. A method according to Claim 1 or Claim 2 or Claim 3, wherein the index code comprises 8 binary digits of sync header and 16 binary digits of code, and is applied in a synchronous non-return-to-zero form directly on to the video signal. 5. A method according to any one of the preceding Claims, wherein each item of data and its index code are recorded a plurality of times to achieve a level of protective redundancy. 6. A method according to any one of the preceding Claims wherein the record medium is video tape. 7. A method according to any one of Claims 1 to 5, wherein the record medium is a laser-recorded disk. 8. A method according to Claim 6, wherein the tape bears a leading batch of dummy records to indicate its start and a final batch of dummy records to indicate its end. 9. A method according to Claim 6 or Claim 8, wherein the index codes of the recorded items are in numerical order and to retrieve a particular recorded item the index code of that item entered by, for example, a keyboard is compared with the index code of the record currently present and fast forward or rewind travel of the tape is initiated according to' the arithmetical sign of the result of the • comparison and continues for a duration substantially proportional to that result until the record to be retrieved is approached whereupon further comparisons are carried out record by record until a match is achieved and the record having the matching index code is displayed. 10. A method according to Claim 6 or Claim 8 or Claim 9, wherein after a predetermined interval has elapsed following display of a retrieved record the tape is unlaced. 11. A method according to Claim 7, wherein to retrieve a particular recorded item the index code..of that record entered by, for example, a keyboard is compared with the index code of the record currently present and the reading/writing device is shifted in relation to the record disk according to an angular computation based on the location of the record currently present and the record 4_ required to be retrieved. 12. Apparatus for the recording and retrieval of data records capable of being reproduced on a television receiver or monitor comprising: a video record storage medium and means for writing data records on to and reading data records from said medium; a television camera or other video signal source for generating from the data records to be stored video signals comprising in coded form television frame' periods of normal picture information and intervening frame blanking intervals; index code generating means for inserting into the frame blanking intervals of each coded data record an index code uniquely indentifying that record, said video signals and said inserted index codes being recorded on said storage medium by said writing means; means for inputting the index code of a stored data record that is to be retrieved; and search means responsive to the inputting of an index code to search the records stored on the record medium until a stored record is found having a frame blanking interval index code matching the inputted code, said stored record with the matching index code being read from the record medium and the resulting re-generated.video signal being transmitted to the television receiver or monitor, decoded and displayed. SHEET

Inventors: BLACKBURN DONALD GEORGE, BLACKBURN, DONALD, GEORGE
Applicants: INDEX DATA PROGRAMMES, INDEX DATA PROGRAMMES LIMITED
Application year: 1985
Main classification: G11B27
IPC codes: G11B15, G11B27