Rev 640 | Blame | Compare with Previous | Last modification | View Log | Download
DEVICE ZXSPECTRUM128include "../_sdk/sys_h.asm"include "8080.asm"include "liblib.asm"FUNCTION "SETGFX"FUNCHEAD setgfxszld e,0OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode)retENDFUNC setgfxsz,0FUNCTION "CLS"FUNCHEAD clsszld e,0OS_CLSretENDFUNC clssz,0FUNCTION "PUTPIXEL"FUNCHEAD putpixelszcall arghakld a,(curpg32klow) ;okpush afld a,(arg3) ;colorld e,aand 7ld d,ald a,eand 15add a,aadd a,aadd a,aor d ;%.3210210rlcarlca ;%210210.3, CY=3rra ;%3210210., CY=3rra ;%33210210ld lx,ald bc,(arg1);bc=x (не портится)ld de,(arg2);e=y (de не портится);lx=color = %33210210ld l,eld h,0x8000/256/32;scrbase/256/32add hl,hladd hl,hladd hl,deadd hl,hladd hl,hladd hl,hl ;y*40 + scrbaseld a,brrald a,crrajr c,prpixel_rrrapush afld a,(user_scr0_low) ;okjr nc,$+4ld a,(user_scr0_high) ;okSETPG32KLOWpop afrrajr nc,$+4set 5,hand %00111111add a,lld l,aadc a,hsub lld h,ald a,lxxor (hl)and %01000111 ;keep left pixeljr prpixelqprpixel_rrrapush afld a,(user_scr0_low) ;okjr nc,$+4ld a,(user_scr0_high) ;okSETPG32KLOWpop afrrajr nc,$+4set 5,hand %00111111add a,lld l,aadc a,hsub lld h,ald a,lxxor (hl)and %10111000 ;keep right pixelprpixelqxor (hl) ;left pixel from screenld (hl),apop afSETPG32KLOWretENDFUNC putpixelsz,0endsavebin "deffgfx.crl",begin,end-beginLABELSLIST "../../us/user.l"