
«Wake up! 16b». 16 բայթ x86 կոդ, որը գծում և հնչեցնում է ֆրակտալը
Դեմոսցեներ HellMood-ը հրապարակել է «wake up! 16b» ինտրոյի վերլուծությունը, որը ներկայացվել է Outline դեմոփարթիին։ 16 բայթանոց DOS ծրագիրը տեքստային հիշողության մեջ գծում է անվերջ Սերպինսկու ֆրակտալը, իսկ նույն բայթերը հնչեցնում են համակարգչի բարձրախոսը։
Դեմոսցեներ HellMood-ը հրապարակել է «wake up! 16b» ինտրոյի մանրամասն վերլուծությունը, որը ներկայացվել է 2026 թվականի մայիսին Նիդեռլանդների Օմմեն քաղաքում անցկացված Outline դեմոփարթիին։ 16 բայթանոց այս փոքրիկ DOS ծրագիրը իրական ռեժիմում տեքստային հիշողության մեջ գծում է անվերջ Սերպինսկու ֆրակտալը, իսկ նույն բայթերով հնչեցնում է համակարգչի բարձրախոսը։
Տասնվեց բայթ և նախապատրաստված կտավ
Ամբողջ ծրագիրը մի քանի հրահանգ է՝ BIOS-ի կանչ, որը վիդեոռեժիմը դնում է 0-ի վրա՝ 40×25 նշանների ցանց; գործողություն, որը տվյալների սեգմենտը ուղղում է 0xb800 հասցեին՝ CGA/VGA տեքստային բուֆերին; ապա ցիկլ, որը կարդում է բայթ, աղբյուրի ինդեքսը 56 բայթ հետ է տանում, այդ բայթը XOR-ով միացնում վիդեոհիշողությանը և գրում 61h պորտին՝ բարձրախոսի պորտին։ Արժեքի առաջին բիթը բարձրախոսի թաղանթը դուրս կամ ներս է մղում։
Կտավը դատարկ չէ։ Երբ BIOS-ը մաքրում է էկրանը, այն բոլոր 2000 նշանային բջիջները լցնում է 0x20 (բացատ) և 0x07 (բաց մոխրագույն սևի վրա) արժեքներով, ուստի կոդը XOR-ը կատարում է ոչ թե զրոների, այլ արդեն գոյություն ունեցող միատեսակ նախշի հետ։
Սերպինսկին գումարային հաջորդականությունից
Եթե կոդը հասցնենք մաքուր մաթեմատիկայի, ցիկլը հաշվում է երկուսով բազմապատկված բինոմային հաջորդականություն. յուրաքանչյուր բջիջ դառնում է նախորդների կուտակային գումարը։ Քանի որ XOR-ը գումարում է առանց տեղափոխության, այս հաջորդականության մոդուլ-երկու տեսքը Պասկալի եռանկյան մոդուլ-երկու տարբերակն է՝ Սերպինսկու գորգը։ Հեղինակը այս վարքագիծը կապում է տարրական բջջային ավտոմատների 60-րդ կանոնի և Լուկասի թեորեմի հետ, որը երաշխավորում է այդ համարժեքությունը։
Ինչու է հնչում հենց այսպես
Քայլը −56 բայթ է, ոչ թե −16, ուստի կոդը շոշափում է միայն ութի բազմապատիկ դիրքերը՝ 8192 քայլ, որոնք յոթ անգամ շրջանցում են 64 կիլոբայթանոց սեգմենտը։ Սա կրկնապատկում է ցիկլի երկարությունը և կիսով չափ նվազեցնում հիմնական հաճախությունը՝ ձայնը իջնում է մեկ օկտավայով։ Նույն տեղաշարժը պատկերը կտրում է անկյունագծով. 80 սյունանոց էկրանին 56 բայթ հետ գնալը հավասար է 24 բայթ առաջ գնալուն, ուստի գրվում են միայն տասը տարբեր սյուներ, և ֆրակտալը երևում է որպես էկրանով բարձրացող նշանների տասը սյուներ։
Բարձրախոսին ուղարկված ամեն ինչ ֆրակտալից չէ։ Սեգմենտում կա նաև վիդեո-BIOS-ի ստվերային կոդը, և հենց այն բանի հետ XOR-ը, ինչ firmware-ը թողել է հիշողության մեջ, ինտրոյին տալիս է այդ կոպիտ, մեքենայից կախված հնչերանգը։ HellMood-ը նշում է, որ արդյունքը շատ զգայուն է էմուլյատորի և BIOS-ի տարբերակի նկատմամբ, իսկ հիշողության նախնական զրոյացումը կտար կատարյալ միատեսակություն՝ իր մոտ չեղած բայթերի հաշվին։
Իրական սարքավորման վրա
Դեմոսցեներ miragept-ը ինտրոն ձայնագրել է այն ժամանակվա տեխնիկայի վրա՝ հասցեն 0xb800-ից փոխելով 0xb000-ի, որպեսզի այն երևա MDA/Hercules էկրանին. 286 պրոցեսոր՝ EGA քարտով և IBM 5151 մոնիտորով։ HellMood-ի ավելի վաղ «M8trix»-ը (2014) ութ բայթով էկրանին ցրում էր կեղծ-պատահական տառեր. այս անգամ, նրա խոսքով, ձայնը առաջինն էր։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։