aboutsummaryrefslogtreecommitdiff
path: root/projects
diff options
context:
space:
mode:
Diffstat (limited to 'projects')
-rw-r--r--projects/arfvcr/bat.jpgbin0 -> 35018 bytes
-rw-r--r--projects/arfvcr/cam.jpgbin0 -> 38900 bytes
-rw-r--r--projects/arfvcr/cam.pngbin0 -> 275997 bytes
-rw-r--r--projects/arfvcr/con.jpgbin0 -> 56739 bytes
-rw-r--r--projects/arfvcr/done.jpgbin0 -> 170253 bytes
-rw-r--r--projects/arfvcr/frame.jpgbin0 -> 92780 bytes
-rw-r--r--projects/arfvcr/front.jpgbin0 -> 205500 bytes
-rw-r--r--projects/arfvcr/in1.jpgbin0 -> 180539 bytes
-rw-r--r--projects/arfvcr/in2.jpgbin0 -> 218315 bytes
-rw-r--r--projects/arfvcr/index.html110
-rw-r--r--projects/arfvcr/me.jpgbin0 -> 163575 bytes
-rw-r--r--projects/arfvcr/vcr.jpgbin0 -> 393287 bytes
-rw-r--r--projects/index.html94
13 files changed, 184 insertions, 20 deletions
diff --git a/projects/arfvcr/bat.jpg b/projects/arfvcr/bat.jpg
new file mode 100644
index 0000000..fc756c8
--- /dev/null
+++ b/projects/arfvcr/bat.jpg
Binary files differ
diff --git a/projects/arfvcr/cam.jpg b/projects/arfvcr/cam.jpg
new file mode 100644
index 0000000..1b7793c
--- /dev/null
+++ b/projects/arfvcr/cam.jpg
Binary files differ
diff --git a/projects/arfvcr/cam.png b/projects/arfvcr/cam.png
new file mode 100644
index 0000000..31b5fdf
--- /dev/null
+++ b/projects/arfvcr/cam.png
Binary files differ
diff --git a/projects/arfvcr/con.jpg b/projects/arfvcr/con.jpg
new file mode 100644
index 0000000..fcd9a6c
--- /dev/null
+++ b/projects/arfvcr/con.jpg
Binary files differ
diff --git a/projects/arfvcr/done.jpg b/projects/arfvcr/done.jpg
new file mode 100644
index 0000000..36ebc66
--- /dev/null
+++ b/projects/arfvcr/done.jpg
Binary files differ
diff --git a/projects/arfvcr/frame.jpg b/projects/arfvcr/frame.jpg
new file mode 100644
index 0000000..ece068f
--- /dev/null
+++ b/projects/arfvcr/frame.jpg
Binary files differ
diff --git a/projects/arfvcr/front.jpg b/projects/arfvcr/front.jpg
new file mode 100644
index 0000000..ed8a1dc
--- /dev/null
+++ b/projects/arfvcr/front.jpg
Binary files differ
diff --git a/projects/arfvcr/in1.jpg b/projects/arfvcr/in1.jpg
new file mode 100644
index 0000000..e5526a2
--- /dev/null
+++ b/projects/arfvcr/in1.jpg
Binary files differ
diff --git a/projects/arfvcr/in2.jpg b/projects/arfvcr/in2.jpg
new file mode 100644
index 0000000..061052c
--- /dev/null
+++ b/projects/arfvcr/in2.jpg
Binary files differ
diff --git a/projects/arfvcr/index.html b/projects/arfvcr/index.html
new file mode 100644
index 0000000..e72d097
--- /dev/null
+++ b/projects/arfvcr/index.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <link rel="stylesheet" type="text/css" href="/style.css">
+ <title>ARFNET</title>
+ <style>
+ .sect {
+ margin-left: 20px;
+ }
+
+ .pics {
+ display: inline-block;
+ }
+ </style>
+ </head>
+
+ <body>
+ <header><a href="/">
+ <img src="/arfnet_logo.png" width="64"><span class="title"><strong>ARFNET</strong></span>
+ </a></header>
+ <hr>
+ <h2><a href="../index.html">Projects</a></h2>
+ <h2>arfvcr</h2>
+
+ <p>
+ A friend from the <a href="https://makersofmurcia.org/">Makers of Murcia</a> hackerspace
+ brought a few 80s tube TV cameras to a retro meetup, and they were free to take. I took one such
+ SONY Trinicon HVC-4000P, an awesome camera that was released in the early 80s. At that time,
+ camcorders didn't exist, they were television cameras because there weren't small enough
+ tape mechanisms to be integrated in. They required heavy external battery powered VCRs
+ like the Sony SL-F1, that you would hang off your shoulder, which we did not have.
+ So I thought I'd build a digital knockoff.
+ </p>
+
+ <div class="pics">
+ <img src="cam.jpg" width=49%>
+ <img src="vcr.jpg" width=49%>
+ </div>
+
+ <p>
+ The thing is basically a battery powered video capture box, a little computer
+ with a composite capture card attached. I chose to base it on a Raspberry Pi 4B
+ because it has to be fast enough to encode video at real time; and for the capture
+ card I had a *forgot* USB card, that exposes a raw yuv422 stream thanks to the
+ video4linux2 driver. Interfacing with the camera, the same friend gave me the
+ hard to find matching female connector that I could just mount to a chassis.
+ Finally for power, because I am a cheap and simple person, I went with a 7Ah
+ lead acid battery, which was very controversial in the hackerspace telegram channel :)
+ </p>
+
+ <div class="pics">
+ <img src="in1.jpg" width=32%>
+ <img src="in2.jpg" width=32%>
+ <img src="bat.jpg" width=32%>
+ </div>
+
+ <p>
+ So, power comes in from the battery or a barrel jack in the front panel, and comes to a
+ general power switch. That then goes to a 12-to-5V buck converter for the raspi and to another
+ toggle switch for the camera. The front panel also has a volt meter to check battery charge,
+ power and status LEDs, the rec/review switch and of course, the proprietary SONY connector
+ for the camera.
+ </p>
+
+ <div class="pics">
+ <img src="front.jpg" width=49%>
+ </div>
+
+ <p>
+ The tethering cable has AV in and out, because it can also review recorded footage; and
+ some control signals as well: recording start/stop (from camera), rec/review (from camera),
+ tally signal in (from VCR: switches the viewfinder and monitor headphone jack to AV in).
+ Now, slight problem. I don't know how the signaling is supposed to work. start/stop and rec/review
+ aren't simple HIGH/LOW signals, they have no voltage when hitting the reflected buttons.
+ The camera also doesn't respond to a LOW or HIGH on the tally sig in, 5 nor 12V.
+ I should review the public schematics for the thing and figure it out.
+ Also, the audio out appears to be quiet.
+ </p>
+
+ <div class="pics">
+ <img class="pics" src="con.jpg" width=49%>
+ </div>
+
+ <p>
+ Software wise, I installed Debian 12 for ARM64, and then found that I needed a feature for
+ power debugging, so I had to install the downstream rasperry-pi kernel and userspace software.
+ I found that the hardware encoder never worked at all with any OS or ffmpeg version so it
+ mattered not, thats why I needed a fast raspi, for RT libx264. Of couse as mentioned,
+ ffmpeg was chosen by default for video capture and encoding. I love ffmpeg. Thanks Fabrice Bellard.
+ ffmpeg is love, ffmpeg is life.
+ </p>
+
+ <p>
+ Because this is a headless device and I shouldn't need a console to hit record (although
+ the raspi creates a WiFi network to ssh into), I had to write
+ some software to trigger ffmpeg; so I wrote a daemon in C that reads GPIO pins from the front
+ panel or the camera (explained later) to start and stop the capture.
+ All of this is GPL available at <a href="https://github.com/arf20/arfvcr">github</a>.
+ </p>
+
+ <div class="pics">
+ <img class="pics" src="me.jpg" width=49%>
+ <img class="pics" src="frame.jpg" width=49%>
+ </div>
+
+ <p>
+ </body>
+</html>
+
diff --git a/projects/arfvcr/me.jpg b/projects/arfvcr/me.jpg
new file mode 100644
index 0000000..76c5758
--- /dev/null
+++ b/projects/arfvcr/me.jpg
Binary files differ
diff --git a/projects/arfvcr/vcr.jpg b/projects/arfvcr/vcr.jpg
new file mode 100644
index 0000000..7400f76
--- /dev/null
+++ b/projects/arfvcr/vcr.jpg
Binary files differ
diff --git a/projects/index.html b/projects/index.html
index bd4ade1..ba99985 100644
--- a/projects/index.html
+++ b/projects/index.html
@@ -1,20 +1,74 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="UTF-8">
- <link rel="stylesheet" type="text/css" href="/style.css">
- <link rel="stylesheet" type="text/css" href="/about.css">
- <title>ARFNET</title>
- </head>
-
- <body>
- <header><a href="/">
- <img src="/arfnet_logo.png" width="64"><span class="title"><strong>ARFNET</strong></span>
- </a></header>
- <hr>
- <h2 class="center">Projects</h2>
- <div class="div">
-
- </div>
- </body>
-</html>
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <link rel="stylesheet" type="text/css" href="/style.css">
+ <title>ARFNET</title>
+ <style>
+ .sect {
+ margin-left: 20px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <header><a href="/">
+ <img src="/arfnet_logo.png" width="64"><span class="title"><strong>ARFNET</strong></span>
+ </a></header>
+ <hr>
+ <h2>Projects</h2>
+ <blockquote>
+ <h2>Hardware</h2>
+ <div class="sect">
+ <div class="item">
+ <h3><a href="arfvcr/">arfvcr</a> WIP</h3>
+ Digital pseudo-VCR for proprietary SONY Trinicon cameras
+ </div>
+ <div class="item">
+ <h3><a href="oscilloscope-terminal/">oscilloscope-terminal</a> WIP</h3>
+ Turn your oscilloscope into a linux terminal emulator with a sound card
+ </div>
+ <div class="item">
+ <h3><a href="workstations-gaia/">workstations-gaia</a> WIP</h3>
+ Preservation project and museum for the 90s UNIX workstations found at FIUM's Gaialab and Compute Centre storage
+ </div>
+ </div>
+ <h2>Software</h2>
+ <div class="sect">
+ <div class="item">
+ <h3><a href="asd/">asd</a> WIP</h3>
+ arf software distribution: small embeddable and customizable BusyBox/Linux distribution
+ </div>
+ <div class="item">
+ <h3><a href="arfts/">arfts</a> WIP</h3>
+ Simple typesetting system designed for plaintext
+ </div>
+ <div class="item">
+ <h3><a href="arfchat/">arfchat</a> WIP</h3>
+ Simple UDP multicast chatroom application with internetwork relay daemon
+ </div>
+ <div>
+ <h3><a href="arfcpu/">arfmipsas + arfmipssim + arfcpu</a> WIP</h3>
+ Assembler, simulator & debugger and hardware description of the UM's ETC subject MIPS-based CPU
+ </div>
+ <div class="item">
+ <h3><a href="arfminesweeper/">arfminesweeper</a> WIP</h3>
+ Turn your oscilloscope into a linux terminal emulator with a sound card
+ </div>
+ <div class="item">
+ <h3><a href="arftracksat/">arftracksat</a> WIP</h3>
+ OpenGL satellite tracker
+ </div>
+ <div class="item">
+ <h3><a href="arfnet-cstims/">ARFNET CSTIMS</a> WIP</h3>
+ Simple Customer, Service, Ticket and Invoice Management System written in PHP
+ </div>
+ <div class="item">
+ <h3><a href="ww1game/">ww1game</a> WIP</h3>
+ SDL2 2D arcade WW1 themed game
+ </div>
+ </div>
+ </blockquote>
+ </body>
+</html>
+