;function load(){ ; if(exists('atoms001',appVar)){ ; setupmenu(); ; }else{ ; alert('Geen opgeslagen gegevens gevonden'); ; mainmenu(); ; } ;} load: ld a, (unarchived) or a call z, unarc ld a, 1 ld (inLoadMenu), a ;call debuga ld hl, appvar b_call (_mov9toop1) b_call (_chkfindsym) jr c, nofilefound ld a, b or a jr z, inram2 call unarc jr load inram2: ;eerst ff kijken of ie niet alsnog leeg is ld h, d ld l, e b_call (_ldhlind) push hl ld bc, 0 or a sbc hl, bc jr z, nofilefound push de ;we moeten DE ook nog opslaan zodat we de size kunnen aanpassen als we gaan deletn ld a, e ld (appvarstart), a ld a, d ld (appvarstart+1), a ld hl, load ld (prevPagePointer), hl ld a, 1 call menuCreate pop de inc de inc de pop bc ;call debugbc xor a jr eerstenietvergeten nextbyte: ld h, 0 ld a, (de) inc de ld l, a eerstenietvergeten: or a jr nz, notstartbuffer push de push bc ld hl, loadSelected ex de, hl call menuItemCreate;hl = start of buffer for this item, de = loadSelected pop bc pop de notstartbuffer: dec bc or a ld hl, 0 sbc hl, bc jr nz, nextbyte jp menuBegin loadSelected: xor a ld (inLoadMenu), a ;call debuga ld a, (bfLength) ld (bfIX), a jp getLoaded nofilefound: ld hl, nofilefound_msg call dspMsg jp menu save: call unarc ld a, (bfLength) inc a ld h, 0 ld l, a b_call (_enoughmem) jr c, notenoughram ld hl, appvar b_call (_mov9toop1) b_call (_chkfindsym) jp nc, alaangemaakt ld hl, 0 b_call (_createappvar) alaangemaakt: push de ld a, (de) ld l, a inc de ld a, (de) ld h, a inc de;hl = length, de = begin add hl, de;of 1 minder push hl ld a, (bfLength) inc a ld d, 0 ld e, a ex de, hl b_call (_insertmem) ld a, (bfLength) inc a ld d, 0 ld e, a pop bc;deze zit ervoor dus moeten we wel eerst poppen pop hl push bc;weer trug push hl b_call (_ldhlind) add hl, de ex de, hl pop hl ld (hl), e inc hl ld (hl), d pop de ld hl, buffer ld a, (bfLength) inc a ld b, 0 ld c, a ldir xor a ld (de), a ld hl, msgSaved call dspMsgNormal jp menu2 notenoughram: ld hl, errnotenoughrammsg call dspmsg jp menu2 catch: ld hl, msgErrMem call dspMsg ret arc: ld a, (unarchived) or a ret z;nooit ge-unarchived ld hl, appvar b_call (_mov9toop1) b_call (_chkfindsym) ret c ld a, b or a ret nz errhandon(catch) b_call (_arc_unarc) errhandoff() ret unarc: ld a, 1 ld (unarchived), a ld hl, appvar b_call (_mov9toop1) b_call (_chkfindsym) ret c ld a, b or a ret z errhandon(catch) b_call (_arc_unarc) errhandoff() ret