Autor Wątek: Efekty na ramce - Border Creator w ZXStealth  (Przeczytany 7674 razy)

sect0r

  • *****
  • Wiadomości: 698
  • Miejsce pobytu:
    Oltedal/NO
  • speccyholic
Efekty na ramce - Border Creator w ZXStealth
« dnia: 2013.04.14, 10:59:32 »
Przegladajac dostepne emulatory trafilem na Border Creator w emulatorze Z80Stealth
Tworzy nam gotowy kod asm.
Tak przy okazji jestem ciekaw ile czasu zajelo liczenie Part2 w Shock Megademo...

Strona emulatora http://z80.emu-russia.net/
Szarak # DivIDE+ # MasakratorFM DeluXe by Zaxon

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #1 dnia: 2013.04.14, 12:00:33 »
A ten wygenerowany kod wymaga timingów Pentagona?

sect0r

  • *****
  • Wiadomości: 698
  • Miejsce pobytu:
    Oltedal/NO
  • speccyholic
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #2 dnia: 2013.04.14, 12:25:03 »
Wyglada ze dla standardowego 128, ale niemam jeszcze fizycznego sprzetu zeby to sprawdzic



;Created by Z80Stealth Border Creator
               
             device zxspectrum128   
;--------------------------------   
             ORG   #6200      
start:            
             CALL  SETUPINT      
               
             DI         
             LD  HL,#FE00      
             LD  DE,#FE01      
             LD  BC,#100      
             LD  (HL),#FF      
             LDIR         
             LD  HL,#FFFF      
             LD  (HL),#C9           
               
             DI         
             LD  A,#FE      
             LD  I,A                  
             IM  2                   
             EI         
               
BORDERLOOP   HALT                   
             EI         
; wait for the first visible line   
             LD   BC,124      
WAIT0        DEC  BC         
             LD   A,B      
             OR   C         
             NOP         
             JP   NZ,WAIT0          
             NOP:NOP:NOP:NOP:NOP:NOP   
             DEC DE         
             LD (STACK),SP      
;=== set up colours =============   
             LD  A,  0x01      
             LD  BC, 0x02fe      
             LD  DE, 0x0304      
             LD  HL, 0x0506      
;=========== 224 tacts ============   
Row_0        out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
Row_1        out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
.
.
.
.
.
.
Row_299        out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
Row_300        out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
Row_301        out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:out (c),0:nop:nop:
;=========== END border =========   
             LD SP,(STACK)          
             DEC DE             
;==== Press key SPACE ? =========   
             LD A,#7F             
             IN A,(#FE)             
             RRA         
             JP C, BORDERLOOP       
ReturnToBAS: DI         
             LD A,#3F      
             LD I,A         
             IM 1         
             EI         
             RET         
;=========== SETUPINT ============= 
SETUPINT:    DI         
             LD  HL,INT      
             LD  (#94FF),HL         
             LD  A,0             
             LD  (BUFF+4),A          
             LD  E,1             
             LD  HL,BUFF      
             LD  A,#94      
             LD  I,A             
             IM  2             
             EI         
             HALT         
             CALL  WAIT:INC E   
             CALL  WAIT:INC E   
             CALL  WAIT:INC E   
             DI         
             LD  BC,2749      
             LD  HL,(BUFF+1)         
             EX  DE,HL      
             LD  HL,(BUFF+3)          
             LD  A,H:OR A           
             JR  NZ,F2      
F0:          LD  A,L:CP  4:JR Z,DISP3
             LD  A,D:CP  L:JR Z,DISP2
             LD  A,E:CP  D:JR Z,DISP1
DISP0:       NOP:LD R,A   :LD R,A   
F1:          DEC BC:LD A,B           
             OR  C:JR  NZ,F1         
             RET         
F2:          LD  E,D:LD D,L:LD L,H   
             DEC BC :DEC BC:LD A,(HL)
             NOP         
             JR  F0                 
DISP1:       DEC BC:NOP      
             JR  DISP0      
DISP2:       JR  DISP0      
DISP3:       LD  R,A                 
             LD  A,(HL)      
             JR  DISP0      
WAIT:        LD  BC,2753      
W1:          DEC BC:LD  A,B          
             OR  C:JR NZ,W1         
             LD  B,(HL)      
             RET         
INT:         LD (HL),E:INC HL       
             LD D,(HL):LD D,(HL)     
             EI         
             RET         
BUFF:        DEFS 5         
STACK        DEFW 0         
;================================   
        savesna "test.sna" ,start     
;        savetap "test.tap" ,start     
Szarak # DivIDE+ # MasakratorFM DeluXe by Zaxon

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #3 dnia: 2013.04.14, 13:41:36 »
Kod ten można skompilować za pomocą sjasmplus.

Do tego wygląda jako template do wypełnienia wartościami, tam gdzie są etykiety Row_NUMER.

device zxspectrum128 i 224takty oznacza że kod jest przygotowany dla Pentagona. (http://www.worldofspectrum.org/rusfaq/#21)


azesmbog

  • *
  • Wiadomości: 38
  • Miejsce pobytu:
    proszę uzupełnić/please update
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #4 dnia: 2013.10.10, 21:19:42 »
хмммм....







============
228 takty - no problem! :)
« Ostatnia zmiana: 2013.10.10, 21:30:39 wysłana przez azesmbog »

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #5 dnia: 2013.10.11, 14:12:02 »
świetnie to wygląda, szkoda że nie zadziała poprawnie na ZX Spectrum 128K, +2, +3 ...

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #6 dnia: 2013.10.11, 20:06:26 »
Skąd można ściągnąć dema/intra z efektami na borderze? Chętnie bym pooglądał (na speccy2010).

azesmbog

  • *
  • Wiadomości: 38
  • Miejsce pobytu:
    proszę uzupełnić/please update
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #7 dnia: 2013.10.11, 21:27:01 »
Простите за русский язык снова, я потом сотру.
*
http://zxaaa.untergrund.net/view_demos.php?a=zebest
Тут почти все сделано в BorderCreator-е, на Speccy2010 точно работает, и в эмуляторах тоже работает.
В BorderCreator можно создавать бордюры и для ZX Spectrum 128K, +2, +3, 48к - надо немного постараться:)

Speccy2010 и Z80Stealth поддерживают brigt border :)


48к border!! ЧАСТИЧНО сделано в  BorderCreator)

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Efekty na ramce - Border Creator w ZXStealth
« Odpowiedź #8 dnia: 2013.10.11, 21:34:04 »
Dzięki za link, na prawdę bardzo dobrze to wygląda!