Skip to main content

Posts

New MSX graphics / sound / joystick module for RC2014 / RCBus

I'm impressed at what Les has packed onto this standard-sized module. It contains an FPGA replacement for the TMS9918A, a YM/AY sound module and joystick interface.  The project is open-source and is here . In MSX terms this is the VDP (vidio display processor) and PSG (programmable sound generator), thus being an alternative for both the J B Langston TMS9918A video module and Ed Brindley's YM/AY sound module and adds two joystick ports to boot. All on a single module for RC2014 or compatible computers. There's no room for the d-sub joystick ports, so headers are provided so that these ribbon cables can be used.  This is a neat solution for those wishing to take advantage of Les' MSX8 system , which loads most MSX rom files along with a modified MSX BIOS from CP/M on a ROMWBW RC2014.  It is hard-wired to the MSX ports for the sound and video, so it won't be suitable for those wanting to run Colecovision ROMs, for example. I'm torn myself between the real TMS
Recent posts

Diagnosing and fixing a couple of sprite issues with my TMS9918A emulator

Recently I've been working on a small hardware enhancement for my TMSEMU board for RC2014 to allow it to be used with my MSX2014 and perhaps more importantly, with MSX ROMs running on the CP/M RC2014 .  Anyway, I've reduced the additional circuit to a single logic IC and couple of passives, so I'll be adding that to the TMSEMU board very soon. You can see the additional circuitry on a bit of proto board in this picture, and you can see the fantastic picture that the TMSEMU gives to my MSX2014 (and to any RC2014). However, this showed up a couple of problems that I hadn't been aware of with my TMS emulation, specifically with sprites. The first happens with the game 'The Goblin' (sorry for the reflection). The screen should be blank other than the decorative border at that point but many sprites are still showing. The second shot shows one of my favourite games, Keystone Kapers, you can see bits of sprites appearing in the top border. These problems may or may n

How to convert images for TMS9918A graphics on the RC2014

For me, graphics capability is essential for an 8-bit computer. My graphics chip of choice for the RC2014 is the very capable TMS9918A. It has 15 colours, sprites, several modes and a max resolution of 256x192. It makes arcade-style games possible, such as Tut-Tut above.  I enjoy simply displaying images and have a bunch on my CF card (my 'hard drive') and have written image viewer and slideshow apps to display them. Some useful links: Convert9918 Tutorial of Convert9918's settings Multipaint J B Langston's TMS9918A video module my own TMSEMU video module my respository of TMS9918A software, games and .s2/.sc3 images Image conversion I did dabble in writing my own utility to convert .png images but then settled on the Multipaint app which can open a png in a MSX 'screen 2', allow you to tidy it up with paint tools and save as a .sc2 file. (An sc2 file is little more than a video-memory dump and so it's easy to blast that back into vram to display the image.

Classic Pattern Writer for ZX Spectrum (Terry Mason, 1986)

I'm not sure whether this fits here on a retro computing blog or over on my knitting blog! I notice that when I tried Knitwear Designer for BBC , I mostly put the computery parts here and the knitty parts over on my knitting blog .  At the Centre for Computing History last weekend I spotted a display of knitting software. Besides Knitwear Designer which I have, there were a number of other titles that I wasn't aware of.  Classic Pattern Writer for ZX Spectrum was easy to find, at least as an electronic copy archived online. The loading screen is at the top of the post. A nice colourful pattern fills the screen along with the bold claim "all classic styles". This claim is repeated on the intro screen: You're guided through a few choices but it really comes down to two main styles, raglan or inset sleeves, with some variations such as V or round neck; long or short sleeves.  This is pretty much in line with the BBC's Knitwear Designer. They both have a couple o

Driving NeoPixels with Z80

I 've long been thinking about a version two   RC2014 LED matrix module . I've had a matrix with a MAX 7219 on a module. It's a nice enhancement. But there's only so much you can do with a single-colour LED array right? Wouldn't it be cool to have RGB LEDs?  At Liverpool MakeFest I saw a wall-sized ping-pong ball NeoPixel display and picked up some NeoPixels with the intention of making one. Possibly driven by my RC2014.  I enjoy learning about protocols and have had some SPI devices working with the RC2014 - bit-banging SPI works really well because it doesn't care about timing. NeoPixels really do care about timing though. From Adafruit's web page about their 8x8  NeoPixel matrix: If there's one thing I want to get across in this blog post, it's don't just accept what you're told . Question everything. Learn about what's going on and find out why you're being told something isn't possible. Get creative with workarounds. I'

Friday Quiz maths problem and Heap's algorithm

 T oday's Friday Quiz maths problem is a corker: When the official answer came, a simple solution was given with the answer (I'll save that till later) which didn't make things clear to me. But without seeing an easier way, my approach, as usual, was to find all the permutations of the 9 digits, and count the ones that meet the criteria.  The *number* of ways you can arrange some objects is easy to calculate. But how to actually shuffle those around in memory so that you can test them? Long story short, I devised my own way to shuffle the numbers around, which I thought would work and it nearly did. But not quite. I turned to the web and found Heap's algorithm, which is very similar to what I was trying to do, except that it does actually work.  It's simple, and the Wikipedia page gives some example code which is recursive. Here's my version of that in C (I made my array global, rather than passing pointers around) In my program, printNumber() also performs the

Friday Quiz maths problem 14 Oct 22

I did spend a little time trying to reason it out and arrive at an answer through logic but soon gave up and resorted to my usual method of 'try all the numbers and count how many fit'. Using my trusty Minstrel Forth (Jupiter Ace clone) I have written a program to cycle through all 10-digit numbers that use 1,2 and 3  and test / count  the number that qualify (adjacent numbers differ by 1) It's taking a while. As I write this it seems to be running but it'll take a little while longer before I have an answer. Once it's finished and I know it's working properly I'll write my program below for Forth fans. [update] The answer is 64 and this week we do have some working.   My program did eventually come up with the right answer after a bit of debugging and you can see the pattern referred to. The listing is below, please feel free to type it in, or paste it if you have one of my USB keyboard / serial adaptors .   I love using recursion. Here I've re-used som