deathsoft wrote:Выложи сюда trd с программой, ну и посмотри флажки i: там поди 00
Блин trd чёта не умею делать, вернее Бейсик загрузчики не умею
. Хобету могу только, прикладываю его и бинарь(загружается и пускается с #8000).
Почини плиз, очень надо. Или скажи где мой косяк.
Оставляю код во второй банке,оставляю ПЗУ в нулевой банке, всё равно цпу-халтед. Может я неправильно текстмод подключаю?
И скриншот в момент "CPU HALTED", тоже самое без текстмода работает ровно.
- Code: Select all
DEVICE ZXSPECTRUM128
ORG #0
START
INI
DI
JP INI_CONT+#8000
org #38
RST38 ;тут только счётчик прерываний
PUSH HL
ld hl,COUNTER
INC (HL)
JR NZ,.L1
INC HL
INC (HL)
JR NZ,.L1
INC HL
INC (HL)
JR NZ,.L1
INC HL
INC (HL)
.L1 POP HL
ei
ret
INI_CONT
ld a,1 ;открываю порты
out (#BF),a
LD BC,#3FF7 ;подключаю ОЗУ в нулевую банку
LD A,#40
OUT (C),A
LD hl,#8000 ;копирую себя в нулевую банку
ld de,#0000
ld bc,#4000
LDIR
LD SP,#4000
ld bc,#ff77 ;включаю текстмод
ld a,6
out (c),a
xor a ;закрываю порты
out (#BF),a
jp .l1
.l1 ei
halt ;а тут херня какая то "CPU HALTED", прерывания не срабатывают.
di
ld hl,COUNTER.HI+1 ;а это просто чтобы что то было
ld a,(hl)
or a
jr .l1
COUNTER
.LO WORD 0
.HI WORD 0
ENDPROG