Last active
April 30, 2021 03:04
Revisions
-
magical revised this gist
Apr 30, 2021 . 1 changed file with 11 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,11 @@ ['BDHP', 'JXMJ', 'ECBQ', 'YMCJ', 'TQKB', 'WNLP', 'FXQO', 'NHAG', 'KCRE', 'VUWS', 'CNPE', 'WVHI', 'OCKS', 'BTDY', 'COZQ', 'SKKK', 'AJMG', 'HMJL', 'MRHR', 'KGFP', 'UGRW', 'WZIN', 'HUVE', 'UNI Z', 'PQGV', 'YVYJ', 'IGGZ', 'UJDD', 'QGOL', 'BQZP', 'RYMS', 'PEFS', 'BQSN', 'NQFI', 'VDTM', 'NXIS', 'VQNK', 'BIFA', 'ICXY', 'YWFH', 'GKWD', 'LMFU', 'UJDP', 'TXHL', 'OVPZ', 'HDQJ', 'LXPP', ' JYSF', 'PPXI', 'QBDH', 'IGGJ', 'PPHT', 'CGNX', 'ZMGC', 'SJES', 'FCJE', 'UBXU', 'YBLT', 'BLDM', 'ZYVI', 'RMOW', 'TIGW', 'GOHX', 'IJPQ', 'UPUN', 'ZIKZ', 'GGJA', 'RTDI', 'NLLY', 'GCCG', 'LAJM' , 'EKFT', 'QCCR', 'MKNH', 'MJDV', 'NMRH', 'FHIC', 'GRMO', 'JINU', 'EVUG', 'SCWF', 'LLIO', 'OVPJ', 'UVEO', 'LEBX', 'FLHH', 'YJYS', 'WZYV', 'VCZO', 'OLLM', 'JPQG', 'DTMI', 'REKF', 'EWCS', 'BI FQ', 'WVHY', 'IOCS', 'TKWD', 'XUVU', 'QJXR', 'RPIR', 'VDDU', 'PTAC', 'KWNL', 'YNEG', 'NXYB', 'ECRE', 'LIOC', 'KZQR', 'XBAO', 'KRQJ', 'NJLA', 'PTAS', 'JWNL', 'EGRW', 'HXMF', 'FPZT', 'OSCW', 'PHTY', 'FLXP', 'BPYS', 'SJUM', 'YKZE', 'TASX', 'MYRT', 'QRLD', 'JMWZ', 'FTLA', 'HEAN', 'XHIZ', 'FIRD', 'ZYFA', 'TIGG', 'XPPH', 'LYWO', 'LUZL', 'HPPX', 'LUJT', 'VLHH', 'SJUK', 'MCJE', 'UCRY ', 'OKOR', 'GVXQ', 'YBLI', 'JHEN', 'COZA', 'RGSK', 'DIGW', 'GNLP', 'ACKS', 'BQZP', 'XUFS', 'EBHR', 'YWNL', 'CFPD', 'HHDA', 'REZT', 'ZMWO', 'GBUS', 'JDFE', 'OGFP', 'YJPA', 'KBIV', 'ZDTQ', 'L QSN', 'WKWD', 'TQJM', 'RABT', 'URPI', 'ARLT', 'NMSB', 'VLNA', 'MNAN', 'JNTT', 'FHYK', 'XTIW', 'EJTX', 'QRLT', 'CSOZ', 'CZMG', 'KBYM', 'MJLA', 'MIZX', 'KWTT', 'UGRW', 'BIFQ', 'URPI', 'DEZT', 'GONT', 'ASHA', 'LHXD', 'EFMV', 'ICNP', 'ZUNX', 'FHYK', 'FEOO', 'TPLM', 'PLYR', 'DEJD', 'EKFD', 'IGWB', 'LXHT', 'DVMV', 'XLUZ', 'DHPP', 'IVIR', 'DQKB', 'XPPH', 'HAGO', 'SJUN', 'USJE', 'WCS R', 'LDFU', 'DMYB', 'ZXMJ', 'BIVY', 'TLAK', 'GZIF', 'RLYG', 'HYRA', 'PQGF', 'KRQZ', 'ZQRA', 'WCSO', 'HNAE', 'SGNH', 'TIOC', 'ZUKF', 'BPIK', 'LEBH', 'RDXH', 'CFLY', 'PHDA', 'KJXP', 'UNXY', ' RUSJ', 'HQSS', 'VHIC', 'BAOG', 'ICNM', 'PYCX', 'SFER', 'ICXI', 'DASX', 'BDHH', 'UGZQ', 'PXMF', 'GNXP', 'OCKS', 'PHTY', 'ZTHP', 'EBHM', 'PPXL', 'CFLX', 'PHDA'] -
magical created this gist
Apr 30, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,100 @@ # http://bjoern.spruck.net/lynx/blog/chips.xhtml # UnpackgenerateCode_L1D08: # LDX #$00 # STZ $44 # STZ $45 # LoopGenerateCode_L1D0E: # JSR GenerateCodeFunk1_L1D3C # STA $1280,X # JSR GenerateCodeFunk1_L1D3C # STA $1380,X # JSR GenerateCodeFunk1_L1D3C # STA $1480,X # JSR GenerateCodeFunk1_L1D3C # STA $1580,X # DEX # BNE LoopGenerateCode_L1D0E # JSR GenerateCodeFunk1_L1D3C # STA $12e1 # JSR GenerateCodeFunk1_L1D3C # STA $12ea # JSR GenerateCodeFunk1_L1D3C # STA $12f1 # RTS # # GenerateCodeFunk1_L1D3C: # JSR GenerateCodeFunk2_L3BDC # AND #$1f # CMP #$1a # BCS GenerateCodeFunk1_L1D3C # ADC #$0c # RTS # # And at some other position in the code: # # GenerateCodeFunk2_L3BDC: # LDA $44 # LSR # LSR # SBC $44 # LSR # ROL $45 # ROR $44 # LDA $44 # EOR $45 # RTS def unpack(): global x44 global x45 x44 = 0 x45 = 0 x1280 = [0]*256 x1380 = [0]*256 x1480 = [0]*256 x1580 = [0]*256 x = 0 while True: x1280[x] = funk1() x1380[x] = funk1() x1480[x] = funk1() x1580[x] = funk1() x = (x - 1)&0xff if x == 0: break x1280[0xe1-0x80] = funk1() x1280[0xea-0x80] = funk1() x1280[0xf1-0x80] = funk1() pws = [''.join(chr(65+c) for c in x) for x in zip(x1280,x1380,x1480,x1580)] print(pws) def funk1(): while 1: a = funk2() a &= 0x1f if a < 0x1a: break return a def funk2(): global x44 global x45 a = x44 a >>= 1 carry = (a & 1) a >>= 1 a = (a - x44 - (carry^1)) & 0xff carry = (x45 >> 7)&1 x45 = ((x45<<1)&0xff) | (a&1) x44 = (x44>>1) | (carry<<7) a = x44 ^ x45 return a unpack()