Кодинг для Спектрум и 8бит

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Кодинг для Спектрум и 8бит » Программирование » эффект с появлением картинки


эффект с появлением картинки

Сообщений 1 страница 2 из 2

1

Дядя выложил эффект показа картинок, говорит 77 байт.
Выглядит это так, картинки приложите сами:

Код:
;compile with sjasmplus
	page 0
   device zxspectrum128
        ORG #4000
        incbin "vindic2.scr"
        ORG #6000
begin
	ld hl,$5800
	ld c,32
;	out ($FE),a
;	jr $
l3:

	ld e,1
	ld b,c
	call l2
	
	;ld b,24
;	ld a,c:sub 8:ld b,a
	ld e,32
	call l4

	ld b,c
	ld e,-1
	call l2

;	ld b,24
;	ld a,c:sub 8:ld b,a
	ld e,-32
	call l4

	dec de
	or a
	sbc hl,de

	ld a,c
	sub 2
	ld c,a
	cp 8
	jr nz,l3

	jr $
l4:
	ld a,c:sub 8:ld b,a

l2:
	ld a,e
	add a,a
	sbc a,a
	ld d,a
l1:
	call p1
;	set 7,h
;	ld a,(hl)
;	res 7,h
;	ld (hl),a

	push hl
;$58=10110 00
;$59=10110 01
;$5A=10110 10
	ld a,h
	and 3+12
	add a,a
	add a,a
	add a,a
;	or $40
	ld h,a
;$40=10 00 000
;$48=10 01 000
;$50=10 10 000

l6:
	call p1
	inc h
	ld a,h
	and 7
	jr nz,l6
	pop hl

	ei:halt
	add hl,de
	djnz l1

	or a
	sbc hl,de
;	ret
p1:
	set 7,h
	ld a,(hl)
	res 7,h
	ld (hl),a
	ret
end

	org $C000
	incbin "Screen1.scr"

   display /d,end-begin
   savesna "!void.sna",begin


вышло 85 байт. Где найти разницу я не знаю.

2

Дядя выложил свой код:

Код:
Size Compo #12. Hope I won: 72 bytes:

ORG $e548 ; STRONG!!! for JUMP trick
MyRoutine:
ld de,$171f ; This is an example of a simple and reliable Russian code
ld hl,$d800
.lp ld a,e 
call move9 ; loop for upper 31 (29,27..)positions
inc hl
jr nz,$-4
;
ld a,d
call move9 ; loop for right 23 (21,19..)positions
add hl,bc
jr nz,$-4
;
ld a,e 
call move9 ; loop for bottom 31 (29,27..)positions
dec hl
jr nz,$-4
;
ld a,d
.ll call move9 ; loop for left 23 (21,19..)positions
sbc hl,bc
or a
jr nz,.ll
;
add hl,bc ; go to next line & next position
inc l
halt
dec d ; decrease height & width
ret z
dec d
dec e 
dec e
db 195 ; oops, next 2 bytes is part of JUMP
;
move9: ld c,(hl) ; move 9 bytes (pix+color) from $c000 to $4000 screen
push hl
res 7,h
ld (hl),c ; move attribute
;
sla h ; 58 -> c0
sla h ; 59 -> c8
sla h ; 5a -> d0; carry off
;
ld b,8
.loop ld c,(hl) ; move pixel data
res 7,h
ld (hl),c
set 7,h
inc h
djnz .loop ;
;
pop hl
cont: ld c,32
dec a ; common decrement position
ret
end:

Вы здесь » Кодинг для Спектрум и 8бит » Программирование » эффект с появлением картинки