OldComp.cz http://oldcomp.cz/ |
|
Obsah OPENING DATA http://oldcomp.cz/viewtopic.php?f=134&t=6266 |
Stránka 1 z 1 |
Autor: | lukz [ 23.04.2018, 12:05 ] |
Předmět příspěvku: | Obsah OPENING DATA |
Sharpisté znají OPENING 800 demo, které se dodávalo k Sharpu MZ-800. Demo se skládá ze dvou částí. Hlavní část je napsaná v BASICU a další část se dohrává jako binární soubor. Program v BASICU si každý může vypsat a podívat se, jak a co se tam dělá. Někoho by ovšem mohlo zajímat, co je v té binární části, kterou tak snadno vypsat nejde. Po nahrání binární části do paměti si můžeme prohlížet obsah paměti na dané adrese, a zjistíme, že kromě jiného je tam určitý kód pro hraní hudby, a dále data této hudby. Pro přehrávání se používají pomocné procedury BASICU, stejné jako používá příkaz MUSIC. Vzhledem k tomu, že máme tedy dostupný příkaz MUSIC, můžeme se ptát, jestli by stejná hudba šla zahrát i přímo z BASICU, bez dalšího strojového kódu. Jde to, a program, který to demonstruje, je připojen níže. Má to ovšem i určité nevýhody. Po provedení příkazu MUSIC můžeme provádět grafickou animaci. Ve chvíli kdy hudba dohraje musíme ovšem provést další přikaz MUSIC a v hudbě pokračovat. Pokud neprovedeme další příkaz MUSIC hned po skončení předchozího, tak hudba bude přerušená. Naopak pokud příkaz provedeme dříve, tak nemůžeme provádět grafickou animaci, dokud předchozí příkaz MUSIC neskončil. Nejspíš z tohoto důvodu je v původním demu hudba řešená přes dodatečný strojový kód, aby nebylo potřeba řešit tak detailně synchronizaci. A tady je program s hudbou: Kód: 1 REM OPENING 800 MUSIC
2 MU."O3T5G2R1G0RGRG6F1GA3G1FG2R1G0RGRG6R1G0RGRG1#A2R1#A0R#AR#A6#G0R#A1L3""O3T5E2R1E0RERE6D1EF3E1DE2R1E0RERE6R1E0RERE1G2R1G0RGRG6F1G""O2T5L2N36R1L0N36RN36RL6N36#A1N36L3N38L1N36#AL2N36R1L0N36RN36RL6N36R1L0N36RN36RL1N36L2N39R1L0N39RN39RL6N39L1N37N39L3 3 MU."N48#A1#G#A2R1#A0R#AR#A6R0#A3R1#AB9T6R5CRCRCR3#AR1CA3GRC5RCRCR3#A""A3G1FG2R1G0RGRG6R1G3R0G1G9T6R5N34RN34RN34R3GRFERL5N34RN34RN34R3G""N41L1N39N37L2N39R1L0N39RN39RL6N39R1L3N39R0L1N39L9N38T6C1RCRGRCRCRCRGRCRCRCRGRCRCRCRCRCRCRCRGRCRCRCRGRCRCRC3GC1RCRC 4 MU."R1CA3GCE1G4AG1R3A#A1A#AA#AL4N48AG1RCL3N48GCE1G4AG1R3A#A1A#AA#AL4N48AG1RCL3N48AFA1L4N48N50L1N48R3N50L1""RFER4RFRF3G1RGRGR4FE1R3N55ER4RFRF3G1RGRGR4FE1R3N55FR4R#AR#A3L1""CRC3C1RC3E1G4CR1R5C1RCRCRCRCRCRC3EC1RC3E1G4CR1R5C1RCRCRCRCRCRC3EF1RF3F1L4N12F 5 MU."N51N50N51N50N51L4N53N50L1N48REL3N53GCE1G4AG1R3A#A1A#AA#AL4N48AG1RCL3N48ARA1RA3BL1N48BA3BL5N48N50N52L3""N48RN48RN48R4#AA1R3N51ER4RFRF3G1RGRGR4FE1R3N55FRF1RFRG3RFGL5N48BA""F1RFRFRFRFRFRF3FC1RC3E1G4CR1R5C1RCRCRCRCRCRC3EN41N36AFGBN38N43N40N36GEAN36 6 MU."N48BARA1RA3BL1N48DA3GL9N55L6N57L3N50BN50N53N57L5N55N52N48L3N50N52L5N53N52""GF3RF1RFRG3RF1RF3L5N52N50L3N49AGN53L6N53B3GBN50N53L5N52N48AB3N48L7N53""N40N45N41N36AFGBN38N43N36N40BN40AN40GN43N41N38AFDFGBN36N48N57N48N52N60N55N67N65N64N65N62 7 MU."N50N48L9N50R5CRCRCR3#AR1CA3GRC5RCRCR3#AR1CA3GCE1G4AG1R3A#A1A#AA#AL4N48""N54L9N55R5N34RN34RN34R3GRFERL5N34RN34RN34R3GRFER4RFRF3G1RGRGR4""N66N65N66N62L5N67N65N64N62C1RCRGRCRCRCRGRCRCRCRGRCRCRCRCRCRCRCRGRCRCRCRGRCRCRC3GC1RCRCRCRC3C1RC3E1G4CR1R5C1RCRCRC 8 MU."AG1RCL3N48GCE1G4AG1R3A#A1A#AA#AL4N48AG1RCL3N48AFA1L4N48N50L1N48R3N50L1N51N50N51N50N51L4N53N50L1N48REL3N53G""FE1R3N55ER4RFRF3G1RGRGR4FE1R3N55FR4R#AR#A3L1N48RN48RN48R4#AA1R3N51E""CRCRC3EC1RC3E1G4CR1R5C1RCRCRCRCRCRC3EF1RF3F1L4N12FR1R5F1RFRFRFRFRFRF3FC1 9 MU."CE1G4AG1R3A#A1A#AA#AL4N48AG1RCL3N48ARA1RA3BL1N48BA3BL5N48N50N52L3N48BARA1RA3BL1N48DA3GL9""R4RFRF3G1RGRGR4FE1R3N55FRF1RFRG3RFGL5N48BAGF3RF1RFRG3RF1RF3L5""C3E1G4CR1R5C1RCRCRCRCRCRC3EN41N36AFGBN38N43N40N36GEAN36N40N45N41N36AFGBN38N43 10MU."N55L6N57L3N50BN50N53N57L5N55N52N48L3N50N52L5N53N52N50N48L9N50R5CRCR3""N52N50L3N49AGN53L6N53B3GBN50N53L5N52N48AB3N48L7N53N54L9N55R5N34RN34""N36N40BN40AN40GN43N41N38AFDFGBN36N48N57N48N52N60N55N67N65N64N65N62N66N65N66N62L5N67N65N64N62C1RC3GC1RCRCRG3CC1 11MU."#AR1CA3GRR5RCRCR3#AR1CA3GCEG#G9#AN48L5N48C0RCR""G3RFERR5RN34RN34R3GRFECEG#D9FGG5L0N24RN24""CRCRCRCRCRCRCRCRC3GC1RCRC3GC1RC5N12C1RC3EG#G1N12N15N20C#D#GN36N39N36#G#DCN20N15N12#AN14N17N22DF#AN38N41N38#AFDN22N17N14N12N16N19CEGN36N40N43N40N36GECEGE5C0RC 12MU."CRCRC5""N24RN24RL5N24""CRCRC5 |
Autor: | lukz [ 25.04.2018, 19:36 ] |
Předmět příspěvku: | Re: Obsah OPENING DATA |
Nyní ještě podrobný výpis, jak se spustí hraní hudby pomocí strojového kódu. Vidíme, že pro každý z hudebních kanálů, číslovaných 0, 1, 2, se nastaví adresa s hudebnímy daty. Kód: f700 06 03 ld b,3 ; music wait
f702 df rst 18h f703 23 db 23h ; music control routine f704 3e 00 ld a,0 ; channel 0 f706 11 20 f7 ld de,0f720h ; data address f709 df rst 18h f70a 21 db 21h ; play on channel in A f70b 3e 01 ld a,1 ; channel 1 f70d 11 48 f9 ld de,0f948h ; data address f710 df rst 18h f711 21 db 21h ; play on channel in A f712 3e 02 ld a,2 ; channel 2 f714 11 40 fb ld de,0fb40h ; data address f717 df rst 18h f718 21 db 21h ; play on channel in A f719 06 01 ld b,1 ; start music playback f71b df rst 18h f71c 23 db 23h ; music control routine f71d c9 ret f71e 00 nop f71f 00 nop |
Autor: | Milsa [ 22.07.2018, 22:30 ] |
Předmět příspěvku: | Re: Obsah OPENING DATA |
Myslím, že ti tam chýbajú bodkočiarky. A aby to bolo komplet, len doplním, že v OPENING DATA sa nechádza ešte rutina na hardvérový skrol obrazovky. |
Stránka 1 z 1 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |