?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. calc_next_v_addr:
  2.         LD  A,H
  3.         XOR 0x40
  4.         BIT 6,H
  5.         LD  H,A
  6.         ret z   ;JR Z,.nxsQ
  7.         LD  A,H
  8.         XOR 0x20
  9.         BIT 5,H
  10.         LD  H,A
  11.         ret z   ;JR Z,.nxsQ
  12.         INC HL
  13. .nxsQ:
  14.         ret
  15.  
  16.  
  17. ;--------------------------------------------------
  18.  
  19. src_mem_buf_calc:
  20.         bit 6,h
  21.         jr z,.l1   ;0x8000-0xa00 range, set membuf1
  22.  
  23.         ;range is 0xc000 - 0xe00
  24.         ;modif to match 0x8000 - 0xa000 range
  25.         ;set membuf2
  26.  
  27.         ld a,h
  28.         and 0b10111111
  29.         ld h,a
  30.         ld a,(mem_buf2)
  31.         jr .l2
  32.  
  33. .l1:
  34.         ;0x8000-0xa00 range, set membuf1
  35.         ld a,(mem_buf1)
  36. .l2:        
  37.         push hl
  38.         SETPG8000
  39.         pop hl
  40.         ret
  41. ;-------
  42.  
  43. src_mem_buf2_calc:
  44.         bit 6,h
  45.         jr z,.l1   ;0x8000-0xa00 range, set membuf1
  46.  
  47.         ;range is 0xc000 - 0xe00
  48.         ;modif to match 0x8000 - 0xa000 range
  49.         ;set membuf2
  50.  
  51.         ld a,h
  52.         and 0b10111111
  53.         ld h,a
  54.         ld a,(mem_buf4)
  55.         jr .l2
  56.  
  57. .l1:
  58.         ;0x8000-0xa00 range, set membuf1
  59.         ld a,(mem_buf3)
  60. .l2:        
  61.         push hl
  62.         SETPG8000
  63.         pop hl
  64.         ret
  65. ;-------
  66. dest_scr_calc:
  67.         ;hl to 0xc000 range with set scr high / low
  68.  
  69.         bit 6,h
  70.         jr z,.l1   ;0x8000-0xa00 range, set membuf1
  71.  
  72.         ;range is 0xc000 - 0xe00
  73.         ;set scr high
  74.         push hl
  75.         call set_scr_high
  76.         jr .l2
  77.  
  78. .l1:
  79.         ;0x8000-0xa00 range, set membuf1
  80.  
  81.         ld a,h
  82.         add a,0x40  ;0x8000 to 0xc000 conversion
  83.         ld h,a
  84.         push hl
  85.         call set_scr_low
  86.        
  87. .l2:        
  88.         pop hl
  89.         ret    
  90. ;----------------------