/** * This file is part of Pat80 IO Devices. * * Pat80 IO Devices is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Pat80 IO Devices is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY * without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Pat80 IO Devices. If not, see . * * * Composite pal adapter test. * This sketch makes an Arduino send test data to tha Pat80 composite video pal adapter. * Connect the video adapter directly to Arduino */ const byte CLK = 11; // output active low const byte RS = 12; // output low = DATA register, high = COMMAND register const byte BUSY = 13; // Input, Active low // DATA BUS (Output, active high): 3, 4, 5, 6, 7, 8, 9, 10; void setup() { DDRD = DDRD | B11111000; // Port D (arduino pins 3 to 7) is output. In or to preserve serial pins and interrupt pin DDRB = B00000111; // Port B (0,1,2) = pins 8,9,10 output pinMode(CLK, OUTPUT); pinMode(RS, OUTPUT); pinMode(BUSY, INPUT); digitalWrite(CLK, HIGH); // Inactive clock } void loop() { delay(1000); send(); } void send() { // Random char char c = random(32, 126); // Wait for BUSY to become inactive (HIGH) //while(digitalRead(BUSY) == LOW) {} // Split byte to two parts and write to ports PORTD = c << 3; PORTB = c >> 5; // Clock pulse digitalWrite(CLK, LOW); delay(100); digitalWrite(CLK, HIGH); }