Skip to main content

Posts

Showing posts with the label RC2014

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 ...

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....

Friday Quiz problem 18 Mar 22 - how many beans make 5?

H ere's today's question: I played 40 games of backgammon and scored 25 points.  A win counts as one point, a draw counts as half a point, and a loss counts as zero points.  How many more games did I win than lose? At first glance it looks as if you can 'formularise' this (ie w + d/2 + 0l = 25)  but you can't solve that, it seems as if there are many values that could work. My title refers to an old kids' joke - "how many beans make 5?" The answer I knew was "two beans, a bean and a half, half a bean and a bean" (said quickly!) But other kids had their own version of this and you can have many combinations of beans and half-beans.    The question is curiously-worded. "how many more times did I win than lose?"   My starting point was that if you could see all the possible values of w, d and l  that total 25 points, the pattern would be obvious. So the problem becomes one of printing out these values. The easiest brute-force way is to...

Games in progress for RC2014 with OLED screen.

T he OLED screen that Quazar makes for the Z80-based  RC2014 is 128 x 32 pixels, a wide and thin format. The way that you send data (bytes being vertical) makes it good for smooth sideways scrolling. I did this a while ago and as usual I'd almost finished when I moved onto something else. It's written using Forth, which I really love.  In return for a small sacrifice in performance (according to Leo Brodie's book, it can be almost as fast as assembly) you get some very helpful features. For example, numbers are 16-bit signed  (in the implementation I use), the stack makes it very easy to pass parameters in and out when calling words, and I like the way it makes me structure a program. It forces you to start with the small building blocks. So it is with some joy that I've returned to the dino game and started a new tunnel game.  Again the screen format is well-suited to this type of thing.  For the Dino game I made myself a box with two arcade buttons (he jumps...

'Setting Forth' with Forth on the RC2014

T his adventure started a few weeks ago when Spencer included an item in his RC2014 newsletter about James Bowman's port of CamelForth for RC2014 . 1, 2 or 3 dice depending on the button you press. In Forth for RC2014 with OLED display and digital I/o module. #8bitcoders #RC2014 pic.twitter.com/9c8xLZBPcW — Shirley Knott (@shieladixon) December 11, 2020 I was intrigued by the arithmetic using double-length numbers and as James gives a few bits of example code in his article, it looked like a good opportunity to have a little foray into Forth. (I love the Jupiter Ace. I wish more had been sold so that they're a little less pricey today.) I found several versions for CP/M. (I like using Compact Flash storage and CP/M on my RC2014.) Like BASIC, generic Forth sometimes doesn't work on the version you have without modification. Some versions contain more words or stick to the standard more closely than others. I tried Forth80, DXForth and UniForth as well as CamelForth and...

Magnetic fridge poetry in C for retrocomputers (RC2014, ZX Spectrum)

F ollowing a house move I reinstalled these fridge magnets and found myself organising them by type (noun, verb, adjective etc). Naturally thoughts turn to writing a program to pick the words at random. As this involves a lot of string handling, it's a perfect candidate for using C and I've been looking for an excuse to try C for my RC2014 and possibly other 8-bit computers too. I found the z88dk to be perfect, very easy to get up and running, a nice workflow with the zcc command and cpm target. Here's the very satisfying result after a little work. It occurred to me that the same program should build for other targets that the z88dk supports ( which is many ) In fact it wasn't that simple. I had to change the code a bit to allow it to run on a Spectrum. But one bonus is that you can choose to build with a proportional font option, which looks really nice on the Speccy and suits this program well. One of the issues I had was getting something random to seed the rnd func...