192 => 32

192 a b c d e 32

7 фаз, 6 промежутков

32 40 52 64 80 100 128
32 44 60 80 108 144 192;полное разрешение экрана
;96/2=48
;мы имеем в 7 странице 37 вариантов -18..0..+18

//---------------------------------------- 
// Переменные и константы 
//---------------------------------------- 
XYZMAX    EQU    15        ; максимальная длина по осям (в одну сторону) 
COR_PZ    EQU    #E0+XYZMAX    ; коэффициент для Z  
COR_Z    EQU    #C0+XYZMAX 
COR_PX    EQU    XYZMAX 
COR_PY    EQU    #20+XYZMAX

; Начальные координаты точек хранятся в формате 
; X=X+COR_Z 
; Y=Y+COR_Z 
; Z=Z+COR_Z 
; (т.е. с прибавленным смещением до начала таблиц)

; Диапазон изменения угла вращения 0..127 
; Поворот осуществляется вокруг осей Ox,Oy 
; по адресу Ay - угол вращения вокруг Oy 
; по адресу Ax - угол вращения вокруг Ox

//---------------------------------------- 
// Формат хранения таблиц: 
//---------------------------------------- 

; Таблица произведений: 

;        #DB00           #DB80 
;        +--------------+--------------+ 
;   Coord| Coord*cos(A) | Coord*sin(A) | 
;        +--------------+--------------+ 
;        Alpha          Alpha

//---------------------------------------- 
// Формулы вращения 
//---------------------------------------- 

;    OX: 
;    y` =y*cos(Ax) - z*sin(Ax) 
;    z` =y*sin(Ax) + z*cos(Ax) 

;    OY: 
;    x =x*cos(Ay) - z*sin(Ay) 
;    z =x*sin(Ay) + z*cos(Ay)

//---------------------------------------- 
// Вращение и проецирование: 
//----------------------------------------
ROT3D
	POP	BC	;10 взяли координаты C=z B=y
	//--- вращение по оси Ox: (считаем y` z`)
	LD	L,0	;7 угол Ax
Ax0	EQU	$-1
	LD	H,B	;4 (hl)=y*cos(Ax)
	LD	A,(HL)	;7
	LD	L,0	;7 угол Ax+128
Ax1	EQU	$-1
	LD	H,C	;4 (hl)=z*sin(Ax)
	SUB	(HL)	;7 a=y`=y*cos(Ax)-z*sin(Ax)
	ADD	A,COR_PY ;A=таблица проекции


    LD    H,C        ;4 
    SET    7,L        ;8    (HL)=Z*sinA 
    SUB    (HL)        ;7    A=X*cosA-Z*sinA 
    ADD    A,COR_PX    ;7 
    LD    B,A        ;4 
    LD    H,E        ;4 
    LD    A,(HL)        ;7 
    LD    H,C        ;4 
    RES    7,L        ;8 
    ADD    A,(HL)        ;7 
    ADD    A,COR_Z        ;7 
    LD    C,A        ;4 // 49+24+16=89 
    //--- вращение по оси OX: 
    LD    L,0        ;7 
Ax    EQU    $-1 
    LD    H,D        ;4 
    LD    A,(HL)        ;7 
    LD    H,C        ;4 
    SET    7,L        ;8 
    SUB    (HL)        ;7 
    ADD    A,COR_PY    ;7 
    LD    E,A        ;4 
    LD    H,D        ;4 
    LD    A,(HL)        ;7 
    LD    H,C        ;4 
    RES    7,L        ;8 
    ADD    A,(HL)        ;7 
    ADD    A,COR_PZ    ;7 // 49+24+16=89
длина паттерна 336 прерываний.
168
84
42
21

960
пауза в начале 624	48*13


константы для эффектов
336 - #00с3
168 - #0186
84 - #030C


Для компиляции подходят:
21
24
28!!!4000-5AFF - СЌРєСЂР°РЅ
5B00-5BFF - РїРµСЂРµРјРµРЅРЅС‹Рµ 128 / Р±СѓС„РµСЂ РїСЂРёРЅС‚РµСЂР° РІ 48
5C00-5CB5 - СЃРёСЃС‚РµРјРЅС‹Рµ РїРµСЂРµРјРµРЅРЅС‹Рµ 48
5CB6 - СЃРёСЃС‚РµРјРЅС‹Рµ РїРµСЂРµРјРµРЅРЅС‹Рµ trdos/РєР°СЂС‚Р° РјРёРєСЂРѕРґСЂР°Р№РІР°
5C4F - РёРЅС„РѕСЂРјР°С†РёСЏ Рѕ РєР°РЅР°Р»Р°С…
#80
5C53(23635) - Р‘РµР№СЃРёРє (РёР»Рё 23755)
#3E - RAMTOP (23790&&???)

#6200..#6900 - low kernal
#6900..#8000 - free (music in part 1)

PG_#10 - pack + free_to_use
PG_#12 - effect + top_kernal(int, etc...)
PG_#15 - scr0 + kernal
PG_#16 - music
PG_#17 - scr1 + free_to_use	
	
for pack:
PG_#11
PG_#13
PG_#14
	
at start for pack:
PG_#10
	
;---------------- effects page use
	10_BEGIN			7	(+#4000 preloaded)
	03_SINUS			-
	02_SPHERE_DOTS		7
	11_SCROLL			0
	01_GREETS			- (or pg7 for text?)
	14_BLACKMAN         -
	07_BOARD_BALLS      0
	09_DJ`s

	05_TRUBA            7
	06_PLASM            -
    12_CIRCLES_ROTATE   7
    04_COLORED_SOSISKA	7, 0, low
	13_SETKA_SINUS      7
	15_CIRCLES_ZOOMсвободно для эффекта примерно 24kb (если с 7 страницей)
или 32kb

фон: 64 * 58 /2 = 1856 (или 3712 если храним оба экрана)





1) Чистые кадры
24*48 = 1152 байт/2 = 576 байт кадр
576 * 30 = 17280 байт (если храним 1 экран)













для каждой строки храним:
длина, старт, данные
получится по 16(?) байт в среднем на строку (768 на кадр) - 22272 байт

при выводе бордюра всегда свободно 3*5 = 15*224*4 = 13440t за мелким минусом
10,3,2,1,11,14,7,9,5,6,12,4,13,1516 элементов шрифта
60 в высоту
16 градаций угла

16*16 = 256

256 * 30 = 7680 (по две линии в байте из расчета 16 цветов)

на каждой из сторон буква всегда не кверх ногами

TEXTBUFF - последовательность текстовых элементов 256байт


