Hasty Briefsbeta

双语

Beej's Bit Bucket

a day ago
  • 文章探讨了隐藏在1980年代Exidy Sorcerer平台上的BASIC游戏《巫师城堡》的REM语句中的机器码,这些代码用于给伪随机数生成器(PRNG)播种。
  • 该REM语句中的ASCII文本在标记化后实际上编码了Z80机器码,其中包含0xED、0x5F、0x28等特定字节值,形成了一个读取CPU的R寄存器并将其存储到屏幕地址用于播种的例程。
  • 该代码使用频繁递增的R寄存器生成随机种子,若为零则重试,并将其存储在屏幕地址0xF7FF处,然后BASIC通过PEEK读取该地址来为PRNG播种,从而将地牢限制为127种变体。
  • 从杂志列表输入代码可能因非ASCII字符而失败;作者可能直接使用POKE注入机器码,利用了标记化的BASIC关键字,这些关键字在列出时显示为奇怪字符。
  • 调查涉及反汇编、模拟器测试(MAME、Java)以及一个磁带映像,确认了机器码,揭示了Sorcerer BASIC如何在REM语句中执行隐藏代码。
  • 文章提供了一个针对字节128-255的额外标记解码表,展示了像'F4'(0xC9)和'S'(0xFF)这样的字符如何映射到BASIC标记和非ASCII字形。