User Tag List

Показано с 1 по 10 из 501

Тема: Тема для всяких глупых вопросов

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladius Посмотреть сообщение
    Эмуляторы вроде советуют для разработки CSpect и ZEsarUX
    эмуляторы
    unreal
    xpeccy (иногда нужен там где не удобно отлаживать в unreal)

    за CSpect не знаю
    ZEsarUX - редкостное гафно


    самый последний и навороченный sjasm брать тут
    https://github.com/z00m128/sjasmplus/releases/
    не забывать RTFM
    http://z00m128.github.io/sjasmplus/documentation.html


    Цитата Сообщение от Vladius Посмотреть сообщение
    SAVESNA "frost10.sna",STARTF
    я так понимаю что это команда для формирования полного образа памяти snapshot.
    С загрузчиком? Помнится на BASIC загручик еще нужен был .
    оно формирует снапшот для эмулятора
    такой вариант подходит для отладки и тестирования

    загружать sna на реале не всегда возможно...
    да и не принято в таком формате что то выпускать

    вот те например сохранялка в tap образа ленты
    с загрузчиком лежащим в rem
    и который грузит кодовый блок без заголовка и запускает

    может с ходу не работать
    тк у меня более сложная обвязка на lua вокруг
    которая будет не читаема для новичков
    и пришлось много чего выкинуть
    Код:
    	emptytap "test.tap"
    
    	org $0
    
    
    basic_start
    	
    	defb $00,00		;
    	defw end_basic_line_0 - basic_line_0
    basic_line_0
    	defb $EA		;REM
    
    ;загрузчик в REM
    	
    	di
    	ld ix,$C000	;грузим по адресу $C000
    	ld de,$2000	;$2000 байт
    	ld a,$FF
    	scf
    	call 1366	;процедура загрузки в ПЗУ
    	di
    
    	jp start	;и запускаем
    
    
    	defb $0D
    	
    end_basic_line_0
    	
    	defb $00,10
    	defw end_basic_line_10 - basic_line_10
    basic_line_10
    	defb $FD,$B0				;CLEAR VAL
    	defb $22,"24575",$22
    	defb $3A					; :
    	
    	defb $F9,$C0				;RANDOMIZE USR
    	defb $28				;(
    	defb "5"				;5
    	defb $0E,$00,$00,$05,$00,$00
    	defb $2B				;+
    	defb "256"				;256
    	defb $0E,$00,$00,$00,$01,$00
    	defb $2A				;*
    	defb $BE,$B0				;PEEK VAL
    	defb $22,"23636",$22			;"23636"
    	defb $2B				;+
    	defb $BE,$B0				;PEEK VAL
    	defb $22,"23635",$22			;"23635"
    	defb $29				;)
    	defb $0D
    
    end_basic_line_10
    
    	defb $80		;autorun
    	defb $AA,10,0				;не уверен нужны ли эти строки	
    
    basic_end
    
    
    
    	;сохраняем бейсик
    	savetap "test.tap",BASIC,"prog_name",$0,basic_end-basic_start,0		;0 autorun line
    
    
    	;сохраняем кодовый блок без заголовка
    	savetap "test.tap",HEADLESS,$C000,$2000

    тоже самое для создания образа диска trd

    тоже может с ходу не работать
    Код:
    	
    tr_dos_var_current_track_sector = $5CF4
    
    	emptytrd "test,trd"
    
    				org $0
    
    basic_start
    	
    	defb $00,00		;
    	defw end_basic_line_0 - basic_line_0
    basic_line_0
    	defb $EA		;REM
    		
    ;загрузчик в REM
    
    		di
    
    		ld bc,$2005				;грузим $20 секторов = $2000 байт
    							;05 режим загрузки
    		ld de,(tr_dos_var_current_track_sector)	;d номер трека e номер сектора
    							;в данном случае берем последнее положение
    
    		ld hl,$C000				;куда грузим		
    
    		im 1
    		call $3D13				;стандартная точка входа в ПЗУ tr-dos
    		di
    			
    		jp start				;запускаем то что загрузили
    	
    	
    	defb $0D
    	
    end_basic_line_0
    	
    	defb $00,10
    	defw end_basic_line_10 - basic_line_10
    basic_line_10
    	defb $FD,$B0				;CLEAR VAL
    	defb $22,"24575",$22
    	defb $3A					; :
    	
    	defb $F9,$C0				;RANDOMIZE USR
    	defb $28				;(
    	defb "5"				;5
    	defb $0E,$00,$00,$05,$00,$00
    	defb $2B				;+
    	defb "256"				;256
    	defb $0E,$00,$00,$00,$01,$00
    	defb $2A				;*
    	defb $BE,$B0				;PEEK VAL
    	defb $22,"23636",$22			;"23636"
    	defb $2B				;+
    	defb $BE,$B0				;PEEK VAL
    	defb $22,"23635",$22			;"23635"
    	defb $29				;)
    	defb $0D
    
    end_basic_line_10
    
    	defb $80		;autorun
    	defb $AA,10,0
    
    basic_end
    
    
    
    ;сохраняем бейсик загрузчик
    	savetrd "test","boot.B",$0,basic_end-basic_start	;если хотим автозапуск по run
    
    	;savetrd "test","prog.B",$0,basic_end-basic_start	;если не хотим автозапуск
    								;и лучше писать мелкими буквами
    								;тк некоторым придется вводить run "prog" ручками
    
    ;сохраняем кодовый блок
    	savetrd "test.trd","data.C",$C000,$2000		;сохраняем $2000 байт начиная с адреса $C000

    в принципе для начала можно сохранять и в sna
    это проще всего

    в начале сорца нужно указать тип машины
    (да и в общем его нужно указывать для доступа ко многим полезным функциям)
    Код:
        DEVICE ZXSPECTRUM128
    в конце
    Код:
        SAVESNA "test.sna",start
    где start собственно стартовый адрес программы...

    ну и в sna по идеи можно сохранить только
    ZXSPECTRUM48
    ZXSPECTRUM128

    если нужно больше
    нужно уже извращаться
    снапшотов для больше 128К так и не изобрели до сих пор...

    Цитата Сообщение от Vladius Посмотреть сообщение
    Я пишу на С++
    ну писать на C для спектрума не лучшее решение
    есть у нас тут конечно писатели
    но результат в конечно итоге всегда посредственный...

    так что
    только асм только хардкор

    вот хорошая таблица по z80 асму
    http://www.z80.info/zip/z80-documented.pdf
    начиная с 26 страницы
    все лаконично и понятно
    Последний раз редактировалось NEO SPECTRUMAN; 26.08.2020 в 03:29.

    Этот пользователь поблагодарил NEO SPECTRUMAN за это полезное сообщение:

    Vladius(27.08.2020)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)

Похожие темы

  1. Ответов: 42
    Последнее: 05.05.2021, 17:01
  2. Общая тема для моих вопросов (ассемблер и zx spectrum)
    от moronizzz в разделе Для начинающих
    Ответов: 17
    Последнее: 23.08.2016, 18:13
  3. тема для мобильного....
    от rasmer в разделе Музыка
    Ответов: 0
    Последнее: 18.01.2008, 20:25

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •