A Nelly an chuil chraobhaigh Is a shuil ar dhaith an fheir ghlais Ag eirghe dhon la, O! nach breag dham so a radh, ’S gur [tu] do shliocht na bhfear eifeacht O Ardmacha breige, Fuair sar-chlu o Ghaodhalaidh Le trean-neart a lamh.
O Nelly of the back of the wood With her eye the color of the green grass Waking with the day, O what a lie it is of me to say, And you with your family from a man of import (?) O lying Ard Macha, (Nelly? The man? Ard Macha?) Won great fame from relations With strength of hand
Only the ones i’ve played recently or having good memories playing it. Only noteworthy games
PyramidMummy pharaoh thingy ??? One of the first games i remember. (Besides Pong on a “pong-only” system)
I’ve played a Mummy game in Black/White on a XZ81 or ZX Spectrum, one of the first Computers i had access to. (Richard) But i can´t find/remember the name.
In The Sentinel, the player takes the role of a Synthoid, a telepathic robot who has to take control of a number of surreal, checkered landscapes of hills and valleys, by climbing from the lowest spot, where the hunt begins, to the highest platform, over which the Sentinel looms.
The Synthoid itself cannot move across the level; instead it can look around, accumulate energy by absorbing the objects that are scattered across the landscape, create stacks of boulders, generate inert Synthoid shells and transfer its consciousness from one of these clones to another.
Kings Quest II?(1985)
Played this with my friend Richard on his Atari ST
Few years later, same kind of Game Engine:
Leisure suit larry in the land of the lounge lizards
The Myst series (1993-)
Carmageddon
The player races a vehicle against several other computers controlled competitors in various settings, including city, mine, and industrial areas. The player has a certain amount of time to complete each race, but more time may be gained by collecting bonuses, damaging the competitors’ cars, or by running over pedestrians. Unusually for a racing game, checkpoints do not extend the time limit.
7th Guest
The 7th Guest is an interactive movie puzzle adventure game, produced by Trilobyte and originally released by Virgin Interactive Entertainment in April 1993. It is one of the first computer video games to be released only on CD-ROM. The 7th Guest is a horror story told from the unfolding perspective of the player, as an amnesiac. The game received a great amount of press attention for making live action video clips a core part of its gameplay, for its unprecedented amount of pre-rendered 3D graphics, and for its adult content. In addition, the game was very successful, with over two million copies sold. It, alongside Myst, is widely regarded as a killer app that accelerated the sales of CD-ROM drives.
DOOM and Quake
Many many hours i’ve spend playing doom with Mandy on my first network (1995?) Quake was my Graphics Card Checker, i never made it to level two!
And dual player Stunt Car Racer. We played this before there were networks, using a serial cable!
Simulators and more
I used to have Microsoft Flightsim (the old version) , but my main operating system is Linux so i switched to XPlane (Windows, linux and Mac) See other posts about Flightsims
VR games
We bought VR glasses. Besides viewing movies in 3D, playing with Blender in 3D, Xplane flightsimulator there are some games i sometimes play.
I expect you to die, WWI Warplanes, Green Hell and Mass Exodus Redux. The last one is great fun together with a PC player.
Android games
Tried several games, non stuck. I enjoyed “SpaceTeam” the most. Current (dorment on my phone) : Mekorama, BinaryGrid2 (Yes Nerd), Dice me and 2 Player Reactor (those last two, for playing with friends while traveling)
Arcade games
I only knew Galaga, on a table version in Germany (We played there with the Concord Pipe Band) The other one was Hyper Olympics by Konami ( Snackbar “Lunch” when attending school LTS Deventer )
PC Games (Recent)
Uboot, Xplane Flightsimulator,Keep talking and nobody explodes https://store.steampowered.com/app/494840/UBOAT/
Switch Games (Recent)
Limbo, Unravel Two, Death Squared,Machinarium,Degrees of Separation, Guacamelee 2 Mostly Co-op
Sidetrack … pinball
I really like the Terminator pinball game. There is one in Zwolle at https://computermuseum.nl/ (This one i played when i was a soldier in 1992) I have some test setups for Virtual Pinballs, but its not the same.
Making a frame in a aluminum case, using rivets and nut rivets.
The nut rivet tool (suggestion by Duncan) is a superb addition in my tool shed!
There is place for 4 modules in this “test” case. I need to move the holes for the rivet-nuts, because the modules should go in every position. (Also 4 rounded corners)
Drag and drop image for displaying on a kodi instance
Button to start slideshow of a directory
Open image in browser with obfuscated image url (not shown in movie)
Stop image playing
Json RPC used:
# Playing a single file
curl -H "content-type:application/json" -i -X POST -d '{"jsonrpc":"2.0","id":1,"method":"Player.Open","params":{"item":{"file":"'.$dir2.'"}}}' http://KODI-IP:8080/jsonrpc &';
# Playing a directory
curl -H "content-type:application/json" -i -X POST -d '{"jsonrpc":"2.0","id":1,"method":"Player.Open","params":{"item":{"directory":"/path/'.$dir.'"}}}' http://KODI-IP:8080/jsonrpc &';
# Stop playing (i'm stopping player 1 and 2) You can query which player is active, this works also
curl -H "content-type:application/json" -i -X POST -d '{"jsonrpc": "2.0", "method": "Player.Stop", "params": { "playerid": 1 }, "id": 1}' http://10.1.0.73:8080/jsonrpc';
Kodi enable http control and disable authentication (if you want to use authentication, change the curl commands accordingly)
Below the multiple PHP files, i’ve removed a lot of code specific for my manager.
By the way, I love this trick:
header("HTTP/1.1 204 NO CONTENT");
I’ve you put this in the top of your php script which is linked from the first page, you won’t open this link in your browser, but it gets executed nevertheless!
::::::::::::::
push.php
::::::::::::::
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="dropbox">Drop Image</div><br>
<a href="playpush.php?dir=TEMP/Sake">playdir</a>
<a href="stoppush.php">stop</a>
# Here i have a generated part to list my photoalbum photos in this format
<a href='getimg.php?imagepath=/mnt/fileserver/TEMP/1.jpg'><img src='getimg2.php?imagepath=/mnt/fileserver/TEMP/1.jpg' width=300 title='1.jpg'></a>
<a href='getimg.php?imagepath=/mnt/fileserver/TEMP/2.jpg'><img src='getimg2.php?imagepath=/mnt/fileserver/TEMP/2.jpg' width=300 title='2.jpg'></a>
<script
type="text/javascript"
src="javascript2.js"
></script>
</body></html>
::::::::::::::
getimg.php - Displays photo in browser (forgotten in movie)
::::::::::::::
<?php
Header("Content-Type: image/jpeg");
$file = $_GET['imagepath'];
$file = str_replace("%20", "\ ", $file);
$file = str_replace("(", "\(", $file);
$file = str_replace(")", "\)", $file);
$log = 'imggetlog';
file_put_contents($log, $file, FILE_APPEND);
file_put_contents($log, "\n\r", FILE_APPEND);
header('Content-Length: ' . filesize($file));
readfile($file);
?>
::::::::::::::
getimg2.php - makes a caching thumbnail
/long/image/path/to/photo.jpg -> cachedir/longimagepathtophoto.jpg
::::::::::::::
<?php
Header("Content-Type: image/jpeg");
$file = $_GET['imagepath'];
$file = str_replace("%28", "\(", $file);
$file = str_replace("%29", "\)", $file);
$file = str_replace("%20", "\ ", $file);
$cachename = str_replace("/", "", $file);
$cachename = str_replace(" ", "", $cachename);
$cachename = "cachedir/$cachename";
$log = 'imggetlog';
file_put_contents($log, $file, FILE_APPEND);
file_put_contents($log, "\n\r", FILE_APPEND);
if (!file_exists("$cachename")) {
exec("convert -resize 300x300 \"$file\" \"$cachename\"");
}
header('Content-Length: ' . filesize("$cachename"));
readfile("$cachename");
?>
::::::::::::::
playpush.php - Pushes DIRECTORY play to Kodi
::::::::::::::
<?PHP
header("HTTP/1.1 204 NO CONTENT");
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
$dir=$_GET['dir'];
$command='nohup curl -H "content-type:application/json" -i -X POST -d \'{"jsonrpc":"2.0","id":1,"method":"Player.Open","params":{"item":{"directory":"/mnt/fileserver/'.$dir.'"}}}\' http://IPKODI:8080/jso
nrpc &';
exec($command, $output, $retval);
?>
::::::::::::::
stoppush.php - stops displaying
::::::::::::::
<?PHP
header("HTTP/1.1 204 NO CONTENT");
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
$command='curl -H "content-type:application/json" -i -X POST -d \'{"jsonrpc": "2.0", "method": "Player.Stop", "params": { "playerid": 1 }, "id": 1}\' http://IPKODI:8080/jsonrpc';
exec($command, $output, $retval);
$command='curl -H "content-type:application/json" -i -X POST -d \'{"jsonrpc": "2.0", "method": "Player.Stop", "params": { "playerid": 2 }, "id": 1}\' http://IPKODI:8080/jsonrpc';
exec($command, $output, $retval);
?>
::::::::::::::
javascript2.js
::::::::::::::
function getAllElementsWith(tag, attribute, value)
{
var matchingElements = [];
var allElements = document.getElementsByTagName(tag);
for (var i = 0; i < allElements.length; i++)
{
if (value.indexOf(allElements[i].getAttribute(attribute)) != -1)
{
// Element exists with attribute. Add to array.
matchingElements.push(allElements[i]);
}
}
return matchingElements;
}
// onDrop
function onDrop(evt) {
evt.stopPropagation();
evt.preventDefault();
var imageUrl = evt.dataTransfer.getData("URL");
var links = getAllElementsWith("a", "href", imageUrl);
var image;
console.log(links, evt);
if(links.length){
image = links[0].getElementsByTagName("img");
if(image.length)
imageUrl = image[0].getAttribute("src");
else
imageUrl = "#no-image";
}
/// alert(imageUrl);
var res = imageUrl.replace(/getimg/, "pushplay2");
location.href = (res);
};
// onDragOver
function onDragOver(evt){
evt.preventDefault();
}
var dropbox = document.getElementById('dropbox');
dropbox.addEventListener('drop', onDrop);
dropbox.addEventListener("dragover", onDragOver, false);
Random picture push
file=$(find /mnt/fileserver/examples -type f | shuf | head -1)
post_data="{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"Player.Open\",\"params\":{\"item\":{\"file\":\"$file\"}}}"
curl --user user:pass -H "content-type:application/json" -i -X POST --data "${post_data}" http://KODI-IP:8080/jsonrpc
Below a example of what your can do with the code above
I’ve got an old Speaker Phat, and a Raspberry Zero
An audio add-on board for Raspberry ( same size as the Zero )
Connections
My initial idea was to have the “High Voltage Sid Collection” (Downloaded the 55000 pack) On a mini device, battery operated and with a little keypad.
On the keypad i can select the Sidtune to play, or pressing A and a number the Sids from a certain artist.
The display gives you information about the tune being played. ( The display has an I2C hat to convert 8bits to I2C )
See pinout phat above. I’ve got three choices for I2C connection (green/blue to the Phat)
Direct connect and use different addresses
Use a I2C hub and different addresses
Define a secondary I2C on the raspberry
So I made the first test setup …
Underrun occurred .. So back to the drawingboard. I probably need a better Audio Hat. First to try .. Zero fast enough for sidplay2? Maybe audio over hdmi works??
I’ve replaced strings before so that’s no problem. Starting all over again.
Our Folk Band Harp player wants to due some duets. So lets get playin’
http://pinnerstringquartet.com/
UPDATE: 20230119 Replaced the 4 strings yesterday, not fully tuned yet. Gave the string some time to rest. Looking at the harp this morning. G4 was broken .. d*mn
UPDATE: 20230126 Replaced also the G4, all done. Tuning this kind of Harp. (Salvi Lever harp) You have to put all levers down, and tune them from lowest note to highest. The A B and E strings have to be tuned flat! So by using the levers you can play in all kinds of different keys.