С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
ааа. я вот не просто так в скобках маяковал. скажу по простому для 70 годов. спрайты и тайлы очень ничего так
жаль афтор темы слился. ну впрочем как обычно.
- - - Добавлено - - -
add. второй половины 70 годов.
- - - Добавлено - - -
ps1. в том видео, которое я запостил. ни спрайтов, ни тайлов нет. вот поворот
- - - Добавлено - - -
ps2. вот тут глубоко для тех кто в теме. а не "пукнуть" решил. как показали быстрые практические опыты человека глубоко из темы науки, Ниши на период его исследований середины 80г.
натягивание тмс с точностью до такта с режимом 2х (совы) на два два глобуса (одновременно).
глобусы: тайлы и спрайты (тмс из 70 г) не очень. блитер (тмс из 70) значительно круче.
имеем 38 и 58. в целом не плохо, но с таким подходом все печально закончилось с vdp от Ниши.
далее Ниши со студентами решил придумать новый проц на базе z280 (купил исходники). сидел в бункере 7 лет. придумал не плохой проц r800. вылез. проц r800 оказался не кому не нужен в 92 году.
в чем .....? не бейте ученых, ну и связываться с ними людям практичным не стоит
ps3 и последний. там на заре создания msx еще один товарищ (серый кардинал) мелькал билл гейтс, который и отправил Ниши учиться и тырить у америкосов технологии.
но это уже другая история взрослые дядьки![]()
Последний раз редактировалось OrionExt; 05.11.2021 в 17:50.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
а зачем смешивать msx1 и 2.
начали с 1, но причём тут cybernoid на msx2 ???
оно все совместимо снизу вверх, всегда хочется лучшегои чего там такого революционного в msx2, просто поправил режим с тайлами, спрайтами (кривовато. читай выше).
- - - Добавлено - - -
ладненько. надо автора поста мотивировать, а то он ваших речей скиснет(бабульки на лавочке, я вот слышала ...)
Последний раз редактировалось OrionExt; 27.10.2021 в 22:20.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
.msxdos
SCT EQU #1E00-#0200
SAT EQU #1E00 ; начало таблицы атрибутов спрайтов
SGT EQU #3800 ; начало таблицы шаблонов спрайтов
PGT EQU 0 ; начало таблицы шаблонов
PNT EQU #1800 ; начало таблицы имен шаблонов
CT EQU #2000 ; начало таблицы цветов
SCREEN_DATA EQU #4000
SCREEN_ATRIBUTE_DATA EQU #5800
ORG #100
;stp: jr stp
di
ld sp,newsp
call SET_SCREEN
ld hl,screen
ld de,SCREEN_DATA
ld bc,6912
ldir
call zx2msx_data
call zx2msx_atribute
ld hl,reg_data_SCREEN_2+1
ld a,(hl) ; data for r1
xor #40 ; bit6=0 SCREEN OFF
out (#99),a
ld a,#81 ; reg 1 write
nop
out (#99),a ; SCREEN On
mmm: jr mmm
zx2msx_atribute:
ld hl,CT
ld a,l
out (#99),a
ld a,h
or 64
out (#99),a
ld bc,768
ld hl,SCREEN_ATRIBUTE_DATA
setclrl2:
ld a,(hl)
inc hl
exx
ld de,color_table+8
bit 6,a
jr nz,bright_color ;bit6 установлен(bright)
ld de,color_table
bright_color:
push af
and #07
ld h,0
ld l,a
add hl,de
ld b,(hl) ; цвет INK
rl b
rl b
rl b
rl b
pop af
rrca
rrca
rrca
and #07
ld h,0
ld l,a
add hl,de
ld a,(hl) ; цвет PAPER
or b
ld b,8
setclrl1:
out (#98),a
nop
djnz setclrl1
exx
dec bc
ld a,c
or b
jr nz,setclrl2
ret
;---------------------------------------------------------------------------
zx2msx_data:
ld hl,PGT
ld a,l
out (#99),a
ld a,h
or 64
out (#99),a
ld hl,SCREEN_DATA
ld d,24
tscrdtl3:
push hl
ld c,32
tscrdtl2:
push hl
ld b,8
tscrdtl1:
ld a,(hl)
out (#98),a
call DOWN_HL
djnz tscrdtl1
pop hl
inc hl
dec c
jr nz,tscrdtl2
pop hl
call DOWN_HL8
dec d
jr nz,tscrdtl3
ret
;----------------------------------------------
DOWN_HL8:
ld b,8
dhl8l:
call DOWN_HL
djnz dhl8l
ret
DOWN_HL: ;------------ HL= адрес экрана
inc h
ld a,h
and 7
ret nz
ld a,l
add a,32
ld l,a
ret c
ld a,h
sub 8
ld h,a
ret
screen: incbin "cyber"
ds 2*10
newsp:
dw 0
dw 0
;------------------------------------------------------------------
color_table:
db 0,1,2,3,4,5,6,7 ; номера цветов без bright
db 8,9,10,11,12,13,14,15 ; номера цветов с bright
;-------------------------------------------------------------------
set_screen_register:
ld a,#00 ; старт с рег0 бит7=0 атвтоинкримент регеиста
out (#99),a
ld a,#91 ; запись в рег 17
nop
out (#99),a
ld c,#9B ; порт#3
ld a,12 ; сколько регистров
reg_load_loopm:
outi
dec a
jr nz,reg_load_loopm
ret
set_palette_registre:
ld hl,ZXpaletteData
xor a
out (#99),a ; номер регистра цвета
ld a,#90 ; reg 16(#10) +7бит=1(запись)
nop
out (#99),a
ld a,16 ; сколько регистров
ld c,#9A ; Color Palette Register
set_palette_loop:
outi ; SET RED BLUE
outi ; SET GREEN
dec a
jr nz, set_palette_loop
ret
;----------------------------------------------------------------
reg_data_SCREEN_2:
db 00000100b ;REG#0 MODE REGISTER #0
db 01100010b ;REG#1 MODE REGISTER #1
db 00000110b ;REG#2 PNT ADDRES #1800
db 11111111b ;REG#3 CT ADDRES LOW #2000
db 00000011b ;REG#4 PGT ADRESS #0000
db 00111111b ;REG#5 SAT ADRESS LOW #1E00
db 00000111b ;REG#6 SGT ADRESS #3800
db 00000000b ;REG#7 COLOUR REG (BIT 0-3 -BORDER COLOUR)
db 00101000b ;REG#8 MODE REGISTER #2 (BIT 5-Transparent from palette(0=Normal,1=Color 0 is solid); BIT 2-3 VRAM size and speed (0=1*16KB,1=4*16KB,2=1*64KB,3=64KB/HighSpeed)
db 00000010b ;REG#9 MODE REGISTER #3 (BIT 1=1 IF PAL MODE)
db 00000000b ;REG#10 CT ADDRES HIGH #0000
db 00000000b ;REG#11 SAT ADRESS HIGH #0000
;-----------------------------------------------------------
ZXpaletteData:
; RB G
db #00,0 ; Color 0 black
db #05,0 ; Color 1 dark blue
db #50,0 ; Color 2 dark red
db #55,0 ; Color 3 dark magenta
db #00,5 ; Color 4 dark green
db #05,5 ; Color 5 dark cyan
db #50,5 ; Color 6 dark yellow
db #55,5 ; Color 7 dark white (gray)
db #00,0 ; Color 8 black
db #07,0 ; Color 9 light blue
db #70,0 ; Color 10 light red
db #77,0 ; Color 11 light magenta
db #00,7 ; Color 12 light green
db #07,7 ; Color 13 light cyan
db #70,7 ; Color 14 light yellow
db #77,7 ; Color 15 light white
;----------------------------------------------------------------
SET_SCREEN:
ld hl,reg_data_SCREEN_2
inc hl
ld a,(hl) ; data for r1
xor #40 ; bit6=0 SCREEN OFF
ld (hl),a
dec hl
out (#99),a
ld a,#81 ; reg 1 write
nop
out (#99),a ; SCREEN OFF
;----------------------------------------------------------------
; УСТАНАВЛИВАЕМ РЕГИСТРЫ SCREEN2
call set_screen_register
;----------------------------------------------------------------
;УСТАНАВЛИВАЕМ ПАЛИТРУ
call set_palette_registre
;Устанавливаем PNT--------------
ld hl,PNT
call SET_VRAM_HL
xor a
ld b,0
ld c,3
fpl1:
out (#98),a
inc a
djnz fpl1
dec c
jr nz,fpl1
ret
;-------------------------------------------------------------
; HL=VRAM адрес; BC=сколько байт; A=чем заполнять
FILL_VRAM:
ex af,af'
ld a,l
out (#99),a
ld a,h
or 64
out (#99),a
fill_vram_loop:
ex af,af'
out (#98),a
dec bc
ex af,af'
ld a,c
or b
jr nz,fill_vram_loop
ret
;--------------------------------------------------------------
SET_VRAM_HL:
push af
ld a,l
out (#99),a
ld a,h
or 64
out (#99),a
pop af
ret
;--------------------------------------------------------------
- - - Добавлено - - -
Вот с палитрой как на спеке... Палитру можно менять только на MSX2 и старше
ZX-Evolution, Yamaha КУВТ2+Carnivore2
Вот ещё образец от И. Р. Маска — http://old-dos.ru/index.php?page=fil...show&id=105725
÷)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)