Login

Subversion Repositories NedoOS

Rev

Rev 1004 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

renderPlainTextScreen:
    call prepareScreen
    ld b, PER_PAGE
.loop
    push bc
    ld a, PER_PAGE : sub b
   
    ld b, a, e, a, a, (page_offset) : add b : ld b, a : call Render.findLine
    ld a, h : or l : jr z, .exit
    ld a, e
    add CURSOR_OFFSET : ld d, a, e, 1 : call TextMode.gotoXY
    call print70Text
    pop bc
    djnz .loop
    ret
.exit
    pop bc
    ret

plainTextLoop:
    call Console.getC
   
    cp Console.KEY_DN : jp z, textDown
    cp 'a' : jp z, textDown

    cp Console.KEY_UP : jp z, textUp
    cp 'q' : jp z, textUp
   
    cp 'h' : jp z, History.home
    cp 'H' : jp z, History.home

    cp 'b' : jp z, History.back
    cp 'B' : jp z, History.back
   
    cp Console.BACKSPACE : jp z, History.back
 
    ifdef GS
    cp 'M' : call z, GeneralSound.toggleModule
    cp 'm' : call z, GeneralSound.toggleModule
    endif

    jr plainTextLoop


textDown:
    ld a, (page_offset) : add PER_PAGE : ld (page_offset), a
    call renderPlainTextScreen
    jp plainTextLoop

textUp:
    ld hl, page_offset
    ld a, (hl) : and a : jr z, plainTextLoop
    sub PER_PAGE : ld (hl), a
    call renderPlainTextScreen
    jp plainTextLoop