PDA

Просмотр полной версии : Запуск STS из .sna, сгенерированного sjasmplus.



siril
11.10.2010, 15:10
На маке есть пара эмулей спектрума (FUSE, Unreal Speccy Portable), но в них нет встроенного монитора-отладчика.

Посему возник вопрос как пришить к исходнику STS и запустить его из .sna?

(средствами sjasmplus)

Попробовал так:




//
// Created by oisee on 10.10.10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//

;макрос для установки страницы
macro set_page pagenum
ld a,pagenum
ld bc,#7ffd
out (c),a
endm

macro stop
jp $
endm

; устройство - ZXSPECTRUM128
device ZXSPECTRUM128

page 0 ;основной код - в 0 странице
org #6000
initialization
di

;устанавливаем 7-ю страницу

set_page 7

;запускаем отладчик
call debugger

;программа для отладки:
ld hl,#4000
ld de,#4001
ld bc,#17ff
ld a,#ff
ld (hl),a
ldir

ld hl,#5800
ld de,#5801

grid
ld b,12
push bc
ld bc,#20
ld a,#07 | #40
ld (hl),a
ldir
ld bc,#20
ld a,#07 | #00
ld (hl),a
ldir
pop bc
djnz grid
ret

;загружаем отладчик в 7-ю страницу:
page 7
org #d000
debugger
; incbin "sts62e.bin"
; incbin "sts51.bin"
incbin "sts70.bin"

page 0
savesna "sts_test.sna",#6000


но почему-то получаю лишь висящий эмуль.

Может быть кто окинет это дело свежим взглядом? =)

(Исходники с различными STS'ами - во вложении)

skyther
11.10.2010, 15:24
можно запихнуть sts вместо 128 бейсика

siril
11.10.2010, 15:29
не знаю, возможно ли заменить rom в UnrealSpeccyPortable под MacOSX, я попробую.

Но меня в данный момент интересует именно вышеописанный способ запуска. Что я делаю не так? Вроде-бы по-логике должно же работать! =)

Попробуйте собрать вложение у себя =)

psb
11.10.2010, 16:21
собирать не пробовал, но там точно #d000? не #db00?

skyther
11.10.2010, 16:26
не #db00?
запускать надо с db00

siril
11.10.2010, 16:40
без разницы откуда запускать, пробовал и #d000 и #db00.

в первый раз можно запускать и с #d000 (как написано в хелпе к STS6.2)

а потому причина глюка не в этом ^_^

Antipod
11.10.2010, 17:21
без разницы откуда запускать, пробовал и #d000 и #db00.

в первый раз можно запускать и с #d000 (как написано в хелпе к STS6.2)

а потому причина глюка не в этом ^_^


у меня так запустилось вроде:



page 7
org #db00
debugger
; incbin "sts62e.bin"
; incbin "sts51.bin"
incbin "sts70.bin"

siril
11.10.2010, 21:33
ура! =)

Antipod, спасибо =)

(пустился впляс)

---------- Post added at 22:45 ---------- Previous post was at 22:07 ----------


можно запихнуть sts вместо 128 бейсика

а есть такой же (для использования вместо rom128), но STS6.2 или 5.1?

а то в 7.3 фонт уж слишком страшный.

---------- Post added at 23:33 ---------- Previous post was at 22:45 ----------

ups, а там вся "адаптация" под ROM заключается в


device zxspectrum128
org #c000
di:
ld a,#07:
ld bc,#7ffd
out (c),a
ld hl,#0000:ld de, #c000: ld bc,#4000
ldir
jp debugger

org #db00
debugger
incbin "sts62e.bin"
; incbin "sts51.bin"
; incbin "sts70.bin"

savebin "sts62e.rom",#c000,#4000


вот и готова rom-версия любого STS =)