Sunday, 28 October 2018

PS/2 keyboard on the C64

(Or, the Pizza Box C64 part III)

After building a desktop case for the C64, I wanted an external keyboard.

Browsing the web I get the impression that people want to convert their existing C64 keyboard to work on a PC rather than the other way round, but still I was sure I had seen a PS/2 adapter for C64. And yes, there is the C=key Keyboard Interface, but it's quite expensive and not always available.

Then I came across Robert VanHazinga's solution at GitHub, which uses Arduino Uno/Due, MT8816 chip and a minimal amount of parts. Although it seemed confusing at first, after getting to know the chip a bit it is really quite clearly documented and can be compiled easily.


As far as I understand it's not really possible or healthy to connect an Arduino directly to the keyboard header pins (the CIA chip in fact). An intermediary chip is recommended.

The MT8816 switch array chip comes in handy, as it can specifically produce a connection matrix (X0-15) out of X-Y coordinates (AX0-AX3 and AY0-AY2). The output is built through setting connections between the "coordinates" and setting the matrix using a combination of DATA and SWITCH. RESET clears the whole array.


First I built everything on a breadboard at one go but it failed to produce other than random characters on screen and no visible reaction from the keyboard. This was still somewhat encouraging.

I slept over it, had a deep breath and put the C64 aside. I connected the PS/2 keyboard alone to the Arduino and powered it from the PC USB. I saw that on power-up the keyboard actually flashed its LEDs, something that had not happened before. So perhaps the problem had been some kind of oversight with the cables I guess.

I added a routine for blinking the internal LED to see if it receives the PS/2 keys, and sure it did. Sadly I had to remove this internal blinker as it shares the PIN13 which is needed by the software.

Then I rebuilt the setup on that and it worked!

It became quickly apparent not everything was perfect. Testing the keys, I saw that the 1st keypress after any reset always somehow fails. Left and up cursor are simulated and don't work that well with key repeat. Some keys such as pause/brk and prtscr/sysrq messed things up, and also result in a freeze.

Generally,  fast typing with shift, such as typing the " can result in a keyboard freeze. Actually, if I press shift, press the key to get the ", and if the shift is released before the other key, it freezes.

In this implementation F12/reset clears the freeze, which is a relief.

I also noted that with Final Cartridge III, the bypassing of the GUI by pressing run/stop while booting won't work - I suppose the Arduino software and/or the keyboard can't be yet online at that point.

On the positive side, typing with normal keys works and there were no random hiccups or system crashes. I started to warm to the idea that this could work well enough and most of the problems might be software-based.

Building the board

Satisfied at this, for the next stage I soldered the connections on a prototyping board, with a kind of Arduino "shield". The main connection between the C64 motherboard is with a hard drive ribbon cable, which has 20 pins wide connectors. With some more thought, the board could have been planted on top of the keyboard header but I felt more comfortable with the ribbon.

I thought about having the Arduino USB connector accessible from outside, but after aligning the chip, keyboard header and the Arduino on the board, I couldn't get it to where I wanted it so I gave up the idea for now.
Some day I will have some of that glow visible outside.
Soldering the headers and sockets was easy, but making about 50 connections with wire was boring. The composition was a bit too tight after all, which made the work more stressful. The learning from here was that when making a board by hand, I should make generous space for easier soldering rather than try to optimize prematurely.

Even then the board was not compact enough to fit inside the corner compartment of my case, but the middle suits just as well.

The first boot with the soldered board was a disappointment, but after carefully cleaning the spaces between connections and checking the cables I started to get characters out again.

Case fitting and cleaning up

There still remained the task of attaching the PS/2 connector to the case. This was done with a round screw-in PS/2 connector shown below.

I attached it to the right side, near the joystick ports. Behind the computer would have been perhaps more appropriate, but there's very little space there and I didn't want to pull any more cables across the motherboard.

Just about ok for the 3mm thickness
Inside the box, I also needed to cut the center wall a bit to make a passage for the ribbon cable.

For now I did not attach the keyboard adapter board, as I may still need to change it a bit.

For once, a part that behaved nicely.
More to do:

-Check if the software could be improved a bit and fix the keymap to suit my needs
-Paint the case, put a logo on it or something

Wednesday, 10 October 2018

Pizza Box C64 part II

A followup for my rough C64 case prototype. I came across ready-made 3mm thick, 400 x 300 mm smooth chipboards, and I got an urge to re-make the box already.

(For any DIY-ist out there, I'd remind this kind of case might be considered an added fire hazard!)

This time I put more attention to thinking how the cover would work. I would want to dismantle and assemble the box as often I want, without damaging or wearing out the actual connecting parts. So, although wooden screws would work for a while, they might loosen up eventually.

For this I revived an idea of using flanged, threaded insert nuts for connecting the cover. The major difficulty in obtaining these is remembering what they are called, and not every shop sells the flanged variety. So: flanged insert nut. (In Finnish: kaulusmuhvi)

These are made from zamac, apparently a material similar to what was used in those "metal" toy cars of my childhood. Live and learn.

After sketching the parts on paper I actually bothered to plan this in LibreCAD to study the detail in the millimeter scale. The 40mm interior height was decided on the availability of material in 20mm thickness.

The wooden blocks attached to the top and bottom parts are multi-purpose. Firstly, they keep the top positioned snugly by themselves, but they also hold the insert nuts, which help keep the top and bottom together and well aligned.

Also, the wooden blocks give strength to the corners. The parts are glued together, and with these chipboards the adhesion is not very strong - I could simply pull a part and off it comes with a layer of chipboard. But I'm hoping to get away with it as the box is meant to withstand weight, not tearing apart.

The weight

The thin material brought some challenges I didn't have with the previous box. The enormous weight of the 1084S monitor (in relation to the flimsiness of the material I use) caused some worry.

It's no problem at the front but as the C64 board is near the back I can't put large blocks there without obstructing the connectors. So I kept the space for the board rather small.

Looking at the results of a very complex weight simulation (see above) I also ditched the idea of using rubber legs and added a rigid structure below the box.

These are yet another set of parts that are simply glued together, but if I add enough stuff and wooden corner blocks they'll stick.

The weight ought to be held in check by the vertical "walls". At the same time this structure helps keep the circuit board from bending, as it has been screwed in with 3M machine screws to the bottom cardboard.

Not-to-scale sketch of the section from the side (circuit board in green)
My first test with the monitor resulted ok, the cover does not seem to bend, not even at the backside where the support is not so consistent. Nice!

About making stuff

It's not that easy to make really accurate objects at home, with limited tools and no workshop facilities. But it's not impossible with at least some ready-made parts and some organizing.

These boards are kind of fluffy, not very ideal for drilling. On the plus side sawing with this saw was quite easy:

Razorsaw S-290
The blade is well suited for cutting thin boards and mdf. The front has been rounded so it becomes easier to make the first trace, then start deepening it. Using different blocks and rulers as guides, it's possible to cut very accurate slices.

Start pulling along the ruler
It may seem an obvious point to labor, but if I have a ready-made board with guaranteed straightedges, it follows at least two corners remain 90 degrees after a cut.

I cut the box sides out of separate 400 x 300 chipboards, so all outer walls are already mostly machine-cut.

Perhaps surprisingly, positioning the SD2IEC took more effort the second time round. I cut the SD card reader opening with a paper knife as I was afraid of using a drill, and this took time. I tried to be more clever with positioning the device but ended up making mistakes I had to repair. It stays put anyhow.

The separate keyboard is still a bit of a fantasy. I now have the chip (MT8816 switch array) that would make an Arduino PS/2 keyboard adapter possible. It's not the only option, though. Until next time!

Thursday, 27 September 2018

Recent sci-fi reads and re-reads

Out of the blue, some sci-fi books I've read during the past year or so. It turns out I've missed quite a many classic works.

Fred Hoyle & John Elliot: A is for Andromeda (1962)

An adaptation of a now-extinct TV-series. Aliens send a coded message on how to build a supercomputer, which in turn helps build a biological entity, which in turn helps build a more complex, human-looking entity. Possibly an early example of this concept. No crossing the light speed barrier here!

Written at a time when sci-fi writers could fantasize about telepathic powers, transhumanist themes and super alien beings, but didn't know what it would mean to have a really powerful computer. Still, Hoyle is quite clever in proposing a vast 3D-matrix of connections that begins to resemble the neural activity of a brain.

There's also TV-like suspense and silly gender roles. The idea of a beautiful woman as an alien emissary does not quite scan the same way in a book as it does in a visual medium, it's an old-fashioned trope too.

Orson Scott Card: Ender's Game (1985)

After Dune, this was perhaps the most major and widely known sci-fi I still hadn't read. (Currently, this distinction is perhaps held by Larry Niven's Ringworld or Frederik Pohl's Gateway)

Children are reared and conscripted for a hypothetical war fought somewhere in faraway space, against an alien race that has only ever appeared once before. Most of the book-time is occupied with the kids' training, as they engage with zero-gravity sports with ever intensifying and more unfair rules, with some computer hacking and VR-like video games on the side.

As the novel was written in the 1980s the tech is fairly well projected. The turf wars and underlying brutality (and humanity) of children let loose at each other is rather nicely written. The twist ending was a bit guessable, which by no means takes away the impact of it.

Orson Scott Card: The Speaker for the Dead (1986)

The sequel to the Ender's Game continues with pacifist themes. Although a good read, somehow it's not quite as satisfying. The mystery of the ever-so-alien aliens serves as an allegory for the engagement with "other" cultures, a common theme in more anthropological sci-fi.

Joanna Russ: Picnic on Paradise (1968)

One of my re-reads, a short novel I recall I didn't particularly like when I read it as a teenager. Due to an outbreak of war, the tourist planet of Paradise suddenly becomes a very dangerous place. A time-agent is tasked with escorting a traveling rag-tag group to safety, a diverse bunch of tourists mostly unsuited for roughing it.

Here the main story is in the discord between the time-agent, who originates from ancient Earth times, and the people with future social mores, an extrapolation of our own times. Although surely a step forward for feminist sci-fi/fantasy, the heroine is perhaps no longer so unconventional. Yet what remains is still a sense of real physicality of the journey and the "dread from above".

Alfred Bester: The Demolished Man (1952)

Alfred Bester was quite unknown to me, despite being one of sci-fi cornerstones. All the ESP/Psi-themes ever written owe something to Bester (The TV Series Babylon 5 named a character after him). Notably Philip K. Dick's scenario of a future ESP squad in UBIK is very close to Bester's world.

Here the plot revolves around whether and how one could get away with murder in a telepathically equipped society. Turns out you need at least an earworm.

Alfred Bester: The Stars My Destination (1957)

Humankind finds out teleportation is a possibility through willpower alone, but not everyone can do it and not everyone can do it extremely well. The repercussions of this for society are explored in somewhat same vein as the telepathy in the Demolished Man. The gap between haves and not-haves has risen, and corporations run rampant. Nascent cyberpunk themes. Also, drug and body implant-induced bullet time, anyone?

Although I perhaps liked the telepath-society of the Demolished Man better, the narrative drive is stronger here. I'm not a fan of "experimental writing" in sci-fi, it feels like an experiment on experiment, but I'll give it a pass here.

John Brunner: The Shockwave Rider (1975)

Supposedly a proto-cyberpunk novel that influenced Gibson and the like. Phone-hacking and the word "worm" for a computer virus is famously found here.

Some of the themes were interesting and indeed before their time, but the writing quality was not that appealing to me, filled with puns and telegraphed short chapters. There's a lot of pondering about an ideal society, voiced by the main characters, handily with no one around to critique them. At the end we meet a kind of hippie community which further dates the views presented in the book. There's a trace of the hacker ethos here too.

This book is hugely influenced by Alvin Toffler's almost-fiction The Future Shock (1970). One of Toffler's scenarios was that as the pace of life increases, we might go through various "lives" inside one lifetime. Here the main character goes through various different personas and identities given flesh and bone, by the telephone. Lift up the receiver and I'll make you a believer.

John Haldeman: The Forever War (1974)

Comparable to Ender's Game, but perhaps less grand scale sci-fi. The grunts are taken to faraway planets to fight twitch-and-die battles, but time dilation is no joke so the vets will find their home changed a bit after a campaign. Maybe better re-enlist. Before you even get to say "Vietnam-allegory!", I'd say the story works as a stand-in for any war, and this if anything helps make the book enduring.

The term "laser squad" comes up, and indeed while reading I felt this might have influenced the Rebelstar Raiders, Laser Squad and UFO/X-Com games.

Another book influenced by The Future Shock, Toffler even gets a name-drop. The sequence where the soldiers get back to Earth to see how everything has changed, has maybe not aged that well, but it's a necessary part of the story and the point gets across. The military sequences and the grand scale of time dilation become far more inspiring.

Ursula LeGuin: The Dispossessed: An Ambiguous Utopia (1974)

One of the books I read when much younger. The neat thing about sci-fi was I could be entertained with fantastic concepts while introduced to themes like philosophy, alternative social mores, gender equality and political systems, something that I might not have done otherwise. I guess LeGuin's grand achievement was in being able to smuggle in feminist themes to a genre read by young men :)

Two planets, Anarres and Urras, two clearly different political systems and cultures. The other is highly propertarian and capital-oriented, whereas the other has abolished property. Gee, what could it be an allegory of? LeGuin fleshes out the problems of the systems, although also siding with the more gender-equal, socialist Anarres.

For the younger me this was quite a difficult book. I'd like to now say it is a masterpiece, which it kind of is, but it isn't as light entertainment. Which is to say I admit I'm currently looking for sci-fi that has both high concept ideas but also works as stress relief and escapist literature. Or, to put it in another way, I'm currently not too keen to read about a scientist facing problems with publishing papers.

Saturday, 15 September 2018

Pizza Box C64

I became curious about what would be the best way to put the Commodore 64 inside a pizza box shape, to save a bit of table room and to have some fun.

Board orientations

Common sense says the circuit board should be tucked away at the backside of the box, but I wanted to explore other logical possibilities too, and bloat the blog post for what is essentially a very simple case project.

1. Board at front, backside to front

The cartridge port and devices would be very accessible, but the front would look messy. I'd have to take a lot of care to make the openings neat and still it would likely look quite bad.

Joysticks and power would be quite accessible at left side. Different connectors and the cables would  eat up table space which is not very desirable.

2. Board at front, backside inwards

Clean front, but the cartridge port would be hidden and unaccessible. Joysticks and power would be highly accessible at right side, near the computer front. Not that bad really, if I am sure I rarely remove the cart. Perhaps the cart buttons could be wired to the side or front.

In a situation like this the SD2IEC could be pulled to the front panel.

3. Board at back, backside inwards

Seems clean all round, but the wires would have to come out somewhere, most likely the back, which would somewhat defeat the purpose of this position.

Pulling some of the cables & connectors to the front would be neat & easy. The cables could compromise the creative uses for the empty space, though.

Again, the cartridge would be quite unaccessible.

4. Board at back, backside outwards

Like the normal Commodore 64 setup, the joysticks and power are at the right. Unlike the C64 they are quite far away from the computer front.

This is perhaps the most preferable orientation, cables are tucked away at the back like they should be, and the cartridge can be accessed even if a bit far away.


I also considered some sideways orientations, although I did not expect them to be useful they are in fact not all that bad:

5. Right side, backside inwards

Again, less accessible cartridge port, joystick ports would be awkward at the back. The cables could be pulled out from the backside, which is a plus of this position. 

Also, there would be nothing at the front of the computer, perhaps SD2IEC access.

6. Right side, backside out

Would give the joysticks and power to the front, and extra access to the cart. The cables would fall out from the side which would take room on the table. Depending on the position on the table this would not be that bad, but the power cord and joystick obviously are a bit bluntly at the front.

7. Left side, backside out

The same problems as with 6, but almost none of the advantages. Cables would pour out from the side and yet the cartridge and joysticks would be quite far.

8. Left side, backside in

How about no? Well, ok the cables can again be pulled out from the back but the power cord would come out from a fairly ridiculous point, something that was about bearable in 6.

So, the verdict is there's not that much to improve on the initial idea, represented by the orientation 4. But positions 2 and to some extent 6, did give some food for thought so it's not the only viable solution.

Although 4 gives the idea that the port configuration resembles the c64 mostly, actually 2 has the joystick/power positioning closer to the breadbox original in relation to the front side of the computer.

Did not explore: Upside down circuit board. Diagonal circuit board. Circuit board at the centre of the box (and all 4 variants)

I'm also not considering a tower now although I was a bit attracted by the upright position as inspired by Sinclair Janus(Pandora?)/Atari Microbox/Sony PlayStation2.

Going for size

By the way, what are real Pizza Box sizes? Google says 16" is for extra-large which translates to 40.64cm. This would be enough to house the 390 x 136 board.

I figured dimensions 410 x 350 x 50 would be a good starting point, it's the real C64 width, the monitor (1084) base depth, about the height of the C64C at the highest point.

The above image collects some of the initial ideas about how the box would be sized in relation to the monitor and the things inside. Top image is front and the bottom image is a sort of "section" from the side.

Based on this image I already found some reason to position the board a bit further away from the backside, the legs might get in way of the board.

Building the box

At first, I placed the circuit board over the bottom, to have an idea what of the real size. Then I drew the screw positions with a pencil, drilled the holes and put the board into place.

There are a couple of bolts on each screw so the circuit board doesn't touch the chipboard, and a few of the screws are capped with bolts so the board won't fall out if upside down.

The legs had so short screws I could not fasten them, I'm just hoping they stay put in the drill-holes.

Then I'm just adding the junk chip board all around, using wood glue although it won't have the proper effect as the boards are already painted.

The four-player adapter fits rather nicely here although I did not think about it at the beginning. The board is kept slightly inwards, not because of the rubber feet I was talking about previously. (The feet were much tinier than I remembered)

The SD2IEC is taken out of its previous cover. I would have rather ordered a new SD2IEC, but I was impatient so the cover will have to find later use.

There's a lot of room inside the box, which is one benefit of moving the computer to a larger case. I'm toying around with the idea of housing a Raspberry there, with no connection to the C64 whatsoever.

I'm not going to lie, the material looks awful ugly at the moment:

Some prettification is in order, but it'll have to wait until next time. This was already one session's worth of work for me.

The size ended up as 405 x 300 x 55, so all around slightly different than what I envisioned. It turns out the 1084S base is really less than 300, and not 350 at all. I could still use a less thick top get to the 50 height though. The SD2IEC went to the left side instead of right.

Oh, where's the keyboard? I have already an idea or two, but again, some other day. The SD2IEC interface and Final Cartridge menus can be operated with a joystick, so for the time being this is a limited C64 "game console".

-> Story continues here

Monday, 3 September 2018

Lenovo Thinkpad x220i

Some time ago, I switched over from Dell Latitude 4310 to a used Lenovo Thinkpad x220i.

The Dell charger started to give trouble, so I changed the charger and eventually that one gave trouble too. It turns out there's a signal transmitted from the charger, and if the computer does not find the signal it throttles the processor speed and prevents the battery from charging.

There's a grub fix that prevents the throttling from happening, but it doesn't help with the charging problem. The fix might even prevent the processor from boosting. I also found there is a hack around the one-wire protocol used in the charger, but it seems a bit beyond my time/equipment/skills to be honest.

In addition, one of the USB ports started to show contact problems so I was quite motivated to move on. The Dell was by no means a bad computer for a Linux Mint install, it served me for quite many years.

I had the opportunity to buy a comparable laptop for less than 100€.  Moving over to another, similarly specced laptop, now that some time has passed I felt it would be nice to try to list the tradeoffs:

Lenovo on the plus side:

-I could move the SSD directly to the drive bay of the Lenovo, the Linux Mint boots fine from it. To be honest I might not have bothered installing yet another Mint and building my environment.

-I had 2 x 4GB laptop memory lying around that did not work properly on the Dell, these work on the Lenovo, a very nice bonus!

-The graphics hardware is somewhat better than with the Dell, it can be noticed for example in webGL applications. This doesn't make it a gaming lappy by any means, but at least web banner ads don't slow it down :O

-It's lighter and has smaller dimensions than the Dell. (I count the smaller screen a plus in this case)

-The Lenovo (probably) does not have that silly vendor locked charger thingy

-One more USB, and a USB port that supplies power even when the laptop is off.

-Slightly better/louder audio from the laptop speakers.

-A tiny detail, but like the positioning of the SD card reader better. It's on the right side, almost as if it were a floppy drive.


Lenovo glitches/downgrades:

-The processor (Intel® Core™ i3-2310M CPU @ 2.10GHz) is a tiny bit less capable.

-No webcam. In theory one could be fitted I suppose.

-Although apparently SATA3, the SDD demonstrated only SATA2 speeds so no improvement on that. This might not be the computer's fault, though.

-No CD/DVD drive. Not often used anyway, and an external drive works just as well so I'm not sure how big a "minus" this really is, it's dead weight most of the time.

-The keyboard is maybe not quite as good, it travels a bit more and is more susceptible to small particles. After a few months I've become used to it though.

-Something worries me about the touchpad. The scroll function ceases to work at times, although only at specific Chromium tabs! I've not yet got to the bottom of this, but it only came up after the laptop change so I'm listing it here.


So, all in all a quite good exchange. The pluses are quite noticeable, whereas many of the negatives are not such a big deal or can be worked around. The Lenovo runs the same Linux Mint 18 Sarah 64-bit install as before. Both have VGA, RJ45 ethernet, SD card reader and headphone jack.

Wednesday, 1 August 2018

Multipaint 2018

This year there has been no Multipaint release, so it was about time.

Get the new Multipaint from here.

Still, it's more of an intermediary version, and not nearly all to-do's and good suggestions have been addressed. But here's some:

Finally fixed the silly mac version bug where the icon graphics could not be fully loaded. I simply integrated the icon graphics with the source so nothing needs to be loaded at all here. Entirely different privacy/quarantine/malware scan etc. issues might still pose problems depending on your setup.

Left: old pepto, Right: colodore

Alternative palette support for C64 modes (loads .act format). The one true C64 palette for PCs is a bit flexible concept, so I've finally caved in to requests and allowed alternate palettes. That old pepto might still be most favourable for C64 pics on the PC screen but it might not always be the best prediction for how the image will appear on other hardware. So better prepare with alternate palette checks!

You can for example download different colodore settings as .act files from pepto's colodore site and then load them into Multipaint with the standard load icon. It would be nice to support some text editor readable palette formats (GIMP) but this was the easiest to do for now. The .act file contains 256 R,G,B byte values, but only the first 16 are loaded. A Hex editor can be used for fiddling with the values.

Note that using different palettes might produce complications when loading in png files, so better use as nearly the same palette as in the original png.

A preview window, if you can decipher it from that mess 
I added a sort of preview window (backspace on/off), another often requested feature. It's not a true floating window, and although I could have copied the solution from Marq's PETSCII editor, I am still a bit careful. This "window" can be dragged around the screen but unless in the magnify mode there's not that much room for it anywhere.

To help give more space for the preview window I made it possible to force multipaint window size in the prefs.txt, for example something closer to your native screen resolution. However this should be used with care as what works in one screenmode might not work in another.

More flexible window & icon arrangement is something I'm working towards in the future.

Not too useful yet, but at least the preview doesn't HAVE to overlap the pic
Mousewheel support has been long coming, and I finally bothered to find out how to circumvent that "ambiguous type" error message that had prevented me from using it. Hey, I'm no Java expert... I also added some customizable functions for the wheel in the prefs.txt, but these are very preliminary. The wheel defaults to magnify in and magnify out.

More undo levels, there are now 20. All memory for undo steps is reserved at the start, so I have been wary at adding too many levels, however 10 was a bit silly for pixel work of this type. In the source version, it is easy to add even more.

I added a simple aspect ratio switch for MSX and future modes, as it's clear that although MSX has the same pixel resolution as the ZX Spectrum, it gives a flatter image (depending on NTSC/PAL whatever). The simple aspect ratio is only an approximation, and won't work with the preview window.

Also, Multipaint kind of supports 256 height now. The flat aspect might not be flat enough for QL!
For those who have bothered to read this far, I can say supersiikrit screen modes are now more accessible. These incomplete, untested or otherwise experimental modes were usually only accessible from the source version. But now the application allows these modes too, but only through the prefs.txt:

C64NOLIMIT (320 x 200 with 16 fixed colors, i.e. C64 hires without attribute limits)
QLLOW (Sinclair QL 256 x 256 with 8 fixed colors) *
AMIGA (Amiga OCS 320 x 200 x 32 colors out of 4096)
COCO3 (Tandy Coco 320 x 200 x 16 colors out of 256)
BK0010 (Elektronika BK0010 256 x 256 with 4 fixed colors) *
PICO8 (Pico8 fantasy console 128 x 128 with 16 fixed colors)

*) Uses the flat aspect ratio switch

No export/import functions, so only jpg/png works with these, and I have no guarantee on the accuracy of the modes or the suitability of the Multipaint toolset for these modes, especially when it comes to the "Amiga" mode.

Again, the new Multipaint, from here.

Tuesday, 24 July 2018

More 8-bit pictures

Again, I'll have a look at some of my recent 8-bit pictures.

Queen, a multicolour Commodore 64 picture,for the Vammala Party scene compos. What started as an Alice in Wonderland-esque image, was finished quickly with fantasy chesspieces. Made with Multipaint.

Wolverine, a PETSCII work, also for Vammala Party. Fun to do and using the triangle chars for the costume was no-brainer, but maybe a more active pose would have been impressive. Made with Marq's PETSCII editor.

Remote, a, well, remote entry for Gubbdata 2018 graphics compo. Again, made with Multipaint. This turned out simple/nice and has a multicolour vibe to it even though it is a Commodore 64 hires.

Cartoon outlines are not that easy to do on hires and the approach falters at places, but I feel I managed to make it look like it's intentional.

The image started out from trying to recreate a C64 picture I saw in a dream (roll eyes here if you want to) but the end result became something very different. The robot is reminiscent of the robot in Short Circuit, which I watched recently.

Friday, 6 July 2018

Atari 2600jr

Just think that many Atari 2600 games are now about 40 years old. I believe I encountered Atari 2600 in the summer of 1984. This Jr. version is a later acquisition, I got it alongside a bunch of computers in 2010s.

In the past I had already fixed the select/reset buttons (a common problem in Jr) with crude switches, but avoided doing the composite video mod. Except now.

As Ataris are so popular there are a gazillion mods. I followed the mod from a site that happens to be gone now, but it is pretty much same as here. I simply found my board to be similar and the instructions are very concrete.

1 x R 330
1 x R 1K
2 x R 2K2 (=2,2K)
1 x R 3K3 (=3,3K)
1 x Capacitor 100pF

The mod features a 100pF ("101") capacitor, I figured that the n10-labeled capacitors in my inventory should suffice, although I haven't seen this notation too often.

"n10" = 0,10nF = 100pF

(The 'n' denotes both the scale and the position of the comma so 1n0 would be 1,0nF and so on)

I added a tiny board where I imagined all the wires and resistors would go neatly, placing it over the pins that now make up the select/reset switch connectors. The plan fell through and I soldered the resistors directly to the chip as in the site I found. The added board was somewhat helpful for fitting the video cable that goes out of the box.

Without the audio, two solders away
I cut a couple of grooves to the right side of the case, so the video/audio cables can stick out from there. Having the grooves tight keeps the leads in place. A neater mod would have two proper connectors but I didn't have ones that would have fit. I left the RF connector as it is.

I realized I can't use my previous select/reset switches as they collide with my added board! Not much foresight here I have to admit. Also it reminds me how large the switch boxes can be.

So I removed the crappy switches and added two buttons to the top of the case. I could have removed my additions but I was lazy as usual. The new switches are connected with breadboard jumper cables at least they can be detached easily for removing the case.

I played a bunch of games installed into a Harmony cartridge. But is there something wrong with some of the colors, for example California Games has obviously a wrong palette? But games I know well such as Jungle Hunt and Space Invaders seem to have correct colors so likely it's a software version thing.

So, what to play? My own nostalgia-biased shortlist:

Jungle Hunt

A complete jungle adventure. Few corners have been cut in the conversion, but it does not detract much from the gameplay.

Space Invaders

Ok, so it gets monotonous and does not have all the subtleties of the arcade original, but this was my Space Invaders and the first game I played on the Atari 2600.


Ditto here, I kind of dig the chunky big graphics of 2600 conversions compared to the arcade stick figures. Switch on the Evil Otto for more difficulty.


Even if the backgrounds are quite simple, the play appears to be as complete as in any version. Dynamite the walls, shoot the critters, always pick the route with the obstacle. Gets hard around cave 11 or so.

River Raid

The classic vertical shooting game is nearly fully featured as far as I see. Shoot the bridges, collect the fuel, shoot the fuel. Check the B-switch for proper missile behavior.

Ms. Pac-Man

Although the Pac-Man conversion has a bad reputation, the sequel delivers. A proper maze and you can even see everything.


My best score so far.
This latter-day homebrew conversion by Thomas Jentzsch is amazing and possibly the best game altogether you can get for the Atari 2600. Considering it's one of the better games on the Commodore 64 it's surprising to see it fully functioning here!

Sunday, 17 June 2018

"Data East Hits" 8-bit Gaming My Arcade Pixel Classic mini console

Disclaimer: Your kid might in actual fact eventually become bored
Over the years I've seen a bunch of "50 games" type handhelds at supermarkets or department stores. As the games and physical design are always so bland and generic, I've avoided them.

Now I was lured in by a Data East-branded "308 games in one" cheap device that comes in various attractive shapes, notably the horizontal Lynx/Gameboy Advance form and the more obviously Game Boy shaped hand held console. There's also a mini arcade shape that I did not look at twice.

Options. Oh the buttons can be lit up too. Why?
I went for the Gameboy shape for novelty's sake, although to be honest the horizontal form might be better as a controller and for connecting the leads.

Ergonomics to hell, the case has been shaped with "pixel arty" corners, but this matters very little. Designers take note, perhaps this is an indication we've got past that roundening-era of design styling.

The plastic feels a bit flimsy, but the buttons give an adequate response. There's a 5V micro-USB style power connector, AUX out and AV out. The device works on 4 AAA batteries, but the other options sort of sold this to me, even though no cables or batteries were included with the price. (about 30€)

The game collection

The Data East name is boldly visible on the package, and as their back catalog boasts some really iconic stuff (Burger Time and Bad Dudes vs. Dragonninja) I was prepared to expect at least a good bunch of playable games.

I prefer Mr. Do's Castle (not included)
The word "arcade" might mislead you to think these are arcade version of the games, not to speak of the screenshots in the inlay card.

I can't believe that in this day and age I could still get duped by a "wrong platform screenshot". Thanks for making me feel like a child again, but perhaps not the way I expected...!

Screenshots may vary.
Yet the shots are made in a way that although built from arcade screens they might arguably represent "game covers" rather than actual gameplay, hence the logo overlays. And it DOES say on the cover, "8 Data East + 300 games", but that "plus" is also quite easy to miss. And it DOES say "8-bit" which should clue in that the games can't be arcade quality.

Let's make it clear: About 95% of the games are simplistic, NES bootlegs or otherwise very poor quality.

Real screenshot for comparison
On the first page we get Dragon Ninja, Break Thru, Caveman Ninja, Heavy Barrel, Side Pocket, B-Wings, Karate Champ, Burger Time... These are up to the quality of the NES versions of these games, which is to say they are not all that hot but mostly they play well enough.

But after the first couple of pages it goes downhill. So, enjoy the excitement of iconic 8-bit games the likes of Man in Red, Repair Urgently, Speed Man, Unusual Space, Girl, Tactful Monkey, Devildom Doom and so on!

There's pages and pages of this shift
Many of the games are old bootlegs and hacks of licensed games, like Dada is obviously Popeye, Primitive Woman is supposedly a Tom and Jerry game and Sunken Ship is worked from 2005's Titanic, which in turn is a hack of a Tom and Jerry again. Astro Robo To To is Astro Robo Sasa. Aether Kadass is Macross. Sky Invader is Sky Destroyer. These bootlegs can be semi-playable or interesting as such because the game content is kind of there. But I'm wondering how this particular collection of games got to be curated.

There are many scrolling vertical shooters, the best might be F22, with actual power ups, boss fights and varying levels. I guess it is another rework of something else.

The bootleg of a bootleg
I'm prepared to say some might even be filler crap made specifically for this device, varying a base source code to produce simple shooters and jump'n'runners.

Some games have visuals that go beyond NES, like Cut Fruit and Curly Monkey 2, but design-wise, there's not much thought on the gameplay or level design.

Some games are so simple it's harder to fault for what they are, like Horse Racing where you simply duck and jump with the horse. However there's a bunch of boring sprite-shoots-sprite stuff, guy jumping on platforms, or collects stuff falling from heaven, with slight variations and different skins. There's even a digital paper/rock/scissors game, which must be the pinnacle of sadness.

Dark Castle. Wasn't this Thunder Castle on the Intellivision? Looks crappier.
At least one track'n'field-type game has been blown up into a dozen, with javelin, long jump, hurdles etc., even making Breast Stroke and Butterfly Stroke into separate games. Although I have to admit it may be a better idea than try to endure a full decathlon. A panda takes the place of the sportsman, possibly a clue about the country of origin of these games.

Then there are card games and board games such as mah jong, reversi, checkers, sudoku and so on. These can't be overtly blamed if they are simply bootlegs of once commercial games. Sadly there's no chess, though. Other genres are absent too, there's no Tetris or Columns clone for example, and no proper top-down driving game with rotational controls either.

Dark square at right = Portuguese draughts? Your move.
Then there are doubles, that is the same game with different graphics. This is a bit irksome as usually both graphic variants are just as visually uninspiring.

Overall the games boast very mediocre, bland and unimaginative visuals and sounds, while the game titles convey an idea of non-IP-infringing nothingness. It's almost as if I'm witnessing a relic from an alternative universe Earth culture that had strangely failed to invent any of the central video game brands we have.

You go... eh, girl!
All in all, the Data East games are probably the most playable of the bunch and Burger Time might indeed be the best game on the entire device.

I'll review all the 308 games later.

Final verdict

I took the device to a composite video TV. As I don't have a proper 2,5mm AV cable I used a single tip/sleeve version which produced only a black and white image. Or is the output only B/W? This was enough to show that the device does produce a smooth frame rate for the TV, which is nice. Of course a few of the games give jerky scrolling or flickering sprites due to programming techniques.
A 5V 1A phone recharger cable seems to be sufficient for powering the device (no specs in the manual) so the absence of a cable in the package might be justified. However the 2.5mm TV cables are less often seen.

One annoying thing is the device can't remember the volume setting when returning to the menu. it can remember the menu positions so why it can't keep silent? Wading through the 308 game menu can be tiresome, even if it can be scrolled sideways too.

So, is the My Arcade 8-bit Gaming Pixel Classic any kind of value for money? Despite all the misguidance, I could still be generous and say there are about 30 reasonable quality games in it. Even then 1€ for each might still be a bit too much!

It's a bit sad considering the hardware might be capable of doing justice to the arcade versions of the games, but the conversion job would have been overbearing. I doubt the device is good enough to really emulate the suggested arcade platforms.

Perhaps if the game ROMs can somehow be rewritten, the device might be much more interesting because the physical hardware is OK-ish and the screen and sound quality is not that bad. I am a bit doubtful if anything inside can be easily upgraded, though. Missed potential I'd say.

Addendum 18.6.2018

As I saw the device might be easily opened, I had a peek inside:

For those interested in subduing the sound, this might be achieved by physically blocking the loudspeaker a bit more. (There are like 2 loud sound levels + silent)

The parts are not especially neatly connected so it was a bit of a bitch to put back together. So I'm probably not going to open it again.

The game ROMs are likely buried inside that alien tar shit thing. (Hmm the SPANSION S29GL256P10TF is memory, though). Putting the screen back, it has to be straightened by hand. Luckily it can be done after the board has been screwed back in.