парни, чуток попозже я выложу исходники с комментариями
гитхаб какой-нить сделаем, например.
да копайтесь - дополняйте, я за.
основной цикл такой: переключатели, указывающие на выполнение нужного действия.
sites_sw - отображение списков ресурсов по номеру.
load_sw - показывает на переход к загрузке и отработке нужных действий после неё.
do_after_load - тип действия после загрузки
create_link_list - парсинг списка продов и вывод
music_loaded - детект и инит музла, запуск воспроизведения через do_start_music
иниты музыки типа do_init_music и do_start_music вынесены в мейн из-за довольно долгой процедуры детекта типа модуля.
wait_frame - ожидание следующего фрейма.
остальное понятно думаю
- Code: Select all
main
sites_sw ld a,0
or a
call nz,sites_list ; показать список сайтов для раздела
load_sw ld a,0
or a
jp z,main_ex
call modem_load_file
ld a,(do_after_load+1)
cp save_file
jr c,do_after_load
call create_filename
do_after_load ld a,0
cp save_file
jr c,1f
push af
call save_downloaded_file
pop af
1 cp view_downloaded_list
call z,create_link_list
cp view_text
call z,text_view
cp play_music
call z,music_loaded
cp view_gfx
call z,view_image
main_ex call wait_frame
do_start_music ld a,1
or a
call z,music_init
; off music before loading new music file
do_init_music ld a,0
or a
jr z,main
call music_init
xor a
ld (music_sw+1),a
ld (is_music_play+1),a
ld (do_init_music+1),a
jp main