Тогда надо хотя бы перечислить, в каких эмуляторах это проверялось. Как я уже сказал, Хрессу так не делает. В Анриле не проверял. Другими не пользуюсь за ненадобностью.
Вид для печати
Просто вот код
Скрытый текст
Код:org 32768
di
ld a,%00010111
call SET_PAGE_MODE_A
call INIT_TABLE
;--------
ld ix,LINE_TABLE
ld b,24
fs push bc
call PRINT_32_SPRITE
ld de,lt_size
add ix,de
pop bc
djnz fs
;--------
strt
col ld bc,384
right push bc
call SWAP_SCREEN
call SCROLL2
ld ix,LINE_TABLE
ld b,24
nxt_ln push bc
call PRINT_NEXT_SPRITE
pop bc
ld de,lt_size
add ix,de
djnz nxt_ln
call DRAW
pop bc
dec bc
ld a,b
or c
jr nz,right
call INIT_TABLE
ld hl,416
ld (col+1),hl
jr strt
mar_y defb 143
old_y defb 143
mar_vel defw #1e00
vel_dn defb #0f
;----------------------------
update
ld hl,(mar_vel)
ld de,#c0
and a
sbc hl,de
ld a,h
or l
jr nz,upd1
ld hl,#1e00
upd1 ld (mar_vel),hl
ld a,(mar_vel+1)
ld b,a
ld a,(vel_dn)
ld d,a
ld a,(mar_y)
ld (old_y),a
add a,d
sub b
ld (mar_y),a
ret
;---------------------------------
;Первая инициализация таблицы: экранныe адресa, адреса начала строк уровня
INIT_TABLE
ld ix,LINE_TABLE
ld b,0
nxt_line
push bc
ld de,LEVEL
call ADDR_AFTER255
ld (IX+line_ptr),e
ld (IX+line_ptr+1),d
call NEXT_LINE_PTR
pop bc
call SCR_ADDR
ld (IX+print_addr),l
ld (IX+print_addr+1),h
ld (IX+attr_addr),e
ld (IX+attr_addr+1),d
ld de,lt_size
add ix,de
inc b
ld a,24
cp b
jr nz,nxt_line
ret
;---------------------------------
;Печать спрайта из ленты
PRINT_NEXT_SPRITE
ld l,(IX+ribbon_ptr)
ld h,(IX+ribbon_ptr+1)
nxt_rib
ld a,(hl) ;номер спрайта
cp 255 ;конец ленты?
jr nz,no_endrib
;конец
dec (IX+ribbon_cnt)
call z,NEXT_LINE_PTR ;счётчик обнулился, следующая лента
ld l,(IX+ribbon_start)
ld h,(IX+ribbon_start+1)
ld (IX+ribbon_ptr),l
ld (IX+ribbon_ptr+1),h
jr nxt_rib
no_endrib
;в A номер спрайта
inc hl
ld b,(hl)
ld l,a
ld h,0
push hl
;ld de,spr_attribs
;add hl,de
;ld a,(hl)
ld l,(IX+attr_addr)
ld h,(IX+attr_addr+1)
S_AA set 7,h
ld (hl),b
pop hl
add hl,hl
add hl,hl
add hl,hl ;x8
ld de,sprites
add hl,de ;адрес спрайта
ld e,(IX+print_addr)
ld d,(IX+print_addr+1)
S_PA set 7,d
ld b,8
nxt_b ld a,(hl)
ld (de),a
inc hl
inc d
djnz nxt_b
ld l,(IX+ribbon_ptr)
ld h,(IX+ribbon_ptr+1)
inc hl
inc hl
ld (IX+ribbon_ptr),l
ld (IX+ribbon_ptr+1),h
ret
;---------------------------------
;Печать 32 спрайта из ленты c первого знакоместа
PRINT_32_SPRITE
ld l,(IX+ribbon_ptr)
ld h,(IX+ribbon_ptr+1)
ld d,(IX+print_addr+1)
set 7,d
ld a,(IX+print_addr)
and 224
ld e,a
ld b,32
P32S1 push bc
P32S2 ld a,(hl) ;номер спрайта
cp 255 ;конец ленты?
jr nz,P32S3
;------
push de ;экранный адрес
dec (IX+ribbon_cnt)
call z,NEXT_LINE_PTR ;счётчик обнулился, следующая лента
ld l,(IX+ribbon_start) ;возьмём начало текущей ленты
ld h,(IX+ribbon_start+1)
pop de
;------
jr P32S2
P32S3
;в A номер спрайта
inc hl
ld b,(hl) ;атрибут спрайта
push hl ;ribbon_ptr
ld l,a
ld h,0
push hl ;номер спрайта
;push de ;экранный адрес
ld a,e
and 31
ld c,a ;номер знакоместа
;ld de,spr_attribs
;add hl,de
;ld b,(hl) ;атрибут спрайта
ld h,(IX+attr_addr+1)
set 7,h ;переключимся на 7 банку
ld a,(IX+attr_addr)
and 224
or c ;смешение адреса атрибута по х
ld l,a
ld (hl),b ;атрибут на экран
;pop de ;экранный адрес
pop hl ;номер спрайта
add hl,hl
add hl,hl
add hl,hl ;x8
push de ;экранный адрес
ld de,SPRITES
add hl,de ;адрес спрайта
pop de ;экранный адрес
push de ;экранный адрес
ld b,8
P32S4 ld a,(hl)
ld (de),a
inc hl
inc d
djnz P32S4
pop de ;экранный адрес
inc de
pop hl ;ribbon_ptr
inc hl
pop bc
djnz P32S1
ld (IX+ribbon_ptr),l
ld (IX+ribbon_ptr+1),h
ret
;---------------------------------
;Заполнение данных ленты из указателя линии уровня и его сдвиг
NEXT_LINE_PTR
ld l,(IX+line_ptr)
ld h,(IX+line_ptr+1)
ld b,(hl)
ld de,RIBBONS
call ADDR_AFTER255
ld (IX+ribbon_ptr),e
ld (IX+ribbon_ptr+1),d
ld (IX+ribbon_start),e
ld (IX+ribbon_start+1),d
inc hl
ld a,(hl)
ld (IX+ribbon_cnt),a
inc hl
ld (IX+line_ptr),l
ld (IX+line_ptr+1),h
ret
;---------------------------------
;адрес после разделителя 255 по номеру b
ADDR_AFTER255
xor a
cp b
ret z
nxt_de ld a,(de)
inc de
cp 255
jr nz,nxt_de
djnz nxt_de
ret
;---------------------------------
;сдвиг экрана
SCROLL
ld hl,(S_SRC)
ld de,(S_DST)
ld bc,6911
ldir
ret
;---------------------------------
;сдвиг экрана2
SCROLL2
S_SRC ld hl,#4001 ;10
ld (S_SRC1+1),hl ;16
S_DST ld hl,#C000 ;10
ld de,16 ;10
add hl,de ;11
ld (S_DST1+1),hl ;16
ld (SAVE_SP+1),sp ;20
ld b,216 ;7 = 100
S_SRC1 LD SP,0 ;10
POP HL ;10
POP DE ;10
POP AF ;10
POP IX ;14
POP IY ;14
EXX ;4
POP HL ;10
POP DE ;10
POP BC ;10
LD (S_SRC2+1),SP ;20 = 122
S_DST1 LD SP,0 ;10
PUSH BC ;11
PUSH DE ;11
PUSH HL ;11
EXX ;4
PUSH IY ;15
PUSH IX ;15
PUSH AF ;11
PUSH DE ;11
PUSH HL ;11
ld hl,32 ;10
add hl,sp ;11
LD (S_DST2+1),hl ;16 = 147
S_SRC2 LD SP,0 ;10
POP HL ;10
POP DE ;10
POP AF ;10
POP IX ;14
POP IY ;14
EXX ;4
POP HL ;10
POP DE ;10
POP BC ;10
LD (S_SRC1+1),SP ;20 = 122
S_DST2 LD SP,0 ;10
PUSH BC ;11
PUSH DE ;11
PUSH HL ;11
EXX ;4
PUSH IY ;15
PUSH IX ;15
PUSH AF ;11
PUSH DE ;11
PUSH HL ;11
ld hl,32 ;10
add hl,sp ;11
LD (S_DST1+1),hl ;16 = 147
djnz S_SRC1 ;13 551 / 32 = 17.2
SAVE_SP ld sp,0 ;10
;~119126 тактов (ldir ~ 145152 тактов - дольше на 21,8%)
ret
;---------------------------------
SCR_ADDR
;адрес 31ого знакоместа линии
ld a,b
and %00011000
or %01000000 ;+16384
ld h,a
ld a,b
rrca
rrca
rrca
ld d,a ;для расчёта атрибутов
or %00011111 ;+31
ld l,a
;адрес атрибутов этого знакоместа
ld e,l ;уже частично посчитано
ld a,d
and %00000011
or %01011000 ;+22528
ld d,a
ret
;---------------------------------
;Бинд страницы B
BIND_PAGE_B
DI
LD B,A
LD A,(#5B5C)
AND 248
OR B
LD (#5B5C),A
LD BC,#7FFD
OUT (C),A
;EI
RET
;--------------------------
;Переключение экранов
SWAP_SCREEN
;DI
LD A,(#5B5C)
xor 8
LD (#5B5C),A
LD BC,#7FFD
OUT (C),A
;EI
ld a,(S_SRC+2)
xor 128
ld (S_SRC+2),a
ld a,(S_DST+2)
xor 128
ld (S_DST+2),a
ld a,(S_PA+1)
xor 8 ;SET 6,D <-> SET 7,D
ld (S_PA+1),a
ld a,(S_AA+1)
xor 8 ;SET 6,H <-> SET 7,H
ld (S_AA+1),a
ld a,(A_P1+1)
xor 8 ;SET 6,H <-> SET 7,H
ld (A_P1+1),a
RET
;--------------------------
;Переключение экранов
SET_PAGE_MODE_A
;DI
LD (#5B5C),A
LD BC,#7FFD
OUT (C),A
;EI
RET
;--------------------------
DOWN INC H
LD A,H
AND #07
RET NZ
LD A,L
ADD A,#20
LD L,A
RET C
LD A,H
SUB #08
LD H,A
RET
;---------------------------
ADR_PIX
LD A,E ;E-Y
AND A
RRA
SCF
RRA
AND A
RRA
XOR E
AND #F8
XOR E
OR #40
LD H,A
A_P1 set 7,h
LD A,D
RLCA
RLCA
RLCA
XOR E
AND #C7
XOR E
RLCA
RLCA
LD L,A
RET
;----------------------------
DRAW
call update
ld a,(old_y)
ld e,a
ld d,32
call ADR_PIX
ld de,FON_SRC
call DRAW_SRC
ld a,(mar_y)
ld e,a
ld d,40
call ADR_PIX
call COPY_FON
ld de,MARIO
call DRAW_SRC
ret
;----------------------------
DRAW_SRC
ld b,32
DS1 ld a,(de)
ld (hl),a
inc hl
inc de
ld a,(de)
ld (hl),a
dec hl
inc de
call DOWN
djnz DS1
ret
;----------------------------
COPY_FON
push hl
ld de,FON_SRC
ld b,32
CF1 ld a,(hl)
ld (de),a
inc hl
inc de
ld a,(hl)
ld (de),a
dec hl
inc de
call DOWN
djnz CF1
pop hl
ret
LINE_TABLE DEFS 288,0
LINE_ptr equ 0 ;2 - указывает на текущую свёрнутую ленту в линии уровня
ribbon_ptr equ 2 ;2 - адрес текущего номера спрайта в ленте
ribbon_start equ 4 ;2 - начальный адрес текущей ленты
print_addr equ 6 ;2 - адрес знакоместа
attr_addr equ 8 ;2 - адрес атрибутов
ribbon_cnt equ 10 ;1 - счётчик количества повторяющихся лент
lt_size equ 11 ;количество байт в данных линии
LEVEL
DEFB 11,19,8,1,11,17,8,2,11,29,8,1,11,16,8,2,11,29,8,1,11,16,8,2,11,29,8,1,11,7,8,3,11,6,8,2,11,25,255
DEFB 11,18,9,1,12,1,10,1,11,15,9,1,12,2,10,1,11,27,9,1,12,1,10,1,11,14,9,1,12,2,10,1,11,27,9,1,12,1,10,1,11,14,9,1,12,2,10,1,11,27,9,1,12,1,10,1,11,5,9,1,12,3,10,1,11,4,9,1,12,2,10,1,11,24,255
DEFB 11,9,8,1,11,8,13,1,15,1,14,1,11,7,8,3,11,5,13,1,15,2,14,1,11,17,8,1,11,9,13,1,15,1,14,1,11,6,8,3,11,5,13,1,15,2,14,1,11,17,8,1,11,9,13,1,15,1,14,1,11,6,8,3,11,5,13,1,15,2,14,1,11,17,8,1,11,9,13,1,15,1,14,1,11,5,13,1,15,3,14,1,11,4,13,1,15,2,14,1,11,13,29,1,31,1,11,9,255
DEFB 11,8,9,1,12,1,10,1,11,16,9,1,12,3,10,1,11,24,9,1,12,1,10,1,11,16,9,1,12,3,10,1,11,24,9,1,12,1,10,1,11,16,9,1,12,3,10,1,11,24,9,1,12,1,10,1,11,43,30,1,11,9,255
DEFB 11,8,13,1,15,1,14,1,11,16,13,1,15,3,14,1,11,24,13,1,15,1,14,1,11,16,13,1,15,3,14,1,11,24,13,1,15,1,14,1,11,16,13,1,15,3,14,1,11,24,13,1,15,1,14,1,11,43,32,1,11,9,255
DEFB 11,198,32,1,11,9,255
DEFB 11,22,3,1,11,57,2,8,11,3,2,3,3,1,11,14,3,1,11,11,2,3,11,4,2,1,3,2,2,1,11,56,27,2,11,8,32,1,11,9,255
DEFB 11,22,4,1,11,57,2,8,11,3,2,3,4,1,11,14,4,1,11,11,2,3,11,4,2,1,4,2,2,1,11,56,28,2,11,8,32,1,11,9,255
DEFB 11,187,27,3,11,8,32,1,11,9,255
DEFB 11,187,28,3,11,8,32,1,11,9,255
DEFB 11,186,27,4,11,8,32,1,11,9,255
DEFB 11,186,28,4,11,8,32,1,11,9,255
DEFB 11,185,27,5,11,8,32,1,11,4,36,3,11,2,255
DEFB 11,185,28,5,11,8,32,1,11,4,2,3,11,2,255
DEFB 11,16,3,1,11,3,2,1,3,1,2,1,3,1,2,1,11,21,5,1,11,9,5,1,11,18,2,1,3,1,2,1,11,14,2,1,11,5,2,2,11,4,3,1,11,2,3,1,11,2,3,1,11,5,2,1,11,10,2,2,11,6,27,1,11,2,27,1,11,10,27,2,11,2,27,1,11,12,2,2,3,1,2,1,11,12,27,6,11,8,32,1,11,4,33,1,2,1,34,1,11,2,255
DEFB 11,16,4,1,11,3,2,1,4,1,2,1,4,1,2,1,11,21,6,1,11,9,6,1,11,18,2,1,4,1,2,1,11,14,2,1,11,5,2,2,11,4,4,1,11,2,4,1,11,2,4,1,11,5,2,1,11,10,2,2,11,6,28,1,11,2,28,1,11,10,28,2,11,2,28,1,11,12,2,2,4,1,2,1,11,12,28,6,11,8,32,1,11,4,33,1,2,1,34,1,11,2,255
DEFB 11,38,5,1,11,6,7,1,11,9,7,1,11,77,27,2,11,2,27,2,11,8,27,3,11,2,27,2,11,26,27,7,11,8,32,1,11,3,36,1,2,3,36,1,11,1,255
DEFB 11,2,20,1,11,35,6,1,11,6,7,1,11,2,20,1,11,6,7,1,11,39,20,1,11,37,28,2,11,2,28,2,11,4,20,1,11,3,28,3,11,2,28,2,11,26,28,7,11,4,20,1,11,3,32,1,11,3,2,5,11,1,255
DEFB 11,1,21,1,26,1,23,1,11,24,5,1,11,8,7,1,11,6,7,1,11,1,21,1,26,1,23,1,11,5,7,1,11,38,21,1,26,1,23,1,11,35,27,3,11,2,27,3,11,2,21,1,26,1,23,1,11,1,27,4,11,2,27,3,11,5,5,1,11,14,5,1,11,1,27,8,11,3,21,1,26,1,23,1,11,2,32,1,11,3,2,2,35,1,2,2,11,1,255
DEFB 11,1,22,1,18,1,24,1,11,13,20,1,11,10,6,1,11,8,7,1,11,6,7,1,11,1,22,1,18,1,24,1,11,5,7,1,11,6,20,1,11,31,22,1,18,1,24,1,11,13,20,1,11,21,28,3,11,2,28,3,11,2,22,1,18,1,24,1,11,1,28,4,11,2,28,3,11,3,20,1,11,1,6,1,11,14,6,1,11,1,28,8,11,3,22,1,18,1,24,1,11,2,32,1,11,3,2,2,35,1,2,2,11,1,255
DEFB 21,1,26,1,18,1,25,1,23,1,11,7,16,3,11,1,21,1,26,1,23,1,11,5,16,1,11,3,7,1,11,8,7,1,11,2,16,1,11,3,7,1,21,1,26,1,18,1,25,1,23,1,11,4,7,1,11,1,16,3,11,1,21,1,26,1,23,1,11,5,16,1,11,17,16,1,11,5,21,1,26,1,18,1,25,1,23,1,11,7,16,3,11,1,21,1,26,1,23,1,11,5,16,1,11,13,27,4,16,2,27,4,21,1,26,1,18,1,25,1,27,5,11,2,27,4,11,1,21,1,26,1,23,1,7,1,11,3,16,1,11,10,7,1,27,9,11,2,21,1,26,1,18,1,25,1,23,1,11,1,27,1,11,3,2,2,35,1,2,2,11,1,255
DEFB 22,1,18,3,24,1,11,6,17,1,18,3,19,1,22,1,18,1,24,1,11,4,17,1,18,1,19,1,11,2,7,1,11,8,7,1,11,1,17,1,18,1,19,1,11,2,7,1,22,1,18,3,24,1,11,4,7,1,17,1,18,3,19,1,22,1,18,1,24,1,11,4,17,1,18,1,19,1,11,15,17,1,18,1,19,1,11,4,22,1,18,3,24,1,11,6,17,1,18,3,19,1,22,1,18,1,24,1,11,4,17,1,18,1,19,1,11,12,28,4,18,2,28,4,22,1,18,3,28,5,11,2,28,4,19,1,22,1,18,1,24,1,7,1,11,2,17,1,18,1,19,1,11,9,7,1,28,9,11,2,22,1,18,3,24,1,11,1,28,1,11,3,2,2,35,1,2,2,19,1,255
DEFB 0,69,11,2,0,15,11,3,0,64,11,2,0,53,255
DEFB 1,69,11,2,1,15,11,3,1,64,11,2,1,53,255
RIBBONS
DEFB 0,16,1,16,255
DEFB 16,16,17,16,255
DEFB 30,16,30,16,255
DEFB 9,48,10,48,255
DEFB 25,48,26,48,255
DEFB 6,38,7,38,0,38,8,38,255
DEFB 22,38,23,38,0,38,24,38,255
DEFB 27,46,28,38,0,38,29,46,255
DEFB 2,47,3,47,255
DEFB 0,40,4,47,255
DEFB 5,47,0,40,255
DEFB 0,40,0,40,255
DEFB 0,56,0,56,255
DEFB 0,40,18,47,255
DEFB 21,47,0,40,255
DEFB 19,47,20,47,255
DEFB 2,44,3,44,255
DEFB 0,47,4,44,255
DEFB 0,32,0,32,255
DEFB 5,44,0,47,255
DEFB 11,44,12,44,255
DEFB 0,47,13,44,255
DEFB 13,44,0,32,255
DEFB 14,44,0,47,255
DEFB 0,32,14,36,255
DEFB 15,32,0,32,255
DEFB 0,32,15,32,255
DEFB 31,40,32,40,255
DEFB 33,40,34,40,255
DEFB 0,40,14,61,255
DEFB 14,61,0,40,255
DEFB 37,60,0,40,255
DEFB 38,42,0,40,255
DEFB 30,16,0,0,255
DEFB 0,7,30,16,255
DEFB 0,7,0,7,255
DEFB 35,42,36,42,255
SPRITES
DEFB 0,0,0,0,0,0,0,0
DEFB 64,65,65,65,81,94,65,65
DEFB 0,3,7,31,31,31,57,119
DEFB 0,192,224,224,244,190,222,254
DEFB 0,7,15,31,31,127,127,63
DEFB 0,16,176,240,250,254,254,252
DEFB 0,127,3,115,115,115,115,115
DEFB 0,255,240,246,246,246,246,246
DEFB 0,254,0,86,46,86,46,86
DEFB 85,128,32,135,15,142,14,134
DEFB 86,1,5,193,225,113,113,241
DEFB 0,0,0,0,0,7,63,255
DEFB 0,0,0,0,0,224,252,255
DEFB 1,3,7,15,31,63,127,255
DEFB 128,192,224,240,248,252,254,255
DEFB 2,7,7,7,55,50,48,48
DEFB 0,0,192,48,15,1,1,126
DEFB 65,65,129,129,1,1,3,126
DEFB 27,13,6,7,0,0,0,0
DEFB 255,191,28,192,243,126,28,0
DEFB 191,127,61,131,199,255,60,0
DEFB 248,252,254,254,248,96,0,0
DEFB 115,115,115,115,115,115,0,0
DEFB 246,246,246,246,246,246,0,0
DEFB 46,86,46,86,46,86,0,0
DEFB 1,129,0,129,1,160,0,255
DEFB 113,65,193,1,65,197,1,255
DEFB 31,23,31,23,31,23,31,23
DEFB 251,251,251,251,251,251,251,251
DEFB 184,88,184,88,184,88,184,88
DEFB 255,2,2,2,255,32,32,32
DEFB 128,64,32,16,13,10,5,10
DEFB 1,3,7,15,95,175,95,175
DEFB 5,10,5,10,31,63,127,255
DEFB 95,175,95,175,247,251,253,254
DEFB 248,248,248,248,0,216,216,216
DEFB 29,29,29,29,0,31,31,31
DEFB 0,124,214,146,186,238,254,56
DEFB 3,3,3,3,3,3,3,3
MARIO
DEFB 3,240
DEFB 15,208
DEFB 31,208
DEFB 31,254
DEFB 28,144
DEFB 38,204
DEFB 38,2
DEFB 96,34
DEFB 96,252
DEFB 112,124
DEFB 24,0
DEFB 8,32
DEFB 11,208
DEFB 27,216
DEFB 59,220
DEFB 123,222
DEFB 115,206
DEFB 243,207
DEFB 240,15
DEFB 244,47
DEFB 144,9
DEFB 144,9
DEFB 80,10
DEFB 32,4
DEFB 32,4
DEFB 65,130
DEFB 66,66
DEFB 68,34
DEFB 68,34
DEFB 60,60
DEFB 252,63
DEFB 252,63
FON_SRC
defs 64,0
print_bc
CALL 11563
CALL 11747
jr $
;page 6
;defb 0
[свернуть]
Внизу можно раскомментироватть
page 1
defb 0
и всё, картина меняется
- - - Добавлено - - -
Я могу создать сна, но если он 48 НО использует банки, то аут
- - - Добавлено - - -
после этого должен получиться как минимум 128(всё невклёчёные банка, а нет(
- - - Добавлено - - -
они и в хаголовке неплоъхо себя чувствуют(что 128, что 48)
Скрытый текст
}Код:void ZX_SNA_Saver::FillHeader(ByteVector & mas, unsigned int start)
{
//Заполним заголовок sna(27 байт)
mas.push_back(63); //регистр I
mas.push_back(0); //HL'
mas.push_back(0);
mas.push_back(0); //DE'
mas.push_back(0);
mas.push_back(32); //BC'
mas.push_back(23);
mas.push_back(68); //AF'
mas.push_back(0);
mas.push_back(168); //HL
mas.push_back(16);
mas.push_back(185); //DE
mas.push_back(92);
mas.push_back(0); //BC
mas.push_back(0);
mas.push_back(58); //IY
mas.push_back(92);
mas.push_back(0); //IX
mas.push_back(0);
mas.push_back(6); //Флаги прерываний
mas.push_back(0); //Регистр регенерации динамической памяти R
mas.push_back(116); //AF
mas.push_back(0);
mas.push_back((start - 2) % 256); //SP
mas.push_back((start - 2) / 256);
mas.push_back(1); //Режим прерываний
mas.push_back(7); //Цвет бордюра
[свернуть]
- - - Добавлено - - -
Пожоду я показывал уже..
- - - Добавлено - - -
Упс.. а тут нет пс, а где в 48 он?
- - - Добавлено - - -
А пк опять же только в 128 режиме
Скрытый текст
Код://Если 128k
if (is128)
{
sna.push_back(start % 256); //Регистровая пара PC
sna.push_back(start / 256);
sna.push_back(16); //Состояние порта #7FFD
sna.push_back(0); //ПЗУ TR-DOS (0 - неактивно, 1 - активно)
// Банки 1 3 4 6 7
this->Addpage(compiler, sna, 1);
this->Addpage(compiler, sna, 3);
this->Addpage(compiler, sna, 4);
this->Addpage(compiler, sna, 6);
this->Addpage(compiler, sna, 7);
}
[свернуть]
- - - Добавлено - - -
Весь этот разговор изначальную проблему не решает, в сна 48 эмуляторы сразу отключают юз страниц
- - - Добавлено - - -
а не надо так) не надо такими быть :v2_dizzy_roll:
- - - Добавлено - - -
Поменяйте 1 битик
- - - Добавлено - - -
Где в SNA-48 хранится PC
- - - Добавлено - - -
Где в SNA-48 хранится PC
Знавчит стырили с оджного источника))
- - - Добавлено - - -
За-Ба-СтоВка(бунт) ну там Покожите, где я дибил, либо, но увы перекомпилите эмули, ыыыыы)))
SnapShot это именно сохранёнка состояния под эмулем.
а то что ты пытаешься создать sna допустим под асмом это твои проблемы, а не авторов эмуля.
.................
ещё могу подсказать что режим im1 на 128ой машине работает совсем по другому
и если прерывания разрешены то подсунув 48ой SNA ты скорее всего вызовешь сброс/зависание
Ты читал тему с начала, идиотик?
- - - Добавлено - - -
Ну с поста третьего примерно
- - - Добавлено - - -
Что ты мне посоветуешь с моей проблемой?
- - - Добавлено - - -
В 48 к где хранится инфа о порте
- - - Добавлено - - -
Почему сразу заглушка?
Я иж меняю как перчатки))))
- - - Добавлено - - -
Я думал ты подскажешь в сложной ситуации, а ты просто никчёмный
- - - Добавлено - - -
на какую?
- - - Добавлено - - -
Все понимают, ты один как сцыкливая сипа хотешь высказаться
- - - Добавлено - - -
Эй гудбой, где в 48 то что нужно?
- - - Добавлено - - -
Хоть бы байт по делу сказал, ну правда
- - - Добавлено - - -
яж код дал, что мешает проверить. Наверное идиотизм