Cool terminal combo

I was using zevv’s bucklespring way back since he was beta testing.
https://github.com/zevv/bucklespring

Also cool-retro-term, i used whenever i felt nostalgic.

But both at the same time, how much fun is that!

(Both newly installed on my laptop, which i had to reinstall, because i f*cked it up beyond repair. installing openxr stuff. OpenXR is an open, royalty-free standard for access to virtual reality and augmented reality platforms and devices.  )

Programming ATF22V10 PLD – 7 Segment with Linux

The ATF22V10 is a Programmable Logic Device. This means you can program the logic in the chip.

Internally it looks like a big matrix of connections which you can program to connect/disconnect from certain logic.

It has just a bunch of inputs/outputs

So if we want to have a 7 Segment decoder (you can easily buy a BCD decoder .. but these only work for displaying 0-9 and not 0-9A-F for displaying HEX numbers)

7 Segment display
Binary IN7 Segment decodedDisplays
D C B AA B C D E F G
0 0 0 01 1 1 1 1 1 00
0 0 0 10 1 1 0 0 0 0 1
0 0 1 0 1 1 0 1 1 0 12
0 0 1 11 1 1 1 0 0 13
0 1 0 00 1 1 0 0 1 14
0 1 0 11 0 1 1 0 1 15
0 1 1 0 1 0 1 1 1 1 16
0 1 1 1 1 1 1 0 0 0 0 7
1 0 0 01 1 1 1 1 1 18
1 0 0 11 1 1 1 0 1 19
1 0 1 01 1 1 0 1 1 1A
1 0 1 10 0 1 1 1 1 1B
1 1 0 0 1 0 0 1 1 1 0C
1 1 0 10 1 1 1 1 0 1D
1 1 1 01 0 0 1 1 1 1E
1 1 1 11 0 0 0 1 1 1F

Now we see that segment A is 1 in the case of (0,2,3,5,6,7,8,9,A,C,E,F)

When programming the PLD we can write that as: (note / means inverted a plus is OR, and * is AND)
So A is 0 in case of input being (1,4,B,D)

/QA = /D1 * /C1 * /B1 * A1
    + /D1 * C1 * /B1 * /A1
    + D1 * /C1 * B1 * A1
    + D1 * C1 * /B1 * A1

Complete code for galasm

Compiling and burning

GAL22V10
7SEGMENT

Clock   D1   C1   B1   A1    D2   C2    B2    A2    NC  NC   GND
/OE   NC    NC  NC  QG    QF    QE    QD   QC    QB   QA   VCC


/QA =   /D1 * /C1 * /B1 * A1
        + /D1 * C1 * /B1 * /A1
        + D1 * /C1 * B1 * A1
        + D1 * C1 * /B1 * A1

/QB=    /D1 * C1 * /B1 * A1
        + /D1 * C1 * B1 * /A1
        + D1 * /C1 * B1 * A1
        + D1 * C1 * /B1 * /A1
        + D1 * C1 * B1 * /A1
        + D1 * C1 * B1 * A1

/QC =   /D1 * /C1 * B1 * /A1
        + D1 * C1 * /B1 * /A1
        + D1 * C1 * B1 * /A1
        + D1 * C1 * B1 * A1


/QD=      /D1 * /C1* /B1 * A1
        + /D1 * C1 * /B1 * /A1
        + /D1 * C1 * B1 * A1
        + D1 * /C1 * B1 * /A1
        + D1 * C1 * B1 * A1

/QE =     /D1 * /C1 * /B1 * A1
        + /D1 * /C1 * B1 * A1
        + /D1 * C1 * /B1 * /A1
        + /D1 * C1 * /B1 * A1
        + /D1 * C1 * B1 * A1
        + D1 * /C1 * /B1 * A1

/QF =     /D1 * /C1 * /B1 * A1
        + /D1 * /C1 * B1 * /A1
        + /D1 * /C1 * B1 * A1
        + /D1 * C1 * B1 * A1
        + D1 * C1 * /B1 * A1

/QG =     /D1 * /C1 * /B1 * /A1
        + /D1 * /C1 * /B1 * A1
        + /D1 * C1 * B1 * A1
        + D1 * C1 * /B1 * /A1

DESCRIPTION
A 7 segment hex decoder

galasm 7seghex.gal

minipro -p ATF22V10CQZ -w 7seghex.jed

minipro -p ATF22V10CQZ -w 7seghex.jed
Found TL866II+ 04.2.129 (0x281)
Warning: Firmware is newer than expected.
  Expected  04.2.128 (0x280)
  Found     04.2.129 (0x281)

VPP=12V
Warning! JED file doesn't match the selected device!

Declared fuse checksum: 0x98D5 Calculated: 0x98D5 ... OK
Declared file checksum: 0x40B3 Calculated: 0x41A8 ... Mismatch!
JED file parsed OK

Use -P to skip write protect

Erasing... 0.33Sec OK
Writing jedec file...  5.01Sec  OK
Reading device...  0.32Sec  OK
Writing lock bit... 0.35Sec OK
Verification failed at address 0x16C6: File=0x01, Device=0x00 < ------------------ Gives error, but burning seems okay

henri@zspot:~/projects/galasm$ minipro -p ATF22V10CQZ -r 7seghex.out
Found TL866II+ 04.2.129 (0x281)
Warning: Firmware is newer than expected.
  Expected  04.2.128 (0x280)
  Found     04.2.129 (0x281)
Reading device...  0.32Sec  OK

Gives all zeros as output, but device works!

Address decoding with split IO

Made a simulation of my new address decoder.
It uses a 74LS138 and a bunch of NAND gates.
You can safe using 4 NAND gates if you are not going to use split IO

Address
8000-FFFFROMROM
7000-7FFFSound chipSID
6000-6FFFDisplay + cursorVIA1
5000-5FFFKeymatrixVIA2
4800-4FFFsplit ioIO
4000-47FFsplit ioIO – ACIA
0000-3FFFUses clockRAM
Above part is a single chip 74LS138

UPDATE: Found some 74LS139, so i could have changed some things around.

Simplified schematic 74LS139

Try it over here:

https://simulator.io/board/W8sQkHl1We/1

Eurocards

UPDATE 20240927 PCBs are in

I found some stuff while sorting out some old computer stuff.
Way back, when my Amiga was my main computer, i wanted to make my own version. A modular one.

So i started to segmentize the amiga, to put it on several exchangeable cards.

Eurocards are standardized prints 150mm x 100mm, mostly with a DIN41612 connector.

DIN41612
Eurocard example

When you make modules you can change/upgrade/test, you can have a very easy interchangeable system using a backplane like this

So i started planning those modules:

  • CPU – 68000 but upgradeable to 68030 or alike
  • Memory – With expansion
  • Sound
  • Video
  • More IO possibilities
  • Keyboard (see more at the bottom of this page)

I had a nice case which could hold a big backplane, custom powersupply. And a front panel containing drives, leds and knobs. (I know i have more info on this somewhere on my fileserver)

A nice example picture i found on danceswithferrets website

I never finished this project.
I used Tech Manuals and print layouts to understand how things where done.

Part of schematic

I started to draw the modules like they where placed on the print on semi transparent (chalk)paper, the kind of paper that was used for electronic and mechanic diagrams.

UPDATE 20240927 PCBs are in

Own designed PCB

Selling a lot of my computer collection

UPDATE : Bought after selling these

The last days i’ve been selling a lot of my old computers.
They have been in my collection for many years, but now its time to part.
Time for others to enjoy them.

(Instead of posting which ones are being sold and which i’ve still got on this page i’ll make another post)

I started collecting when i studied computer sciences.
It’s a wonder my parents attic wasn’t collapsing.
(They let me store many computers on their attic, let me run a mainframe in the house (previous post) and let me have computer-parties (pre-lan) in their home. (They even left, and gave me the space) .. 15+ teens with computers … there was a pingpong table in the livingroom (besides the other tables in the house ) For all computers.

Then i’ve got even more, when living on my own. (At some point about 140. )

A few years later i got rid of uninteresting computers (to my taste at that time) and incomplete ones. Then i filtered-out the non working.

Still leaving with a lot of computers, i kept these for many years.

Now i only want the ones i’ve worked with, or are special to me.

My first computer was a Commodore Vic-20. Friends had the popular C64. So i kept 2 of both.
In Junior Technical School i’ve used the BBC Acorn a lot (Funny story below)
My then friend Richard had a Atari ST, loads of fun we had with that machine, so i’m keeping a Atari 1040STf.
Another friend used a Apple SE, so that one i also keep for now.
I’ve been programming a lot on 80×86, the first dos PC’s, i’m still looking for a old machine (Laser XT) which i used way back then. But for now i’ve got a Sinclair PC200.
I’ll keep a old Commodore PET 2001, because its cute.
Besides having a cute PET, i’ve got a Holborn System. Made in Holland (Enschede), there are only a few left according to some sites: only 200 made! (Holborn means Holland Born) One of the inventors was from Holten, my birthplace. (Polak)

Putting the system together in 2018

At school we kept a list of everyone’s collection.

Soo .. the story about the BBC Acorn.

When i was at school outside study hours, i went to the computer lab.
This was one classroom with about 16 BBC Acorns and a master (teacher station). When they saw how enthusiastic i was, i got the key to the classroom. I even got access to the master system. And after a little hacking i’ve gained access to the teachers files.
There was a simple network system, i think it was called Econet.
The teachers system was the only one with a disk station.

I liked the ‘highres’ line graphics you could make on the machines. (640×256)
So i’ve wrote a lot of programs using this mode.
I even wrote a program which drew a 3D robotarm on screen using wireframe graphics.
At that time my mathematics scores where .. bad.
Wasn’t interested i think.
But drawing 3D robotic arms are not possible using mathematics, like using sinus, triangulary etcetera.
So when my mathematics teacher saw my program, he didn’t believe me.
So .. fooling around in the computer lab, i missed start of classes. And later on .. worse .. i almost was not allowed to do my final exams.
I was late several times (and one of the first to leave, …. straight from and to the computer lab. )

I’ve got some programs printed on paper, i will use my leftover BBC Acorn (or a emulator) to capture some screen examples.

Sold stuff

UPDATE : Selling a lot, but i’ve bought some others between 2020-2023

  • SDK-85
  • Laser Xt/3
  • 80386 DX

Also a “new” 1084 monitor (CRT for a Commodore 64)
Now i have to look for a VGA Crt to get old vga-register manipulation programs working.

Icecream

Still hot outside, and i like coffee. So what about some coffee icecream!

Ingredients:

  • 200ml Milk (whole)
  • 3 spoons coffee
  • 90gr sugar
  • 4 egg yolks
  • 425ml liquid cream

Place a fine meshed strainer over a container. Put the coffee in the seive. Heat the milk (allmost boiling) and pour it over the coffee. Let it cool.
Dissolve the sugar in 150ml water. Bring to the boil for a few minutes.
Let this also cool for a few minutes.
Pour the sugarliquid to the container holding the eggyolks. Add the liquid cream and the coffee-milk solution.
Cool in the refrigerator and put into your icecream maker. Thats all.

Icemaker is a Cucina – HR2305

Used this ice maker for many years, a lot of different icecreams we made!

6502 news

Divers new additions to the 6502 project

Above is my design for a hex keyboard to enter opcodes in hex using a simple monitor program.
i used a 74ls922 which can decode a 4×4 matrix. I’d rather had a 74ls723 which can encode 20 keys.

Nowhere to be found. So i have to think of a new plan.

Now it is configured as follows:

CDEF
89AB
4567
0123

When pressing the alternate key

addr
(to implement)
run
(1/2 implemented)
reset
(to implement)
step instruction
(to implement)
memory next
memory previous
PCB design for matrix hexboard with place for notes

Meanwhile i’ve ordered new keys (the ones i’ve been using for my photomanager project and wnat to have a setup like this:

??addrrunreset
CDEF?
89ABstep
4567mem next
0123mem prev

When you want to show the status of busses and alike, you can’t use a led and restistor directly on the bus, it will require too much current.
So i’ve been using below schematic which uses a darlington array.

Now i can display databus, address bus and i’ve been using this for address decoding logic and hex keyboard.

I’ve implemented a second VIA chip, and ordered components to amplify the SID sound part

Music notation programs

I play several instruments, and know a lot of tunes by heart. But for some instruments i’d like to have a music sheet in front of me.
When playing new tunes or from my old stash, i need it on paper also.
And when i do, I’d like my music nicely printed and in the same style.

So i’ve been using multiple programs and tools to get a result i can live with.
I’ve got a huge collection of pipe and folk tunes, but whenever i decide that i’m going to play it more often then i’m going to re-create the music sheet.
The musicsheet will be printed and put in a folder. But also as PDF wil be placed in my calibre server, with i use to provide my tablets and phones with a digital version.
For automatically generating a PDF musicbook i’ve written some scripts.
These PDF’s i can use with my DIY bluetooth page turner.

For my bagpipe tunes i started a long time ago with a dos version of Bagpipe Music Writer. Getting a decent result from your printer was a b*tch. But it was do-able.

Several other programs i’ve tried but few stuck.
CelticPipes, Ceol Mor, Bagpipe (French), MusicTex, Lilypond for example.
I don’t like to click a symbol and place it on the bars, i like typing .. so i’m a little biased.
For midi and printing multi bar/staff music i also used Cakewalk Pro.

So i’ve been using the following software:

ABC Music notation :

X: 1
T:After the Battle of Aughrim
R:Polka
M:2/4
K:ADor
E2A2 ABcd | e2d2 c3A | B2G2 GFGA | B2AG E2D2 |
E2A2 ABcd | e2d2 e2ag | e2d2 BedB | A4 A4 :|
|:\
a2e2 e2fg | abag e2fg | abaf g3e | dedB G4 |
a2e2 e2fg | abag e2d2 | B2e2 d2B2 | A4 A4 :|
  • I use this mainly for Whistle and skeletal melody lines for Uilleann pipes (no ornaments)
  • Bagpipe IS possible but hard and ugly.
  • Multiple voices (harmony) is possible.
  • Chord names can be places above bars, as well as vocals.
  • I’ve made scripts with headers and footers to get the same output result.
  • Creating the music is typing the notes and ornaments in a text file.
  • Little chords for guitar mandoline are also possible.
# Edit/createing a abc music file
vi musicpiece.abc ; edit with plain editor
abcm2ps musicpiece.abc ; convert to ps
ps2pdf14 Out.ps musicpiece.pdf ; ps convert to pdf
Also EasyABC i use occasionally

Bagpipe music:

I still use Bagpipe Music Writer, but the free Player, which is a full version also. (Long story)
Using wine on linux it is usable.



In the past i made a virtual machine which could be controlled by a web form and some CGI scripts.
I could paste a “bmw” score in a webform which would be send to the virtual machine, a BMW program would be started, printed the tune as a PDF that was send to the website again.


For a long time i also had a abc music to PDF convertor on my website.

I like the way of writing the tunes .. just type abbreviations of ornaments to print.
When you know these you are faster than using a mouse!

& sharpf sharpc
I!	hdbe Er_8 'e LAl_16		gbr LA_4					dbe Er_8 'e LAl_16			gg Fr_16 El_16 Dl_8
!	dbe Er_8 'e LAl_16		gbr LA_4					dbhg HG_4					tg Fr_16 HAl_8 'ha
!	hdbe Er_8 'e LAl_16		gbr LA_4					dbe Er_8 'e LAl_16			gg Fr_16 El_16 Dl_8
!	dbb Br_8 'b LAl_16	gg LGr_8 'lg dg Bl_16					dbhg HG_4					tg Fr_16 HAl_8 'ha			!t

There is no way to write harmonies.
In the past i’ve been using a pdf editor to merge music bars and align those by hand.
I’ve stopped doing that. I just print 2 versions.
Sometimes i use MuseScore for harmonies and multiinstrumental sheets

Mhairi Bhan Og with multiple other midi instruments (a test composition I did in 2024)

I wil post my MusicBook compiler here, when i’ve cleaned up the code.
UPDATE: https://www.henriaanstoot.nl/2022/12/09/generating-pdfs-from-abc-files-to-include-in-tunebooks/

"If something is worth doing, it's worth overdoing."