jameswoodcock, to retrogaming
@jameswoodcock@mastodon.social avatar

My next retro project...

The 40 year old Amstrad CPC 464, with its distinctive green and blue keys and extraordinary length due to its built in tape drive.

I purchased this recently, which was advertised as for parts or spares and untested, so looking forward to seeing what works and how it will look when cleaned up.

Video coming in the future...
https://www.youtube.com/pixelrefresh?sub_confirmation=1

image/jpeg
image/jpeg
image/jpeg

martijn, to javascript
@martijn@ieji.de avatar

I might have been doing a small little thing after work today.

It's doing it's first set of instructions. Note that the rom loaded won't boot fully because of a lot of missing instructions. The checker pattern is actually debugging information added.

Moggy, to retrogaming French
@Moggy@mastodon.gamedev.place avatar

J'ai envie de compiler les jeux qui m'ont marqué sur Amstrad CPC 6128. Machine qui a accompagné mes premiers pas de joueur.

Je commence avec Ranarama, une sorte de jeu d'exploration, vue du dessus, où l'on jouait un sorcier transformé en grenouille. Les niveaux étaient labyrinthiques et dangereux.

Screenshot du jeu vidéo Ranarama version CPC 6128.

Moggy,
@Moggy@mastodon.gamedev.place avatar

MASK.
J'aimais bien ce jeu mais je n'ai jamais rien pigé de ce qu'il fallait faire: C'était encore un jeu d'exploration (un peu action il me semble) où on errait dans le désert comme un âme en peine. Et je me retrouvais toujours bloquer à un moment. Mais y avait la voiture de MASK alors c'était cool

Screenshot du jeu MASK sur CPC.

Moggy,
@Moggy@mastodon.gamedev.place avatar

North Star.

Un run'n'gun très chouette mais, comme d'hab, incroyablement difficile: un saut mal négocier vers un ennemi ou le vide et c'est foutu. Sur l'image, on voit ce que je prenais pour des gâteaux apéritifs de Belin.

Il s'agit aussi d'un des 2 seuls jeux auquel j'ai fait jouer ma mère (sans succès).

#Retrogaming #NorthStar #CPC #CPC6128 #CPC464 #Amstrad

Screenshot du jeu vidéo North Star version CPC.

Moggy,
@Moggy@mastodon.gamedev.place avatar

Jet Set Willy.
Mon jeu préféré sur CPC. Un jeu aussi passionnant qu'inquiétant. Du moins pour un gosse: l'humour distillé dans le jeu allouait une atmosphère étrange à l'ensemble. L'aspect non linéaire à l'aventure me donnait toujours envie de revenir dessus et tenter de choper un max d'objets.

Screenshot du jeu Jet Set Willy

Moggy,
@Moggy@mastodon.gamedev.place avatar

Head Over Heels.
Un magnifique jeu chelou en vue isométrique. A la fois un jeu d'aventure et de casse-tête, notamment avec le fait de devoir jongler avec les deux chiens à la morphologie improbables. Encore un des meilleurs jeux sur CPC.

Screenshot du jeu Head over heels version cpc.

Moggy,
@Moggy@mastodon.gamedev.place avatar

Nebulus

Un platformer vertical original et visuellement intéressant: On jouait une grenouille alien qui devait détruire des tours dispatchées dans un océan. Il existait un code pour sauter de niveau. Je ne le connaissais pas, alors j'appuyais sur toutes les touches du clavier pour l'actionner.

Screenshot du jeu vidéo Nebulus version CPC.

Moggy,
@Moggy@mastodon.gamedev.place avatar

Cybernoid
Un shoot'em up à tableaux formidable dans lequel les ennemis disparaissaient dans une explosion évoquant un feu d'artifice. Musique incroyable (sur CPC du moins). Et 2e jeu que j'ai fait essayer à ma pauvre maman. Spoiler: Elle n'a pas eu plus envie de jouer aux JV après ça.

Screenshot du jeu vidéo Cybernoid sur CPC.

Moggy,
@Moggy@mastodon.gamedev.place avatar

Sorcery
Un des meilleurs jeux CPC. Encore un jeu d'aventure labyrinthique vachement stylé pour l'époque. Les animations étaient folles et c'était un énième jeu un peu effrayant. Il fallait dénicher des objets pour sauver des collègues sorciers en collectant des items en chemin.

#Retrogaming #CPC #Amstrad #cpc464 #CPC6128 #Sorcery

Moggy,
@Moggy@mastodon.gamedev.place avatar

Arkanoid

Le plus célèbre des casse-briques et un des plus rigolos à jouer. Quel plaisir de tomber sur l'item mitraillette qui permettait de nettoyer une zone ultra vite. Un des rares jeux que mon père aimait jouer.

Screenshot du jeu vidéo Arkanoid version CPC.

pallenberg, to random
@pallenberg@mastodon.social avatar

Kindheit ohne Internet heisst nicht, dass diese nur analog war!

Hier 👉 t.ly/Kindheit berichte ich u.a.

  • vom im Sandkasten
  • Baumbuden Baumeister:innen
  • BMX als ultimative Freiheit
  • Pac-Man

und einer Welt, ohne staendige Erreichbarkeit oder irgendwelchen Algorithmen, die dir vorschreiben wollten, was gut fuer dich ist.

P.S. Das war nahezu 1:1 mein Kinderzimmer 👇

graufuchs,

@pallenberg Ja. Das habe ich mir dann extern zum 464 dazugekauft. Sehr cool. Kein Kassetten-Gezwitscher mehr, sondern leises Disketten-Surren. Einen NEC-Nadedrucker gab es dann auch noch.

hotkey, to random

With sound done (ok I have weird white noise in Gryzor but don't tell anyone), what remains is handling the other CPC models (not the Plus, they're weird).

The CPC664 is almost identical to the 464 but with floppy integrated. The CPC6128 has... 128KB of RAM. Slightly different ROMs.

I had to implement the banking like they did. This required adding a way to swap in or out partial memory blocks ("banks" are 64K, but are swapped in or out in 16K "pages")

1/3

hotkey,

The CPU can only see 64K. The way they implemented extended memory is to have ram modes where you replace pages of the base 64K with pages from extended RAM banks.

First you select a bank (0..7, allowing 512K extended memory + 64K base).
Then you select a RAM Mode (0..7):

Mode 0 is "normal"
Mode 1 maps page 3 of extended RAM
Mode 2 is "all-extended"
Mode 3 is funky (see handy chart)
Modes 4-7 map a single page from ext RAM to page 1

2/3

hotkey,

With that, I'll probably do a bit of cleanup, try to fix a thing or two, and move on to a new adventure!

My goal was never to make the bestest and most accurate emulator. Just to learn and have fun. My "good enough" threshold is very flexible.

What next?
Well I should write a blog entry about the CPC (lol, right!)

I think I need a change of CPU...
Probably the Motorola 6809 (Coco, Vectrex, Thomson, FM-7 anyone?)

One day the 68000 maybe...

3/3

hotkey, (edited ) to random

edit: @Yuki has the answer: it's octal, and I'm a derp.

AY-3-891x (sound chip) datasheet: "There are 16 registers"

looks at table OK, so R0 to R15 I guess.

sees register R16 and R17
blinks
sees there are no R8-R9
blinks

soo...
Address -> Register name
00 -> R0
01 -> R1
02 -> R2
03 -> R3
04 -> R4
05 -> R5
06 -> R6
07 -> R7
08 -> R10 (wait?)
09 -> R11
10 -> R12
11 -> R13
12 -> R14
13 -> R15
14 -> R16
15 -> R17

General Instrument, what the hell?

hotkey, to random

Good ol' boring stuff today.
But hey, joystick! :meow_gamer:

hotkey, to random

So... floppies.
That sucked.

Fortunately the CPC uses the same floppy controller as the IBM PC so at least I won't have to go through that hell again.

First, we need to load the 'AMSDOS' ROM which provides the support and additional commands such as |DIR. I had to add support for multiple extension ROMs but that wasn't too bad.

Disk images comes in a .DSK format. Ok, I'll add a loader.
Let's connect everything and... what, sectors are not numbered 1-9? (1/2)

hotkey,

Nope, 'Data' disk sectors are numbered C1 to C9, 'System' disks 41 to 49 (IBM: 1-9).
The system detects the type by looking at the ID of a sector that flies by.

And my floppy class only support raw images with no interleaving and assumes sectors start at 1. And takes a lot of shortcuts. Of course it does.
Well, I won't redo everything now, let's just add a 'sector offset' to the geometry for a disk image and it'll be our little secret.

Behold! :meow_floppy: (2/2)

hotkey, to random

Mastodon, we have a keyboard! :meow_bongo_keyboard:

But how, might I hear you ask, since there's no sound chip yet?

Well, who needs that pesky sound chip. The only thing we read from it is the keyboard data. So just skip the chip for now and always return keyboard data when port A is read. Ta-da! :meow_code:

(oh and that Amstrad BASIC looks pretty neat. Like... much better than the Commodore one)

StooCambridge, to random

Back on the this afternoon. Just the keys to shade and some final details and it's good to go.

This one is going straight to prints with a to follow.

hotkey, to random

Oh, so the keyboard matrix goes through the IO chip (20% implemented)
and the freakin' sound chip (0% implemented)

Well, screw you too, CPC464 :meow_angry_intensifies:

Good news is, we now have interrupts. Probably not perfect but enough to get things (like keyboard scanning) moving

hotkey, to random

Well, that pesky "job" thing got in the way today so I was just able to squeeze in a bit of time.

I reworked the memory class to allow different blocks on read/write, and added calls to restore and allocate only read|write blocks as needed.

After that, all you need is to swap L and H ROMs in and out on demand (that's done by poking some bits in the gate array).

What this means is that we now have the BASIC ROM loading properly! :meow_blink:

hotkey,

It looks like a lot but there's just the bare minimum working. Off the top of my head here's what's missing:

  • More video modes
  • Interrupt
  • PIO chip (8255)
  • Keyboard
  • Joystick
  • Sound chip
  • Timing/sync stuff
  • Tape
    ...
    erm Parallel port? :noone_cares:

hotkey, to random

Peeps, we have CRT Controller Initialization :fast_meow_party:

hotkey,

Ohhh we're doing this :meow_bongo_keyboard:

(don't get too excited I'm just scratching the surface... sooooo much to do... and a few shortcuts taken)

hotkey,

Well that's it for today, looks the same but in colour and with ~10% fewer shortcuts taken!

Today was:

  • bitmask class
  • proper io address decoding
  • pen/ink/palette stuff
  • graphics Mode 1 (320x200x4 colors)
  • proper CRTC<->RAM address computations (in theory)

Not bad.

eepy now :meow_sleep:

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • ngwrru68w68
  • modclub
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • megavids
  • GTA5RPClips
  • tacticalgear
  • normalnudes
  • tester
  • osvaldo12
  • everett
  • cubers
  • ethstaker
  • anitta
  • provamag3
  • Leos
  • cisconetworking
  • lostlight
  • All magazines