Une base de données vectorielle sur ZX Spectrum : oui c'est possible
jeu, 17/07/2025 - 07:33
C'est un défi insolite et un joli exploit technique : créer une base de données vectorielle sur un processeur Z80 de Zilog ! Alice Vinogradova a construit une base vectorielle pour SAP sur un ZX Spectrum. Ce processeur est l'un des plus connus des années 70 et 80. Le projet ZVDB-Z80, codé par la développeuse en 2023, est réalisé avec ABAP. ABAP a été créé par SAP en 83.
Les contraintes du ZX sont importantes :
- pas de virgule flottante par défaut
- mémoire limité à 64 ko
- un processeur 8 bits
- pas d'abraction matérielle : il faut attaquer directement la couche hardware.
"Lors du développement de ZVDB, j'ai délibérément appliqué toutes les optimisations Z80 que je connaissais. Pourquoi ? Parce que ces « anciennes » techniques sont intemporelles : elles rendent le code moderne incroyablement rapide." commente Alice. Une de raisons du bon fonctionnement du projet est qu'Alice a pensé son code ABAP comme si c'était de l'assembleur dans sa logique et sa structure.
"En 2025, j'utilise la technologie de 1983 (ABAP) avec des optimisations de 1976 (Z80) pour résoudre des problèmes de 2020 (recherche vectorielle). Et ça fonctionne étonnamment bien, grâce aux leçons que j'ai apprises en programmation bas niveau. Parfois, les meilleures optimisations ne proviennent pas de nouveaux outils, mais de la compréhension des fondamentaux – du métal sous-jacent – que ce métal date de 1976 ou de 2025." explique Alice.
Source : https://medium.com/@elfee/i-ported-sap-to-a-1976-cpu-it-wasnt-that-slow-5d0be2d0a51a

