fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

#rc2014

9 posts5 participants1 post today

I designed a new version of my keypad adapter for the RC2014. The second circuit diagram is more detailed and mimics the layout of my breadboard.

Parts: four 10k resistors, 100nF capacitor, four diodes (e.g. 1N4448), 7495, 74125, 74138, matrix keypad with 4*4 buttons.

To read one row of the keypad:
1) Write 1, 2, 4 or 8 to any I/O port between 0x00-0x1f.
2) Read a byte from any of those I/O ports. The 4 least significant bits correspond to buttons on that keypad row.
#RC2014

I read a report recently that confirmed that straight PCB traces, right angle, and orthogonally placed components can actually make electrons sad and slow them down. They much prefer the excitement of whizzing along curvy traces, particularly if they end up going in to a chip at a random angle. And bright colours really make them want to work harder.

So I will be updating all #RC2014 kits with design philosophy. The first to be done is the RC2014 Mini II Picasso. You can pick one up now at #z80kits
z80kits.com/shop/rc2014-mini-i

I think most of you that are interested in #RC2014 stuff are already subscribed to the RC2014 Newsletter. Which is great because I am really excited with the content of the one coming out next week.

If you're not subscribed, and would like a roundup of exciting RC2014 news in your inbox once a month or so, you can subscribe here rc2014.us13.list-manage.com/su

rc2014.us13.list-manage.comRC2014RC2014 Email Forms

Planning a better version of extra RAM for the #RC2014 (a #Z80 computer). Reserves I/O ports 0-3. How to use:
1. write high byte of address to port 0
2. write low byte of address to port 1
3. read or write port 2 to access the memory byte at that address

Parts: 6 diodes, 10k resistor, 100nF capacitor, 74138, 2 * 74273, RAM chip (at least 64k*8 bits; 628128 shown).

The order of the RAM address lines does not matter. Neither does the order of the data lines.

See rc2014.co.uk/1504/peripheral-a for the address decoding used.

My old extra RAM circuits:
tech.lgbt/@0x10f/1116410693699
qalle.neocities.org/rc2014/#ram

Edit: tidied up the diagram; added another old version.

This morning I've added more products to my new "quickshop" page to make ordering in the UK easier and a lot more convenient.

samcoupe.com/quickshop.htm

Buy It Now buttons added for the range of hardware I've designed and released for use with #RC2014 and compatibles (such as #ZXSpectrum and #SAMCoupe via my bus interfaces, MicroBeast, Minstrel 4D, systems with RC2014 / RCbus expansion ports)

Released in June 2020:
SID SOUNDCHIP Interface
- Use the famous #C64 soundchip with your #Z80 system. Also works with ARMSID and SwinSID. Includes 50/60/100Hz interrupt generator.

Released in July 2020:
GRAPHIC OLED Interface
- Add a 128 x 32 OLED module to your project.

Released in September 2021:
ZX TRUE TONE (ZXTT)
- 1.7734MHz Clock oscillator for use with Ed Brindley's YM/AY Soundcard.

Also available on my Tindie and eBay stores - see profile. Plus much more information on: 2014.samcoupe.com

Replied in thread

@feoh thank you! still needs that little extra though.

but it's fun working out how those old chips are working.

as for soldering: you don't have to - @etchedpixels has written a very good #rc2014 #emulator which also emulates the #tms9928a - I use it on my @VoidLinux laptop while abroad.

Maybe that is an option for you to get some taste of rc2014?!

you can find it here:

github.com/EtchedPixels/Emulat

A collection of emulators mostly of retrobrew style systems - EtchedPixels/EmulatorKit
GitHubGitHub - EtchedPixels/EmulatorKit: A collection of emulators mostly of retrobrew style systemsA collection of emulators mostly of retrobrew style systems - EtchedPixels/EmulatorKit

Here are the latest news regading my #TMSnake #game for #rc2014 and #TMS9918a #graphics.

The video below shows the current state of affairs, and I've just added some limited #sfx to the game - however the recording below did not capture the beepy beeps for some reason.

There is one last tweak I need to add in terms of gameplay but the final release is "coming soon" ™️ 😏

#retrocomputing
#retroprogramming
#gamedev
#forth
#dxforth

Continued thread

Oh bugger! It didn't turn out to be such a happy JCLPCB Day after all.

Glad that I found the error though, and thankfully camouflaged bodge wire makes for an invisible fix!

I don't get excited about Christmas. However, on days like today when I know that two big boxes with #JLCPCB stamped on them will be arriving, I can imagine the excitement that some people get in December. Even though I know what #RC2014 stuff is going to be inside, I can't help but keep looking out the window for the UPS truck!

*** Regarding the consider construct in #ual ***

The semantics of consider really convey a sense of deliberate evaluation. It implies that you're not just executing a branch of code, but you're consciously weighing both outcomes—success and error—in a single, cohesive construct. Instead of passively matching on a value, consider encourages you to actively decide how to handle each scenario. This semantic choice highlights the importance of addressing all possible outcomes explicitly, which can lead to more robust and readable code.

consider communicates both the action (evaluating the result) and the mindset (being thoughtful about handling success versus error) behind this pattern.

Thus, while ual's error handling is Rust-inspired, I believe it also offers something more that's very idiosyncratically ual's own contribution.

Of course, dear Spidey, that with great power comes great responsibility, creating too many stacks can be overkill for some resource-constrained systems. But this is becoming less of a problem with new multi-core MCUs running at hundreds of Mhz, and with several megabytes of RAM.

What #ual says is: if your machine is not very powerful, we may be able to make it less painful to program highly optimised code for it. If your target machine is powerful, we may help to speed up your development cycles, and you may construct more nuanced, sophisticated, and reliable software with less effort.