À la découverte du FDC – Épisode 5

par roudoudou. Erratum de l’article 4 : La tolérance du FDC en lecture est de 12%, voir correction dans l’article pour plus de détails. L’instruction Lire Piste (ReadTrack) Mythique, légendaire, l’instruction Lire Piste est pourtant d’une inutilité incompréhensible sur CPC. Seuls des détournements de finalité permettent de donner à cette instruction ses lettres de noblesse. […]

À la découverte du FDC – Épisode 4

par roudoudou. Dans l’épisode précédent, je donnais le détail du début d’une piste formatée en double densité par le FDC du CPC. Comme nous allons aborder l’instruction de formatage, je vais donner plus de détails sur la structure d’une piste CPC standard (en MFM, on stocke 2 fois plus de données avec la même densité […]

À la découverte du FDC – Épisode 3

par roudoudou. Dans l’épisode 2, je vous racontais que Discology essayait de rater la lecture d’un secteur pour trouver le début de la piste, afin de récupérer les secteurs lisibles dans le bon ordre. En effet, la fonction GetID renvoie le premier secteur trouvé et on ne peut jamais savoir où on va démarrer sur […]

Compiling C to neat Z80. Is that even possible.

By Madram / Overlanders. So, what is a calling convention? Look at CPC firmware routines (BC80 aka cas_in_char and co). The input (which registers are taken, what is the role of each), output and resulting flags are described, in what we could call now an API. That’s not a calling convention!

La Lypémanie Vaut Mieux

By Madram / Overlanders. After having tried psilocybin, I developed two peculiar hobbies. Cleaning my room and porting languages on the Zilog Z80. One way to do the latter is to compile the language’s interpreter/compiler/virtual machine/whatever (often in C) to Z80. You read it right: cross-compilation.

Rosetta Sugar. J’apprends à coder AVEC mon CPC.

By Madram / Overlanders. Here begins a serie of articles dedicated to programming languages, already existing on the CPC (BCPL, Forth, Turbo Pascal, …) or good candidates for ports on the CPC (Smalltalk, Lua, J, …). I don’t plan to investigate BASIC compilers since I find BASIC unattractive. My CuPidCoder standards are pretty high. Here […]

Hash algorithms

By Grim. A hash function computes a number from an arbitrary block of data. This number, called hash value, hash code, digest, or simply hash, can be used to quickly index a fixed-size table called a hash table.

Fast decimal scoring system

By Grim. In games where every cycles count, the score is one of the many tiny things to take care of. The most cycle-consuming score-operations usually are converting the score value from binary to decimal and displaying that decimal value on screen.