Planet Nottinghack

11 August 2017

Martin Raynsford hackergotchi for Martin Raynsford

Reuleaux triangle coaster


I was approached with a design for a coaster using a Reuleaux triangle in the middle. It is a shape of constant width so it is able to rotate within a square just like a circle would. I made some tweaks to the design like putting in a lip on the middle layer to stop the shape falling out. It works and is fairly functional but it's not very smooth and it squeaks as it turns, I've yet to come up with sensible solutions to those problems.


by noreply@blogger.com (Martin Raynsford) at 11 August 2017 09:28 PM

07 August 2017

Martin Raynsford hackergotchi for Martin Raynsford

Geometric Embroidery T-Rex


The T-Rex is the last of the Dinosaur range for the moment, I have the knack of drawing now and the style and also I ended up buying 36 embroidery skeins so I'm sure there will be lots more variation in the future. For now, here are the dino buddies, happily playing together.


by noreply@blogger.com (Martin Raynsford) at 07 August 2017 10:12 PM

06 August 2017

Martin Raynsford hackergotchi for Martin Raynsford

Geometric Embroidery Triceratops


Another embroidery dinosaur, this one was much quicker to draw and now that I've found an embroidery needle it was much quicker to sew (please ignore the snag on the back like I did :p). I'm pleased with these so I expect I'll be putting a set of three up in the store shortly.




by noreply@blogger.com (Martin Raynsford) at 06 August 2017 08:20 PM

05 August 2017

Martin Raynsford hackergotchi for Martin Raynsford

Geometric Embroidery Velocirapter



I think the title just about sums it up, I was looking at some of the Cotton Clara designs and I was inspired to make my own embroidery designs based upon dinosaur shapes. I think they'd make fun little kits for kids.



by noreply@blogger.com (Martin Raynsford) at 05 August 2017 07:55 PM

04 August 2017

Martin Raynsford hackergotchi for Martin Raynsford

Lasercut Sugar Cookies


In a slightly strange obsession I've developed I've started trying to cut some edible materials. I've cut gingerbread in the past and it works ok but it's a bit stinky. This was a sugar cookie recipe I tried. As you can probably see immediately there was a big crack appearing on the surface before I even started cutting. The laser seemed to go through it easily and a lot of smoke came out from underneath, a sure sign it cut all the way through, turns out it hadn't though. When I eventually broke the shape out there appears to be a seam running across the middle of the biscuit too which made it snap in half that way. A bit of a failure all round and it was still stinky and didn't taste very nice so time to move onto the next recipe.



by noreply@blogger.com (Martin Raynsford) at 04 August 2017 01:05 PM

02 August 2017

Martin Raynsford hackergotchi for Martin Raynsford

Yet More Runes


As I mentioned a lot of games use rune systems, upon seeing my previous runes I was asked to make a set for another game, I wanted to make these more ornate than previous runes so I engraved a pattern onto the base tile and then outlined the rune on top of that (The inside of the rune isn't engraved with the pattern)


by noreply@blogger.com (Martin Raynsford) at 02 August 2017 09:13 PM

01 August 2017

Spencer Owen hackergotchi for Spencer Owen

Decoding ROM labels

Back in the earliest days of the RC2014, it came with a pre-programmed 64k ROM, with Microsoft BASIC on it in the first 8k, and it would work with 32k of RAM and a 68B50 ACIA.  One set up, one ROM, life was simple!

As time has gone on, and more options have become available, other ROM images, such as Microsoft BASIC for 56k RAM, or CP/M Monitor have been introduced.

Future possibilities, such as other UARTs, different CPUs or other variations will inevitably lead to more ROM images being needed.  So, in order to keep track of what is programmed where, ROMs are now being shipped out with a label on them.

Every ROM now has an 8 digit code on it.  Each digit, from left to right, refers to an 8k bank from 0x0000 to 0xD000.  This bank can be selected with the A13, A14, A15 jumpers;

Address A15 A14 A13 ROM Label
0000 0 0 0  Xooooooo
2000 0 0 1  oXoooooo
4000 0 1 0  ooXooooo
6000 0 1 1  oooXoooo
8000 1 0 0  ooooXooo
A000 1 0 1  oooooXoo
C000 1 1 0  ooooooXo
E000 1 1 1  oooooooX

 

The value of the digit represents the ROM image that sits in that particular 8k bank.  Currently, it will be one of the following;

0 – Empty bank, available for user to program

R – Microsoft BASIC, for 32k RAM, 68B50 ACIA, with origin 0x0000

K – Microsoft BASIC, for 56k RAM, 68B50 ACIA, with origin 0x0000

1 – CP/M Monitor, for pageable ROM, 64k RAM, 68B50 ACIA, CF Module at 0x10, with origin at 0x0000

2 – Microsoft BASIC, for 32k RAM, SIO/2, with origin 0x0000

4 – Microsoft BASIC, for 56k RAM, SIO/2, with origin 0x0000

5 – Microsoft BASIC, for CP/M installation,64k RAM, 68B50 ACIA, CF Module at 0x10, with origin at 0x2000

6 – CP/M Monitor, for pageable ROM, 64k RAM, SIO/2, CF Module at 0x10, with origin at 0x0000

 

As more ROM images are added, this list will be updated.

 

Standard factory ROM images can be downloaded from Github https://github.com/RC2014Z80/RC2014/tree/master/ROMs/Factory

by Spencer at 01 August 2017 08:42 AM

31 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Cake Baking


We baked cakes, of course letting Hazel chose something from the Halloween cookbook probably wasn't the best idea but a good time was had by all. They were yummy too.




by noreply@blogger.com (Martin Raynsford) at 31 July 2017 03:22 PM

30 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Currency System


I was asked to envisage a currency system for a futuristic LARP game. I came up with these denominational coins, each value has a different shape and colour to signify it's different value. The number is engraved on the reverse so it adds depth to the token. There are fine details drawn with line art on the top to replicate the intaglio printing found on banknotes. Finally each curved section was made with the same curve, this means each coin can tessellate on it's own sheet to optimise cutting but they also tessellate with the other coins to form more interesting patterns.

I tried a couple of different styles with the plastic backing sheet but ultimately I think they work best with the whole thing peeled off before cutting the details.





by noreply@blogger.com (Martin Raynsford) at 30 July 2017 05:21 PM

29 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Electric Drill Cake


Dawn recently made this stunning electric drill cake and casually mentioned that it would have been cool if the drill bit was rotating. I jumped straight on it and made this little unit which could rotate a plastic tube around a metal shaft. The threaded rod can support the cake and the drill bit can be applied to the tube. The plastic tube comes off the threaded rod to allow it to be decorated easily.
Sadly I don't think there are any videos of it rotating but I did take a video of the motor in action.




by noreply@blogger.com (Martin Raynsford) at 29 July 2017 05:22 PM

28 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Second Number Display


Vale LRP has two distinct alliances, two sides of the war battling against each other. This means I often get to make the same thing for both sides but they should be done with different styles. This number display was done in the style of my church windows. The LEDs shine through a piece of thin flexible wood veneer so when they are off the whole thing just looks like a piece of wood. This display was fixed into the infernal machine along with many other parts I've made for it, 5 Point Iris, Planetary Gears, Knife Switches and Filling Mechanism

by noreply@blogger.com (Martin Raynsford) at 28 July 2017 05:58 PM

27 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Curved Lid Box


The curved lid that I vacuum glued veneer over was used to make this box. It was made quickly to look like a wooden chest but it was never intended to be functional. The side panel is made from a single section so that it always stays open and the lid can't close. The whole thing was skinned in a wood veneer to make it the same colour as the lid and some metallic card was wrapped around the box to look like bindings. Inside the box is a scroll of paper that is used to display 'mystical' numbers. I will write about that project as soon as I get it back but for now I'm missing photos of the hardware.

by noreply@blogger.com (Martin Raynsford) at 27 July 2017 08:50 AM

25 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Wargaming Counter Bases


Using the same magnetic counter technique I had on the Tigris counters I made up these bases which track the stats of the character sat on it. It's all a little bit small and fiddly but it was functional. I think it would need another iteration to actually be useful.


by noreply@blogger.com (Martin Raynsford) at 25 July 2017 09:34 PM

24 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Zaros Godsword


Another collaboration with Eldritch, this is the Zaros Godsword from Runescape. Using this image as a reference I was able to draw up and cut the sword, although I quickly realised the sword in the image isn't straight so I had to take a few liberties with the final piece. It's built like a normal LRP weapon with a carbon fibre rod core and multiple layers of plastazote LD45 foam. The finished piece was glued, latexed and coloured by Eldritch.



It's a bit hard to see on the white foam but the blade was actually engraved with a design.



by noreply@blogger.com (Martin Raynsford) at 24 July 2017 04:54 PM

23 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Gluing curved surfaces


I wanted to make a curve lid for a classic pirate style treasure chest, I didn't really consider it before making and before I knew it I had stacked dozens of pieces of 6mm ply into a pile to give me the right shape. It doesn't leave a very nice edge though so I decided to skin it with a piece of flexible wood veneer. I started by gluing the veneer along one edge of the curve but I didn't have enough clamps to hold it in place across the whole surface. The solution is to vacuum seal the whole thing in a ziplock bag. It's a very simple process where I sucked the air out of the back once the curve had been glued and this provided suitable pressure to hold the veneer in place until the glue had dried. I use evo stick wood glue with resin that grips the material in about 5 minutes. After that point you can remove the item from the bag and it will dry properly over the next 24 hours. I didn't take any specific pictures of the lid but I'll have some images of the box soon. 





by noreply@blogger.com (Martin Raynsford) at 23 July 2017 05:11 PM

Iain Sharp

A nice 3rd party sequencer for the LushOne

Rakits Baby 8

I often get asked “is there a sequencer for the LushOne” and the answer, currently, is “no, because I never got around to designing one”. Of course, the LushOne has slightly non-standard voltages (at least relative to Eurorack norms) which means that a lot of off-the-shelf sequencers need some external adaptors to nicely connect.

I was delighted recently when a customer who had asked about a sequencer sent me a link to the Baby 8 available from Rakits (also in the UK). This little kit is about as close to an ideal beginner’s sequencer for the LushOne as you can get. The output voltages (0V-5V) are compatible with LushOne gate and CV inputs. The power supply voltage is the same as the LushOne and the design is very similar to the “all on the PCB” approach in the LushOne. The only things that are different are the board size and the connectors.

For the connectors, I added a mezzanine board on the side (see photo) to make the outputs accessible with 2mm banana plugs.  In my installation, it doesn’t need an external ground connector because it shares the power supply ground with the rest of the system.

It’s a straight-forward kit to build – all based on through-hole components. It uses the classic 4017 sequencer concept, but despite this simplicity it has some nice touches – variable gate pulse width and a gate skip feature on each step. All in all, a nice addition to any LushOne system.

by Iain at 23 July 2017 03:36 PM

22 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Welsh Masters Item


I made another item for the Welsh Masters this year, this is their logo cut from 2mm mdf, there was another layer which went on top and brought out the details of the face but I've misplaced the photo.

by noreply@blogger.com (Martin Raynsford) at 22 July 2017 05:13 PM

21 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Nespresso Pod Holder


While not completely my own build, a friend bought a wall mounted nespresso pod holder and was worried about the pods scratching the wall. I simply cut a sheet of polypropylene to go behind it which is lightweight, cheap and should prevent all scratching. 




by noreply@blogger.com (Martin Raynsford) at 21 July 2017 05:52 PM

20 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Character Shrine


I found a picture of my goblin character, that I engraved as a test piece, in the pile of scrap wood I was burning on the camp fire. I put it up in the tent and it became a mini shrine, in a self indulgent moment I decided to elaborate on the joke and made this whole mini shrine devoted to the character. It hasn't received any gifts yet but it was a fun little build.


by noreply@blogger.com (Martin Raynsford) at 20 July 2017 05:41 PM

19 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

My Vale Runes



I ordered a large jailers key ring to hold my own set of runes and when it arrived I quickly realised that the hole wasn't large enough. This was a good excuse to cut my own set of runes from real wood instead of ply, this is 2mm oak. by converting the runes to a trapezium shape I was also able to achieve tessellation for a very efficient use of material. 


by noreply@blogger.com (Martin Raynsford) at 19 July 2017 02:55 PM

18 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Vale Runes


Like most LRP games Vale has a rune system, each rune forms part of an alphabet and also has an inverse rune. I created a set of runes which include the description but also have the inverse description on the rear. These runes are used to help focus the rituals for the game and invoking the right combination of runes is the difference between success and fail for a ritual. I put a simple string hole in these with the intention that whoever gets them can tie the ones they're currently using to their own kit.



by noreply@blogger.com (Martin Raynsford) at 18 July 2017 10:15 PM

17 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Door strip



The strip between the wooden floor in the lounge and the tiled floor in the kitchen died, largely through old age and bad installation from the previous owners. When I tried to replace it I realised the problem of finding exactly the right profile for the gap. The closest thing I found took 3 days to arrive, cost a fortune and was totally wrong when it finally arrived. 
Stacking up a zillion pieces of 6mm laser ply is never fun but I actually whizzed through it in an hour because I squared them up against an angled piece of aluminium I had lying around. The whole thing was skinned with flexible 0.8mm Birch ply. In one evening I have exactly the right piece required to span the gap, nearly 2 months later it's holding up really well (a little grubby because I forgot to varnish it). I just need to lift it again now and finish it off properly.



by noreply@blogger.com (Martin Raynsford) at 17 July 2017 03:56 PM

16 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

40th Anniversary Cake Topper


My parents had their 40th wedding anniversary and my sister asked me to make a cake topper for the cake she was making. 


by noreply@blogger.com (Martin Raynsford) at 16 July 2017 05:39 PM

15 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Wargaming bases


When I'm cutting things like the caverna building trays I have a lot of gaps left over which I could easily fit something small into. My wargaming friends suggested I create some bases for their models so I threw together a few different designs for them to try. There are planks, deck plates, cobbles and gratings I just need to get someone to paint them up now. (svg here)






by noreply@blogger.com (Martin Raynsford) at 15 July 2017 05:54 PM

14 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

6mm Animals



At the Newcastle maker faire this year I spoke to someone who was producing wooden shapes from 6mm mdf using a CNC router. The process was relatively slow, dusty and required a tiny end mill to get into all the gaps. I ran these shapes through the laser cutter to get a rough time estimate for him and he now owns a laser cutter. 


by noreply@blogger.com (Martin Raynsford) at 14 July 2017 05:31 PM

13 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Raspberry Pi Case


I showed a few revisions of my raspberry Pi case previously. The final design was based upon this two part flex box so that the case can be made from just two parts and assembled without any fixings. Ventilation holes were put in the top and the USB, network and SD card are all accessible. The lower bend radius is a little bit tight so you'll need to be careful if you put one together but once it is assembled it's actually very sturdy. (svg here)




  

by noreply@blogger.com (Martin Raynsford) at 13 July 2017 05:48 PM

12 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Pyramid Display Case


This display case was a prop for a LRP event, the panels were made from clear perspex and engraved with various runes so that they would light up when the glass was edge lit. The base also has all the runes engraved onto it. There was some magic item to be placed inside the case so the sides all needed to fold down flat, this was achieved by threading some leather thong along the bottom edge of each panel. Hazel is included for scale :)







by noreply@blogger.com (Martin Raynsford) at 12 July 2017 05:39 PM

11 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Superman Logo


I made another superman logo for a cosplayer in the same style as this one. It's actually two layers of 6mm LD45 foam but it's a bit hard to tell from the photo.

by noreply@blogger.com (Martin Raynsford) at 11 July 2017 09:29 PM

10 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Ring Mail


I bought a chainmail shirt from ebay for £26, it was a bargain, I couldn't even buy the rings to make a chainmail shirt for that amount. It fitted me perfectly and was manufactured moderately well (for £26 anyway). So clearly the next thing to do was to dismantle it and completely rebuild it into another shirt. More accurately I turned a chain mail shirt into a ring mail shirt which weighs just under half as much. The rings are only aluminium so it's pretty lightweight in both case but the last time I went to Vale LRP I ended up walking 60km so the lighter the better.

It took about 2 weeks to build in my spare moments and I can't wait to try it out this coming weekend. If I get any good pictures of me in kit I'll be sure to share them with you. (no lasers were harmed in any way during the making of this item)

by noreply@blogger.com (Martin Raynsford) at 10 July 2017 10:49 PM

09 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Bear and Hare Kit


I made this Bear and Hare kit for the Christmas craft faires, I can't seem to find it on the blog though. The characters are poseable but because the joints are friction fit if you move it around too much they do work loose. I was able to put the assembly drawing into the space on the kit as a line drawing which works nicely. The whole thing fits into an envelope so you can post them to friends.

The original shark kit is up in my etsy store and I'm still looking for someone to take away the big sharks for me.






by noreply@blogger.com (Martin Raynsford) at 09 July 2017 07:51 PM

08 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Judgy Jewellery


A silly facebook conversation led me to make this stunning piece of jewellery. It's just junk really but the best thing about the laser cutter is that I was able to draw this up, cut it out of scrap and post photos back into the conversation, all in just a few minutes.

by noreply@blogger.com (Martin Raynsford) at 08 July 2017 07:06 PM

07 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Gaming Rulers


Another set of gaming rulers, these are plain and simple and customised with a symbol. I'm sure I could be more descriptive if I actually played war games but I just make what I'm asked for.



by noreply@blogger.com (Martin Raynsford) at 07 July 2017 07:40 PM

06 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Starter Loom Kit


A friend started spinning her own wool into yarn and was interesting in weaving it into material. I put together this starter loom for her to try, sadly she's still working on getting enough yarn to actually use it but there may be an update at some point in the future. (svg here)

by noreply@blogger.com (Martin Raynsford) at 06 July 2017 07:54 PM

05 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Pratchett Jewellery



Continuing the Pratchett theme, Ruth (who drew a gorgeous goblin on the top of my vale box) drew these designs to be turned into jewellery. The engraving shows up really well on the black acrylic. 



by noreply@blogger.com (Martin Raynsford) at 05 July 2017 10:16 PM

04 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Rincewind - World Book Day


This will give you some idea how far behind I am at blogging, World Book Day 2017 was on the 2nd March. Eli wanted to go to school as Rincewind the wizzard because we'd just finished reading 'The colour of magic'. I modified some robes, painted them with occult symbols, scratch built a pointy hat from a scrap of red fabric and threw together the luggage as an accessory. There wasn't much laser cutting involved really but being able to throw out dozens of little feet in just a few minutes really helped this build come together. The rest of the box is just a normal cardboard box with the flaps bent over to make a curved lid.




by noreply@blogger.com (Martin Raynsford) at 04 July 2017 09:59 PM

03 July 2017

Martin Raynsford hackergotchi for Martin Raynsford

Zentangle


I was testing out some of the line drawing capabilities of the smaller 35W tubes, in theory because they have less power it should be a lot easier to make these marks without cutting all the way through the material. Zentangles are simple doodles using structured patterns, some people use them for meditative practice. It turns out that drawing them on a computer is equally soothing, this sampler came out really well from a bunch of simple patterns.






by noreply@blogger.com (Martin Raynsford) at 03 July 2017 09:52 PM

30 June 2017

Spencer Owen hackergotchi for Spencer Owen

Backplane Motherboard Lacing

Having the ability to isolate some slots on the Backplane 8 can be very handy at times, and putting some protection in between modules can be very worthwhile.  However, if you want to connect the outer slots, then soldering little links can be fiddly and time consuming.

 

Thankfully, there’s a quick and easy way to do it.

The photos are probably self explanatory, but get a length of 300-400mm of stripped solid core wire and solder it through one hole to hold the end in place.  Then lace it all the way down, going horizontally on the top of the board and diagonally underneath.  Don’t worry if it’s not too neat underneath.  Solder each joint (I find it easiest from the top before all the sockets are in place, or from underneath if they are already fitted).  Then simply cut all the diagonal links off of the underside.  Job done!

 

by Spencer at 30 June 2017 04:36 PM

01 June 2017

Spencer Owen hackergotchi for Spencer Owen

Peripheral Addressing

The RC2014 currently uses a very simple, although inefficient method of addressing peripherals.  Most of the expansion modules feature a 74HCT138 used to provide up to 8 enable lines from 3 address signals.  For the purposes of this document, I will mainly refer to the Digital I/O Module, but the principals apply to all modules with a 74HCT138 (generally referred to simply as ‘138)

It is worth noting that the Z80 CPU can address up to 255 Input or 155 output addresses.  These are selected by the first 8 address lines (A0 – A7), IORQ going low and either WR or RD going low.

The ’138 has 3 enable pins, G1, G2B, G2A, all of which need to be true (G1 needs to be high, and both G2B and G2A need to be low) for the ‘138 to be enabled.  When it is enabled, the 3 address lines, A0, A1, A2 are read.  These 3 addresses have 8 possible combinations (000, 001, 010, 011, 100, 101, 110, 111), which will activate one of the 8 outputs Y0 to Y7.

In the Digital I/O Module, the ‘138 is activated when M1 is high, IORQ is low and A7 is low.  This corresponds to any port from 0 to 127 (IORQ being low indicates the address bus represents port, and A7 being low indicates the address bus is lower than 127).  [Side note – Serial I/O Module uses addresses 128 and 129, which are indicated by A7 being high].

The Z80 address pins A0 and A1, along with WR are connected to the address pins A0, A1, A2 on the ‘138.  This gives 4 addresses (00, 01, 10, 11) with the write bit high, and 4 with it low.

In normal use, the ports are addressed as 0 (In 0 or Out 0) on the Digital I/O Module.  (Or port 0, 1, 2 on the Digital Input module, for example).  However, any address that has A0, A1 and A7 low will work; 0—–00.  So echoes of this will appear on 4, 8, 12… 124.  So, whilst this works, and is fine for a small system without much I/O requirements, it quickly becomes inefficient as you need more ports.  In particular, it will clash with the Compact Flash Storage Module, which can have an impact on running CP/M.

In an ideal world, every peripheral should have a unique address, and with a lot of digital logic, this is certainly possible to do.  However, it will add both complexity and cost as well as needing more board space.

The easy solution, however, involves just 6 diodes and a resistor.  By connecting address lines A2 – A7 to the anode of each diode and the cathode of each diode to the G2A enable pin on the ‘138, any address above 00000011 will prevent the ‘138 from being enabled.  Effectively all the diodes are acting as a very simple OR gate.  A 10k resistor will bias the output low.

So with this set up, it will give just 4 unique addresses; 00000000, 00000001, 00000010, 00000011 (ie 0, 1, 2, 3) which for the Digital I/O Module, or the Digital Input or Digital Output is ideal.

Other addresses can be selected by changing which address pin the diodes are connected to.  So, for example, if A1 was connected to a diode instead of A3, and A3 went to the ‘138, the addresses would be 00000000, 00000001, 00001000, 00001001 (ie 0, 1, 8, 9).  Whilst it cuts down on the echoes at higher addresses, it’s still not perfect – but much better and still very cheap with minimal extra board space needed.

The Digital I/O Module has now been updated to reflect this change.  As PCB stocks run low on other modules, they too will have similar updates.  If you already have a non-diode selectable module, and wish to implement this, it is actually very simple to do as shown below.

by Spencer at 01 June 2017 02:21 PM

04 May 2017

Martin Raynsford hackergotchi for Martin Raynsford

Customised Bird Box


One of the great things about laser cutters is mass customisation, you can make lots of the same thing but customise them all to be personalised. This was just a standard bird box we bought from a store (because I didn't have time to make a whole one) but we were able to engrave names and dates on it quickly for a diamond anniversary present. The Z axis on the laser cutter drops down low enough to get the whole box under the cutting head so the process was relatively simple.



by noreply@blogger.com (Martin Raynsford) at 04 May 2017 08:00 PM

02 May 2017

Spencer Owen hackergotchi for Spencer Owen

Retro Challenge 2017/4 – Rack Teardown and Wrap Up

Ok, firstly, apologies for the lateness of this post.  The stuff below was actually done a couple of weeks ago, but time has just got away from me.  Hence this is being written up 2 days past the closing date for RC2017/4.  Sorry

Anyway, this part of my challenge involves investigating a rack that came as part of the old stuff that I picked up.  Looks like a 3 bay x 12 slot Eurocard rack.  Lets take a closer look…

At the back of the rack there’s 3 big power supplies.  Very big!  One for each of the 3 bays supplying 12v and 5v.

There were no cards in the rack when I got it, so the obvious thing to do is check they fit… well, no, not quite.  The guides take the cards in at quite an angle.  I assumed that there’s some adjustment and it just needs a bit of tweaking to get everything straight.  Lets start taking things apart to do that…

The top and bottom panels slide out without too much trouble after removing a couple of screws…

The 3 power supplies need to be removed to get at the back of the bays

Can’t see any adjustment yet.  However, we can see where the power rails are connected

Looks like the power rails are very very beefy!

On closer inspection, the PCBs are trippled up!  3 layers of PCB! Why?  The sockets are, I assume, wire-wrap sockets, hence having leads long enough to get through 3 boards.

And, not only that, but everything apart from the power has been disconnected between sockets.  Judging by the straightness, it’s been cut by hand!

And, looking at all the support rails and hardware, they have all been cut to length by hand too… but not with any consistency – hence the wonkyness of the cards.

Further investigation shows that nothing is likely to line up, the backplane is, well, just odd, but that the new backplane boards (which would feature in a later part of this Retro Challenge) would fit.

In all honesty, I really don’t know what to do with this.  I suspect that it was probably built as some kind of test rig, but I doubt that it’s actually been put to any use otherwise cards would slide in and out.  Apart from a lot of dust, there’s not really any signs of use.  However, I’ve got some 10 slot and 12 slot backplane PCBs that are new and unused, so it is tempting to re-cut all the hardware to accommodate 3 of those.  But, that would still beg the question about what I would do with it.  Hmmm… maybe this will reappear in another Retro Challenge some time in the future.  Who knows?

by Spencer at 02 May 2017 09:30 PM

01 May 2017

Iain Sharp

A DSONano tile for my LushOne system

Portable oscilloscopes seems to be a product category where nobody ever gets things quite right. There are some signs that the new generation of tablet-based scopes will finally fix that, but for now we make do as best we can. My portable scope is a DSO-Nano v2 which was a present from my wife. I use third-party software on it which has a lot of improvements compared to the official load but it’s still klunky. Having said that, if you just what to quickly check an audio frequency waveform it really is something you can take anywhere.

I’ve also found the DSO-Nano useful as something I can quickly fire-up to check signals in my LushOne modular synthesizer system. So, having given my synth a permanent home it seemed natural to fill the one empty tile with a mounting for the DSO-Nano.

The tile was made from scrap items and parts-box contents. For the board I used an old prototype LushOne PCB which I covered in black tape to make it look tidy. The DSO-Nano is just held on with velcro so it can easily be detached for other uses. An old USB-mini lead was cut-up and connected to a 5V regulator to provide power to the scope. An old 3.5mm jack lead (broken at one end) was “upcycled” to provide a break-out to the 2mm sockets used in the LushOne.

I like the result – it gives the system a nice feeling of completeness and adds a valuable tool.

by Iain at 01 May 2017 04:06 PM

30 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

vanillabox unsuccessful crowdfunding


It’s our sad news to announce that we did not successfully attract enough backers to go forward with further development and production of the vanillabox laser cutter. We’d like to thank all those who did back us (you’ve been emailed separately) and to everyone who has supported us through emails, tweets and interest during this project. As of right now, we are unsure what future the vanillabox has.

Team vanillabox

Dominic Morrow, Martin Raynsford , Ian Dickinson

by noreply@blogger.com (Martin Raynsford) at 30 April 2017 01:39 PM

26 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

1000 Sharks need a new home


To celebrate making 1000 different things on my blog, I made 1000 sharks in a big shark tank, we took it to Derby Maker Faire and now we're not sure what to to with it. If you would like to own the project it can now be yours, you will need to come and collect it from Nottingham and you will need a transit van to put it in (or you could just take the sharks). Please email me if you would like it, msraynsford@gmail.com


by noreply@blogger.com (Martin Raynsford) at 26 April 2017 11:27 AM

23 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

Parquet Flooring


There are a lot of interesting floor tiling patterns that I thought it would be fun to recreate for model makers. This parquet flooring pattern is neat and efficient. All the 'planks' can be lined up and cut together from a single sheet of material ensuring all the grain runs the same way before being cut and that just adds to the effect once they have been placed. I drew the pattern on the base plate to ensure everything was lined up squarely as it was glued in to place.


by noreply@blogger.com (Martin Raynsford) at 23 April 2017 09:29 PM

22 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

Fancy Box


Another vanillabox sample, this time a fancy box. I wanted it to be different to all the other boxes I've made, I didn't want any visible finger joints and I wanted a fancy pattern on the sides. It's effectively a two skin box, the inner holds the finger joints and the out has the decorative panels, the lid overlaps the inner to make it stay in place. The inside of the hex pattern was engraved to make it appear to be cut from a different material (although with the two skins it could actually have been cut on the inner layer). Low power lines complete the knot work appearance. I'd be tempted to make it again as a hexagonal box so I'm going to hold the files back for the time being.



by noreply@blogger.com (Martin Raynsford) at 22 April 2017 02:15 PM

19 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

Metal Inlay


Another vanillabox sample piece, this time I wanted to demonstrate what could be done with a little bit of imagination. The large block of oak was cut by hand and the pattern cut into the top surface. Each ring was made by putting multiple low power cuts next to each other, this left a gap that was large/deep enough to accept a strip of metal which was hammered into place. The whole thing was sanded, varnished and polished within an inch of its life.

I was intending to write an instructable about how to do this but somebody else beat me to it so if you want to make your own inlays I would suggest you read this instead.


by noreply@blogger.com (Martin Raynsford) at 19 April 2017 10:57 PM

17 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

Lasercut Vase and Flowers


While making samples for the vanillabox I was keen to experiment with new/cheap materials. I modelled this vase in 3D and sliced it with 123D make (which now appears to have gone), I cut each layer in corrugated card. I actually started life as a lampshade but it didn't let enough light through so when it was flipped upside down I realised it would make a nice vase. The petals for the flowers were all cut from crepe paper using a very low power so as to minimise the burning around the edges. The petals were wrapped with floral tape and wire to create the flower shapes. At the maker faire we had to label the item because people didn't realise the flowers were laser cut.


by noreply@blogger.com (Martin Raynsford) at 17 April 2017 01:22 PM

12 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

Infill Acrylic


A lot of work has been done to use a wax infill on engraved items to provide a high colour contrast. For this cat image I achieved the same effect using acrylic paint instead. The process is relatively simple, the acrylic was engraved and cut with the protective layer still on the sheet. The engraving was done through the cover which left some texture in the dent. The whole thing was painted black afterwards and when the paint had dried I peeled off the protective layer, essentially making my own stencil for the item I had just cut. It's a rather effective technique I'm sure you'll agree. (svg here)


by noreply@blogger.com (Martin Raynsford) at 12 April 2017 07:59 PM

Spencer Owen hackergotchi for Spencer Owen

Retro Challenge 2017/4 – Keyboard Investigations

After a visual check of the keyboards (see this post), I had a couple of questions, which were do the keyboards work? and how do the keyboards work?

On the basis that neither of the Alphameric had their EPROM windows covered, and that one of the Cherry keyboards had already been modified, I chose the other Cherry one as the most likely to work.  After opening it up (again), I checked the 20 pin header.  It was quite easy to find out what the 5v and Ground pins were (traceable to the power pins on the logic chips and corresponds to red and black wires on pin 1 & 2!), but the others were going to need something more to diagnose

Time to break out the oscilloscope!  It didn’t take long to discover that the pins 3-9 changed upon pressing a key.  Curiously, they didn’t didn’t change when releasing the key though.  Also, depending on which key was pressed, they might not change at all.  Pin 9 was most likely to change and pin 3 was least likely to change.

So, there we have a 7 bit ASCII pattern!  The value was being latched, and pin 11 was a pulse to indicate that a valid signal was ready to be read.

For last years Retro Challenge Andy Collins had done pretty much the same but opposite thing, where he had a faulty Alphameric keyboard that he replaced with an Arduino & USB keyboard.  The timing diagram was particularly useful, so thanks Andy!

If an Arduino can be used to simulate being a keyboard, then it can also be used to read one!  So I plugged in a cheap Uno that I had lying around and wrote a quick sketch to read the data pins D0 – D6 every time the strobe pin goes high, then convert this in to an ASCII number and print the character on the serial port.  I also got it to print out the ASCII code itself, which was handy for working out what keys had non-printable characters

The regular keys A-Z were affected by the two modifier keys to give 3 different characters (a, A and ASCII 1, or b, B and ASCII 2 etc.).  The Del key was the only other one to have 2 modified outputs, but most of the others had just one output regardless of the shift or control key being pushed.

I had a spare Arduino Mini Pro clone lying around and also a 25 pin D socket, so I figured it might be handy to make up a slightly more permanent adaptor that will plug in to the keyboard.  Some of the soldering is a bit dodgy here, but it’s all solid enough :-)

Also, the important thing is that it all fits inside the 25 pin D shell!

The Cherry keyboard worked exactly as expected, and allows me to use it with my RC2014!  However, I wanted to know if the other, Alphameric keyboards would work too.

They had the same connection, although I hadn’t done any of the diagnostic work that I did with the Cherry one – but it was worth taking a chance.  And it turns out that yes, they work too!  Well, the regular Alphameric keyboard works exactly as the Cherry one does!

The one with the hex keyboard, though, only partially works.  The main keyboard section works as expected, however, the hex keypad sends out odd key codes.  Some of them output several characters, and can even put the RC2014 or the Arduino adaptor in to a weird mode that means the main keyboard types weird stuff until it is reset.  Not sure if this is something to do with bit corruption in the EPROM, or some other kind of error, or if it’s actually by design – however, that’s for diagnosis another time.  There’s still lots more stuff I need to go through yet and time is ticking away…

Arduino Code

#define Strobe 9
#define DATA0 8
#define DATA1 7
#define DATA2 6
#define DATA3 5
#define DATA4 4
#define DATA5 3
#define DATA6 2

int DATABYTE = 0;

void setup() {
  pinMode(DATA0, INPUT);
  pinMode(DATA1, INPUT);
  pinMode(DATA2, INPUT);
  pinMode(DATA3, INPUT);
  pinMode(DATA4, INPUT);
  pinMode(DATA5, INPUT);
  pinMode(DATA6, INPUT);
  pinMode(Strobe, INPUT);
  digitalWrite (Strobe, HIGH);
  Serial1.begin(115200);
  //Serial.println ("Started");
}

void loop() {
int pulse = digitalRead(Strobe);
  if (pulse == 0 ) {
    printASCII();
  }
}

void printASCII() {
  delay (1);
  DATABYTE = ((digitalRead(DATA0)) + (digitalRead(DATA1) * 2) + (digitalRead(DATA2) * 4) + (digitalRead(DATA3) * 8) + (digitalRead(DATA4) * 16) + (digitalRead(DATA5) * 32) + (digitalRead(DATA6) * 64));
  //Serial.print(DATABYTE);
  //Serial.print(" ");
  Serial1.print(char(DATABYTE));
  delay(10);
}

 

by Spencer at 12 April 2017 02:44 PM

10 April 2017

Spencer Owen hackergotchi for Spencer Owen

Retro Challenge 2017/4 – The Key(board) to Happiness

Next up on the things to investigate is the 4 keyboards

Judging by the connectors, it was obvious that these aren’t modern (PS2, USB or even 5 pin DIN) keyboards.  Likely either a raw matrix or maybe parallel ASCII.  Lets open them up and have a poke around!

First off the block was this dusty looking thing.

Initially I didn’t take much notice of the sticker on the bottom, so when I opened it up, I was surprised to see it was a Cherry keyboard.  Of course this was before the days before colour, so the Cherry Green or Cherry Red key switches weren’t an option – These were just generic black.

The use of an EPROM in a keyboard came as a bit of a surprise to me too.  However, it makes sense.  There is a Philips MAB8035HL microprocessor onboard, which does all the row and column scanning, then, presumably , looks up the character that this key corresponds to on the EPROM, and puts the ASCII value of that character on the parallel connector.  Using an EPROM for this would allow for different locales.

This particular one had the original connector cable replaced with a 20 pin ribbon cable socket.  This may be of some relevance later in this Retro Challenge!

Next up was another one virtually the same.  The only difference of note though is the original cable, terminated with a 25 pin D plug, was still in place.

The third keyboard was a bit more solid construction, and was branded as Alphameric.  It had a similar design with an 8035 microprocessor and a 2k EPROM.  Interestingly, they had stuck an identifying sticker on the EPROM, but not over the window!  I’ve no idea how UV-proof the keyboard case is, or if it’s been stored in a dark location for most of it’s life, but I’d assume that at least some of the bits would have leaked out over time and got carried away on a sunbeam.

The external connector was a 25 pin D, although internally it was fed from a 16 way ribbon cable.

Of the 4 keyboards, this last one was my favourite.  Really, who doesn’t like a keyboard with a hexadecimal number pad!  Maybe the designers were very forward-looking and anticipated the rise of IPv6! ;-)

This was obviously from the same range as the previous Alphameric keyboard as everything about the PCB and layout was the same, with the obvious additional keys on the number pad.  Curiously, not only did this have all the numbers from 0-F, but 10 function keys and also 5 unmarked keys.  One of these keys had an extra heavy duty spring under it, so possibly this is a reset button or something else important that you don’t want to push by accident.  Again, the EPROM window had been missed by the sticker!

The case itself is a combination of moulded plastic and some kind of compressed moulded heavy fibreboard type stuff for the base/sides.

Connection was via the same kind of ribbon cable to 25 pin D plug.  I traced a few of the connections through and have identified the power & ground pins and 9 data pins (8 data and 1 strobe? or 7 data and 2 control lines?).

Next step is to feed them some power and see what data comes out.  I’m hopeful that the EPROMs with non-covered windows are still intact, but will start with one of the Cherry ones, just to get an idea of what to expect.  It will also be worth pulling the EPROMs and sticking them in a reader – partly to archive them, partly to see the code they run, and partly to play around with the character map.  That might not happen during this Retro Challenge time frame though.

Alphameric was disolved in 2007, however, the keyboard side of the business was sold off in 2004 to Devlin, who make commercial input devices.

by Spencer at 10 April 2017 03:34 PM

07 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

New Product: Caverna Building Trays


My web stores have been down for some time while I've been working on other projects but I'm finally bringing out some new products (and old ones back up to speed). I've been working on a lot of game trays for the different board games we play. These Caverna trays hold all the buildings in their appropriate places making it quick and easy to set up the game. Next step is to rejig my older meeple trays to better fit the box.






by noreply@blogger.com (Martin Raynsford) at 07 April 2017 09:52 PM

Spencer Owen hackergotchi for Spencer Owen

Retro Challenge 2017/4 – ICE ICE Maybe

I decided the easiest thing to tackle first would be the three ICE (In-Circuit Emulators) as they’re quite bulky things to get out of the way early.  There are two non-identical versions of the same model Adtek ICE Engine BX and a Zax ICD278 – all with manuals!

Although they all have PAT stickers on to indicate they were tested safe in 2001/2002, before plugging anything in I wanted to check inside for bulging capacitors, leaky batteries or any metal debris that might be floating around inside.  Also, I wanted to know what was actually in these machines!

Inside the ICE Engine Bx is quite full.  This unit is not only an ICE but also an EPROM programmer and a UV EPROM eraser too!  The bulk of it is made up of 3 boards with off the shelf logic, all connected to a backplane.  One of them had a 3 slot backplane the other had a 4 slot one, with one empty slot

Everything looked in order on both machines.  Even the rechargable battery on one of the boards was fine and showed no signs of leakage and all the caps were visually ok.

According to the manual, these could be connected to a CP/M machine running their software (which I did not have) or used with a dumb terminal.  The terminal options looked like the easy option, so I figured I’d give it a go with PuTTY running my Linux desktop

Sadly, no combination of serial cables, baud rates, ports, with or without the probe* gave any joy.  The units both powered up and the lights came on, but I just couldn’t get anything coming out of the serial port.

* The probe needs two 60 pin ribbon cables – which I don’t have.  The unit should work without (and should report ‘No probe connected’ if used for debugging.)  If I used 40 way cables, though, the lights came on – but still nothing on the serial port.

I wondered if all of the cables and adapters I had were faulty, but figured that plugging in the Zax ICD278 couldn’t make things any worse

 

But it turns out that this sprang in to life with some console messages straight away!  I hadn’t opened this one up to check the caps or battery, and I hadn’t looked through the manual at all, but it seemed to work and typing random commands seemed to do things.  Typing a R for example showed the current state of all Z80 registers.  So, it was worth reading the manual and trying things out

One of the first things I learned is that the manual isn’t for a Zax ICD278, but for a Zax ERX 64180 (well, ok, I could have just read what was written on the cover!).  Some of the instructions worked though, so, for example, DI 100,120 would show a disassembly of the code from 0x0100 to 0x0120.  However, a lot of things didn’t work, so I needed to find out what I needed to do.

Luckily, some kind soul had already scanned the manual and uploaded it to Archive.org :-)

So, with a little bit of knowledge, it was time to plug this in to a Z80 machine and test it out.  By an amazing twist of fate, I happened to have a RC2014 to hand, so I whipped the CPU out and plugged in the long dangly attached to the Zax.

It turns out to work great, and in no time at all I was able to type in Z80 assembly code, list it out, and execute just that bit of code!  This is just a tiny fraction of what this machine is capable of though, and the amount of options for break points, tracing, history and register manipulation is probably beyond what I will ever need or understand, but I can already see a lot of instances where this will save me burning many many many ROMs!

However, I had already violated my initial rule – Don’t plug things in until after you’ve taken them apart.  So, time to hit it with screwdrivers to check the innards are visually ok

Apart from a bit of dust and grime, it all looked pretty good inside.  It’s nowhere nearly as complex as the ICE Engine BXs are, but there’s still a lot packed inside.  However, I’m happy that this will be a regular tool in my arsenal against Z80 programming.

As for the ICE Engine BXs – I honestly believe that they both work, but I either don’t have the right cables, or just don’t know what I am doing.  (Probably both actually).  It might even be as easy as leaving them plugged in long enough to recharge the internal battery.  I don’t know.  Yet.  I will revisit them again in the future, but for RC2017/4, I have ticked them off of the list for now.

by Spencer at 07 April 2017 05:29 PM

04 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

2 Part Parametric Flex Boxes


I made a number of OpenSCAD scripts for parametrically generating boxes using the living hinges. The scripts are capable of modelling the boxes as flat pieces or assembled items and then able to export them as 2 dimensional drawings suitable for laser cutting. You can find the scripts here on github 

These boxes were designed as sample models to coincide with the launch of our new vanillabox lasercutter, which hopefully explains why this blog has been a little empty over the last month.


by noreply@blogger.com (Martin Raynsford) at 04 April 2017 08:20 PM

Spencer Owen hackergotchi for Spencer Owen

Retro Challenge 2017/4 – Getting The Excuses In Early

So, once again Retro Challenge is upon us, and, yes, the timing is offset , but an April challenge should mean that more people are able to participate.

To try and stay ahead of the curve this time, I thought I’d get in early and give my excuses for why I failed to complete the challenge this time around.  I know most people leave this part until the very end, so hopefully I can impress the judges with my efficiency!

The very first weekend in April was the UK Maker Faire in Newcastle (which was awesome, thank you for asking), so that took 3 days out of April for me. Then at Easter the Edinburgh Mini Maker Faire will also be robbing me of 3 days.  And, finally, Vintage Computer Festival Europe is on from 29th April to 1st May.  So, with travel and prep for these events, I feel like I’ll be left with about 4.5 days in which to complete the challenge.  Lets see how that works out…

So, before I get in to the Retro Challenge I’ve set myself, here’s a bit of history to bring you all up to date.  A few weeks ago I got an email from Tom de Havas saying that there was a bunch of Z80 based stuff going spare at a company that no longer needs it, and would I be interested?  There really is only one answer to that, which resulted in a 350 mile road trip and a van full of old kit.  Then came the more difficult question that I asked myself; what the hell is all of this stuff and what am I going to do with it?  With the realization that Retro Challenge was approaching I knew that I had a challenge on my hands!

The primary goal I’ve set myself is to identify and catalog just what I’ve got here.  Some of it is vaguely obvious, but I’d like to get in to details about exactly what it is/was/does.  A lot of it is new old stock, so it probably will work, but I’d like to know for sure.  Other items are certainly used, but, again, I’d like to know if it still works.  To test things, I’m really going to have to know what they are, right down to the pin out of some of the connectors, so that will all need documenting too.  And then there’s the documentation, which 5 minutes on Google makes me think these manuals aren’t online anywhere, so there’s a scanning/archiving challenge here too.

Yesterday I took a very rough inventory, which is the first step towards knowing what I’ll be doing for the rest of the month.  Here’s some photos and my first guesses about what I’ve got;

There are 3 Z80 In Circuit Emulators.  Two from Adtek and one from Zax, all with manuals.  It looks like they will either run from a CP/M machine (although no software is included) or from a dumb terminal.

There is a whole load of Euro Cards.  Some of these are Z80 single board computers, some are communication cards and some are I/O cards.  I believe they are propriety, but hopefully they’ll have standard bus pinouts so I stand a chance of working out what they do.

Along with the cards is a lot of backplanes.  Mainly passive 2, 10 or 12 slot boards, but also some active (?) 2 slot boards and a coupld of rack power supplies.

This is a CP/M machine, with a few cards and a couple of 5 1/4″ drives with discs (one is labelled CP/M).  It looks pretty complete, although very dirty. Certainly needs a thorough inspection before powering it up.  25 pin D socket labelled video might prove challenging to get anything out of it.

Large rack with 3 backplanes and a lot of power supply stuff at the back.  The backplanes look prototype-ish, but it might be a good case to use the new backplanes as shown above.

4 parallel keyboards.  Very very dusty. A couple with hex input number pads.  At least one of these should work with the CP/M machine shown above.

Lots of power supplies and power regulators, including a PSU kit from Farnell.  All new.

More power supplies and enclosures.  Also new.  Looks really high quality (expensive)

Parallel port EPROM programmer.

PIC development board and a couple of newish looking communication boards?  One has Tx on the EPROM, the other has RX.

A couple of new 240 x 64 LCD displays

 

by Spencer at 04 April 2017 01:39 PM

01 April 2017

Martin Raynsford hackergotchi for Martin Raynsford

vanillabox laser cutter now available


The vanillabox laser cutter is finally ready and we've opened up for ordering, 
It's a project we've been working on for a very long time and it's consumed pretty much all of the last month but we're proud to have a full metal vanillabox laser cutter and we're currently demonstrating it at the UK Maker Faire this weekend.

If you would like more information then head over to the website and check it out.
https://vanillabox.myshopify.com/


by noreply@blogger.com (Martin Raynsford) at 01 April 2017 08:11 AM

28 March 2017

Iain Sharp

JavaScript Objects – some key examples

Some of the JavaScript handling of objects is pretty wacky IMHO. Here is some code that illustrates some key points:

  • Global, private and instance variables
  • Privileged and private functions
  • How “this” is assigned and how to work around that

See also: http://www.crockford.com/javascript/private.html

Some may point out that my application of OOP terminology to JavaScript isn’t correct. Strictly, what I am showing here are properties of the way JavaScript implements closures, but for people coming from an OOP perspective it’s helpful to be able to understand how to achieve some common OOish goals.

// This is a constructor Test
function Test() { 
  // Assign the private instance variable "self" to the value of this in the constructor. 
  // More later on why we want to do this
    var self=this; 
  
  // Assign a global variable g (probably not what you want to do in a real object!)
    g="global";    
  
  // Assign a private instance variable p
  var p = "private";
  
  // Assign an instance variable i
  self.i = "instance";

  // Create a private function pp (can't be accessed form outside the object)
    function pp () { console.log("pp"); }
  
  // Another way of assigning a private function
  var ppp = function () { console.log("ppp"); }
  
  // Create a 'privileged' function (public function that can access private info)
  this.p = function() {
    pp();
    ppp();
    console.log("p="+p);
    console.log("this.i="+this.i);
    console.log("self.i="+self.i);
  }
  
}
i="global i"; // assign i as a global 
o1 = new Test();

// o1.pp(); - would be an error - pp is private "o1.pp is not a function"
// o1.ppp(); - would be an error - ppp is private.
o1.p(); // Outputs 'pp', 'ppp', 'p=private', 'this.i=instance' and 'self.i=instance'

console.log("Now with a call-back");
setTimeout(o1.p, 1000); // outputs 'pp', 'ppp', 'p=private', 'this.i=global i' and 'self.i=instance'

// What's going on - 
// In the callback case the "this" is set to the current context which in this case is 
// the global document - hence getting the global "i" instead of the instance variable "i". 
// To get the instance variable i we want the value of "this" which was used during the 
// constructor which is stored in "self".

 

by Iain at 28 March 2017 02:16 PM

01 March 2017

Martin Raynsford hackergotchi for Martin Raynsford

Wireframe Dinosaur Lamp


I've seen a couple of wireframe lamp designs recently, they all cleverly fit into an illuminated base so you can easily change the artwork over. This was just a simple case of finding a wireframe render of a dinosaur and engraving it onto perspex. With a bit more effort I could have rendered my own wireframe from any 3D model giving this style of light lots of possibilities. (svg here)

by noreply@blogger.com (Martin Raynsford) at 01 March 2017 10:21 PM

19 February 2017

Martin Raynsford hackergotchi for Martin Raynsford

Tigris and Euphrates counters


Due to sudden interest I've just made these available on my Etsy store I'm also able to supply customised version of any size, colour, numbering. Just email me, msraynsford+website@gmail.com

The digital version of Tigris and Euphrates keeps track of how much power each token has connected to it. I wanted to make similar counters for the physical version of the game, they needed to be the same size as the existing tokens but able to display the numbers 0-19.I've made gaming counters previously and I didn't really like the deep recess down to the numbers so I went back to the drawing board when designing these. 

The top layer has to be as thin as possible so it's made from 0.8mm birch. The magnet has to be stuck into a layer underneath and the numbers have to be drawn on a ring attached to a third layer to bring it back up to the same height. The tokens were painted in the appropriate colour and then engraved lightly which left the wood slightly stained in the right colours. (svg here)



by noreply@blogger.com (Martin Raynsford) at 19 February 2017 09:22 PM

18 February 2017

Martin Raynsford hackergotchi for Martin Raynsford

Tigris and Euphrates Monument 2


While looking up the original monuments for the Tigris & Euphrates game I discovered the game is due to be released again with slightly different monuments. I made a series of Aztec style monuments for the game instead. The walls for the steps were made using 0.8mm birch and the steps from 6mm poplar (svg here)






by noreply@blogger.com (Martin Raynsford) at 18 February 2017 08:58 PM

16 February 2017

Martin Raynsford hackergotchi for Martin Raynsford

Tigris and Euphrates Game play


With a range of new pieces all that was left to do was play a game. The counter tokens work surprisingly well you just have to remember to modify them each time you lay a new tile but it quickly becomes habbit. The aztec temples go well on top of the existing tiles and quite literally add a new dimension to the board.



by noreply@blogger.com (Martin Raynsford) at 16 February 2017 02:16 PM