;::::: da bitove mapy [ 2-7 ] do jednoho .gl2 ::::::::::: ;:: A0>bmp2gl ginger2 01,03,08,04,06,07,14 ;:: nacte po sobe screeny : .... a da je do ginger2.gl2 offset equ 8000 ; delka jednoho obrazku .z80 aseg org 100h start: jr ss_20 dw 0,0,0,0,0,0,0,0,0,0 ss_20: ld sp,ss_20 call UVSETUP ; nacte z 80h cisla u screenu [ 00-99 ] ld (MAX),a s_tart: call NACTIJEDNO ; nacte jeden screenxx.bmp jr nc,KONEC ;uz byl posledni jr s_tart KONEC: call ULOZGL2 ; uloz .gl2 soubor rst 0 ;::::::::::::::: ULOZGL2: ld de,FCB2 ld c,22 call 5 cp 0FFh jp z,ERROR ld a,(MAX) ld hl,FREEMEM ld de,offset ld b,a ULO01: add hl,de djnz ULO01 ; KONEC ld de,MAX or a sbc hl,de ; delka ld a,0 rl l rl h rla ld c,h ld b,a ; hl=pocet sektoru 128 bajts inc bc ld de,MAX ULO02: push de push bc ld c,26 call 5 ld c,21 ld de,FCB2 call 5 pop bc pop de dec bc ld a,b or c jr z,ULO99 ld hl,80h add hl,de ex de,hl jr ULO02 ULO99: ld de,FCB2 ld c,16 call 5 ret ;::::: AMAX: db 1 WHRFR: dw FREEMEM NACTIJEDNO: ld a,(MAX) inc a ld e,a ld a,(AMAX) cp e ; konec ret nc inc a ld (AMAX),a dec a ld hl,JMENA dec a add a,a ; a*2 ld d,0 ld e,a add hl,de ; ten spravny ld de,MENO1 ld bc,2 ldir ; 2krat ld hl,FCB1+12 ld de,FCB1+13 ld bc,36-11 ld (hl),0 ldir ; clrfcb(); ld de,FCB1 ld c,15 call 5 ; open cp 0FFh jp z,ERROR ld hl,(WHRFR) ex de,hl push de ld c,26 call 5 ld de,FCB1 ld c,20 call 5 ld hl,(WHRFR) ld de,10h add hl,de ld bc,70h pop de ldir ; preskoc mizernou hlavicku NTD01: push de ld c,26 call 5 ld de,FCB1 ld c,20 call 5 ;read or a pop de jr nz,NTD02 ld hl,80h add hl,de ex de,hl jr NTD01 NTD02: ld de,offset ld hl,(WHRFR) add hl,de ld (WHRFR),hl or a ; set non cary ccf ret ;::::: UVSETUP: ld a,(80h) or a jr z,ERROR ld hl,82h ld de,IMJA ld ix,FCB2+1 UVS10: ld a,(hl) cp " " jr z,UVS11 ld (ix+0),a ld (de),a inc ix inc hl inc de jr UVS10 UVS11: inc hl ld de,JMENA ld bc,40 UVS03: ld a,(hl) or a jr z,UVS04 cp "," jr z,UVS05 ldi jr UVS03 UVS05: inc b inc hl ; preskoc carku jr UVS03 UVS04: inc b ld a,b cp 7 jp nc,ERROR ret ;:::: ERROR: ld de,ERR00 ld c,9 call 5 rst 0 ;:::::::::::::::: ERR00: db 10,13," Bad command or file name : use A0>bmp2gl name 01,04,12" db ",03" db 10,13," where those are : screen01.bmp,screen04.bmp..etc",10,13,36 JMENA: dw 0,0,0,0,0,0,0 ; 7 jmen - cisel FCB1: db 0,"SCREEN" MENO1: db " GIV" ; sem s jednim jmenem - cislem dw 0,0,0,0,0,0,0,0,0,0,0,0,0 FCB2: db 0," GL2" dw 0,0,0,0,0,0,0,0,0,0,0,0,0 MAX: db 0 TUDY: db 1 IMJA: db " " ; hlavicka pro .gl2 FREEMEM: db " freemem " end