ADD personal DGANT easter egg instruction on 0x0F6

This commit is contained in:
Diego De Gante Pérez
2026-04-08 18:38:26 -06:00
parent d2ce5ea4bd
commit 0184ef6394
3 changed files with 47 additions and 1 deletions

View File

@@ -884,6 +884,11 @@ namespace spider {
// Operation:
void UPY();
// [Easter Eggs] 0x0F6 — DGANT: "In kaaba Spider" (Yucatec Maya: My name is Spider)
// Params: 0 | AddrMask1: 00 AddrMask2: 00 | TypeMask: 00
// Operation: Writes "IN KAABA SPIDER" one char per GP register
void DGANT();
// </pygen-target> //
};

View File

@@ -281,7 +281,7 @@ CPU::Fn CPU::instrMap[] = {
nullptr, // 0x0F3
nullptr, // 0x0F4
nullptr, // 0x0F5
nullptr, // 0x0F6
&CPU::DGANT, // 0x0F6
nullptr, // 0x0F7
nullptr, // 0x0F8
nullptr, // 0x0F9

View File

@@ -4,6 +4,7 @@
*/
#include <spider/runtime/cpu/CPU.hpp>
#include <spider/runtime/memory/RAM.hpp>
namespace spider {
@@ -11,4 +12,44 @@ namespace spider {
// TODO: Implement UPY
}
// ── 0x0F6 — DGANT: "I'm SpiderLang" in a spider web ────────────
void CPU::DGANT() {
const char art[] =
R"(\ | //)"
R"( \-+-// )"
R"( -- + --)"
R"( //-+-\ )"
R"(// | \)"
R"( )"
R"( I ' M )"
R"( SPIDER )"
R"( LANG )"
R"( )"
R"(\ | //)"
R"( \-+-// )"
R"(-- + -- )"
R"( /-+-\ )"
R"(/ | \ )"
R"( || )"
R"( || )"
R"( || )"
R"(\ | / )"
R"( \-+-/ )"
R"(-- + -- )"
R"( /-+-\ )"
R"(/ | \ )"
R"( || )"
R"( || )"
R"( || )"
R"(\ | / )"
R"( \-+-/ )"
R"(-- + -- )"
R"( /-+-\ )"
R"(/ | \ )"
R"( || )";
for (u16 i = 0; i < sizeof(art) - 1; i++) {
_ram->at(i) = static_cast<u8>(art[i]);
}
}
}