All posts by fash

8085 Machinecode at school

Funny story about learning machinelanguage at school.

It was around 1989, and was attending a class Microcomputer Programming in Machine Language.

We where given a problem we had to solve using 8085 machine code.
The machine we had to program this on was a Intel SDK-85, much like below example.

Intel SDK-85

Note it only had a hex keyboard and 7segmented display. You had to punch in the machinecode into memory slots yourself.

Problem we where given was something like searching for certain data in memory.

Normal procedure was :

  • Draw a flow of instructions (Flowchart)
  • Write the machine languages codes
  • Convert those assembly statements into Opcodes the machine could understand
  • Punch in those numbers, run and verify

Most of us knew a lot of opcodes by heart, but some knew all opcodes. And how many bytes where needed. besides that we had to remember jump and return addresses.

So our teacher presented the problem, when he stopped talking, my friend Martin and I when up to our machines … punching buttons.

” Guys .. you can’t expect it to work without writing the program down first!

A few minutes later .. we pressed enter .. and it worked.

A program like above looked like: 
01 2E 2B 21 00 00 79 BE C2 1F C0 CD 19 C0 CA 1E C0 78 BE C2 06 C0 C3 25 C0 2C C2 1E C0 24 C9 CD 19 C0 C3 06 C0 C9

Cut into opcodes:

01 2E 2B
21 00 00
79
BE
C2 1F C0
CD 19 C0
CA 1E C0
78
BE
C2 06 C0
C3 25 C0
2C
C2 1E C0
24
C9
CD 19 C0
C3 06 C0
C9

Some opcodes used 1 byte, others 2 or 3.
C2 1F C0 – means Jump to address C01F when not zero
C9 – means return, go back to a previous CALL statement

Example of machine language which is translated into above

ADDR ; INSTRUCTION
C000 ; LXI B,0X2B2E
C003 ; LXI H,0X0000
C006 ; MOV A,C
C007 ; CMP H
C008 ; JNZ C01F
C00B ; CALL CO19
COOE ; JZ CO1E
ETC
Almost 255 opcodes

Hacktic and card copier

NOTE: Cardcopier was a few years later

Somewhere this year i got a subscription on HackTic a dutch hacker magazine.

Honestly most of the things i didn’t understand ( i was not into Unix at that time.)

I still got most of the magazines, except for some i lend to others and never got back.

In number 8 (1990) there was a schematic for copying magnetic strip cards. It took a while to build this, but i got it working in the end.
I managed to get a working bank card copied onto my Film rental store card. And we managed to copy magnetic cards which would hold information about how many copies you could make at the school xerosmachines. So we copied a full card and when it was empty rewrote information on it to fill it again.

At the MTS in Hengelo we also had a hidden switch for the payphone to get our money back.

BBC Acorn

While attending the LTS (lower vocational technical school), i could often be found in the computer lab.
I was the only student who had his own key.
We had a classroom with 16 computers, 2 drives at the master station and a printer.
Everything was connected using Econet. (These where the first networked computers i’ve worked with)
https://en.wikipedia.org/wiki/Econet

So every moment we didn’t have a class, i was there.
Even when i had to do final exams, i was late entering, and sometimes one of the first leaving.

Today (2022) i ran an emulator on my machine and typed in one of my old programs found in a notebook.
(The real system above pictured, i have to repair)
By the way, this is one of the computers from school, even with its original wooden monitor stand. The school contacted me (a few years after leaving this school) if i wanted to buy one of the machines.

My notebook containing programs

One of the shorter programs in basic

   20R=.8
   30Q=.05
   40MODE0
   50X=500
   60GCOL1,3
   70Y=500
   80MOVE650,650
   90DRAW670,650:DRAW670,670:DRAW650,670:DRAW650,650
  100A=GET-48
  110IFA=1THENX=X+Q
  120IFA=2THENX=X-Q
  130IFA=3THENY=Y+Q
  140IFA=4THENY=Y-Q
  150IFA=5THENR=.8
  160IFA=6THENR=0
  170X1=200*SIN(X)+500
  180X2=200*SIN(Y+X)+X1
  190X3=50*SIN(Y+X+R)+X2
  200X4=50*SIN(Y+X-R)+X2
  210Y1=200*COS(X)+500
  220Y2=200*COS(Y+X)+Y1
  230Y3=50*COS(X+Y+R)+Y2
  240Y4=50*COS(Y+X-R)+Y2
  250CLS
  260IFX4>650ANDX4<670ANDY4>650ANDY4<670THENPRINT"RAAK"
  270MOVE450,450
  280DRAW550,450
  290DRAW500,500
  300DRAW450,450
  310MOVE500,500
  320DRAWX1,Y1
  330DRAWX2,Y2
  340DRAWX3,Y3
  350MOVEX2,Y2
  360DRAWX4,Y4
  370GOTO80
  380MODE7
  390PRINTTAB(12,10)CHR$129CHR$141"FASH-SOFT"
  400PRINTTAB(12,11)CHR$130CHR$141"FASH-SOFT"
  410A=GET
  420RUN
Keys
1,2 - first arm (left/right)
3,4 - second arm (left/right)
5,6 - open/close grabber

This program got me in trouble because my teachers didn’t believe me. It wasn’t written by me according to them. Because my math grades were terrible!

Later versions had a nicer looking robotic arm. (More 3d, not a line but a arm with thickness)

Notes:

*CAT ; list disk files
LOAD"FSHDRAW" ; load

Print to file or clipboard
LIST07 ; page formatting
VDU2 ; start output redirection (screen + "printer")
LIST
VDU3 ; stop redirection

Installing the Emulator under linux

 git clone https://github.com/stardot/b-em.git
 sudo apt-get install autotools-dev automake
 sudo apt-get install liballegro5-dev
 cd b-em/
 ./autogen.sh 
 ./configure 
 make
 ./b-em 

A board game we made

I designed with my friend Richard, a spooky board game.
It was made of two large multiplex pieces, about 75xm by 50cm. With walls 25 cm height (guessing)

There was a ground floor (graveyard) and a dungeon below that. You had to use dice to move, but there were traps.

  • Hidden trapdoors
  • A ball which knocked you over
  • Closed doors
  • Monsters
  • Puzzles
Drawing i made in 2023 from what i can remember.

The ball (4-5cm) was made of scrunched paper with a gypsum layer.
It could take two paths and depending on where you stood with your playing piece, could knock you over.

A few years later my parents bought Ghost Castle/Spookslot. Which was very much alike we’ve made.

Looking at the models i’ve been making the last few years, i could re-make this again??

My bagpipe journey

Some dates from my notes

1983 November – First lesson on the Practice Chanter
1984 June 23 – Bagpipe contest in Hengelo (spectator)
1985 April 27 – Got my own set of pipes!
1985 Juli 16-19th – First public performance (solo)
1985 August 28th – Started in the Concord Pipe Band
1986 May 7th – Complete uniform
1986 June 14th – Contest Swifterband (6th place grade 4)
(1986 12 performances with the band, 11 solo performances)
1987 June 13th – Contest Swifterband
199? Stopped playing with Concord Pipe Band
199? Started at The City of Amsterdam Pipe Band
199? Played with 48th Highlanders of Holland
2001 Started as a tutor Highland Valley Pipe Band
2008 Stopped playing in Pipe Bands

2001-2008 Tapsalteerie Folkband
2002 February – Got my Smallpipes
2008 October – Got my Gavie Borderpipes
2009-current Nae Bother Folkband
2011 August – Got my Uilleann Pipes
2017 February – Northumbrian Pipes





Read a book as a kid, and found some information about it again.

It is older as I thought.
But it made a lasting impression.
This is one of the books i remember, and could find again.

I don’t know the correct cover any more, but one of the above.
Weirdly they all look familiar.
It was written in 1928.

It took a long time finding this book again.

Het Geheim van het Oude Horloge – Leonard Roggeveen (1928)

Nederlands
Jeugdboek
Avontuur

246 pagina’s
Eerste druk: Van Goor, Gouda (Nederland)

Bram Vingerling is bezig met het uitvinden van een algemene tijdaanwijzer. Hier voor heeft hij een wekker of horloge nodig. In een klein winkeltje koopt hij een groot koperen zakhorloge, waar echter iets vreemds mee aan de hand is. Het bevat geheimzinnige krachten, want het laat alle dingen in zijn omgeving bewegen. Aan de binnenkant staan de initialen J. C. S. gegraveerd en ook de vreemde cijfers , letters en tekentjes: 183Z z oo N xxx ! Na lang speurwerk, komt Bram er achter wat dit te betekenen heeft, en wie de vorige eigenaar van het oude horloge was.
Namelijk professor Stuyvesant, die reeds in 1916 bezig was om de verborgen krachten der natuur, stoffelijk te maken. Bram komt in het bezit van de uitvinding van de professor, ondanks dat hij wordt tegengewerkt door een man met een valse baard, die het ook op de uitvinding voorzien heeft. Hij vindt het loden kistje verstopt in de duinen en dit blijkt na opening een enorme kracht te bevatten. Later als de Rotonde op de Wandelpier van Scheveningen plotseling gaat verzakken en in zee dreigt te storten, komt Bram te hulp met de uitvinding van de professor.
Hij wordt zo de held van de dag en de redder van de Rotonde, maar het mooiste voor hem was dat hij de laatste wens van de professor vervuld had, door iets goeds te doen met zijn uitvinding.

(google translated)

The Secret of the Old Watch – Leonard Roggeveen (1928) Dutch Children’s book Adventure 246 pages First edition: Van Goor, Gouda (Netherlands) Bram Vingerling is inventing a general time indicator. He needs an alarm clock or watch for this. In a small shop he buys a large copper pocket watch, but something strange is going on with it. It contains mysterious powers, for it makes all things around it move. The initials J.C.S. are engraved on the inside as well as the strange numbers, letters and signs: 183Z z oo N xxx! After much research, Bram finds out what this means and who the previous owner of the old watch was. Namely Professor Stuyvesant, who was already working in 1916 to make the hidden forces of nature material. Bram comes into possession of the professor’s invention, despite being thwarted by a man with a false beard, who also has his eye on the invention. He finds the lead box hidden in the dunes and after opening it turns out to contain enormous power. Later, when the Roundabout on the Scheveningen Walking Pier suddenly subsides and threatens to collapse into the sea, Bram comes to the rescue with the professor’s invention. He thus becomes the hero of the day and the savior of the Rotunda, but the best thing for him was that he had fulfilled the professor’s last wish by doing something good with his invention.