Subversion Repositories Kolibri OS

Rev

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

  1. ;=========================================
  2. ; initialized data
  3.         include_debug_strings ; for debug-fdo
  4.  
  5.         chip8_fontset db  \
  6.             0xF0, 0x90, 0x90, 0x90, 0xF0, \  ; 0
  7.             0x20, 0x60, 0x20, 0x20, 0x70, \  ; 1
  8.             0xF0, 0x10, 0xF0, 0x80, 0xF0, \  ; 2
  9.             0xF0, 0x10, 0xF0, 0x10, 0xF0, \  ; 3
  10.             0x90, 0x90, 0xF0, 0x10, 0x10, \  ; 4
  11.             0xF0, 0x80, 0xF0, 0x10, 0xF0, \  ; 5
  12.             0xF0, 0x80, 0xF0, 0x90, 0xF0, \  ; 6
  13.             0xF0, 0x10, 0x20, 0x40, 0x40, \  ; 7
  14.             0xF0, 0x90, 0xF0, 0x90, 0xF0, \  ; 8
  15.             0xF0, 0x90, 0xF0, 0x10, 0xF0, \  ; 9
  16.             0xF0, 0x90, 0xF0, 0x90, 0x90, \  ; A
  17.             0xE0, 0x90, 0xE0, 0x90, 0xE0, \  ; B
  18.             0xF0, 0x80, 0x80, 0x80, 0xF0, \  ; C
  19.             0xE0, 0x90, 0x90, 0x90, 0xE0, \  ; D
  20.             0xF0, 0x80, 0xF0, 0x80, 0xF0, \  ; E
  21.             0xF0, 0x80, 0xF0, 0x80, 0x80     ; F
  22.  
  23.         opcode  dw 0          ; operation code
  24.         V       db 16 dup(0)  ; 16 8-bit registers
  25.         I       dw 0          ; additional register (usually used for storing addresses)
  26.         P_C     dw 0          ; program counter
  27.         S_P     dw 0          ; stack pointer
  28.         delay_timer db 0
  29.         sound_timer db 0
  30.         stackmem    dw STACK_SIZE dup(0)  ; stack memory
  31.         key         db KEY_SIZE dup (0) ; keyboard
  32.         chip8_draw_flag db 0
  33.         next_rand       dd 1
  34.  
  35.         align 4
  36.         fread_struct:
  37.             .subfunction    dd 0               ; + 0
  38.             .offset_low     dd 0               ; + 4
  39.             .offset_high    dd 0               ; + 8
  40.             .size           dd MAX_GAME_SIZE   ; + 12
  41.             .buffer         dd memory + 0x200  ; + 16
  42.                             db 0               ; + 20
  43.             .filename:      dd 0               ; + 24
  44.  
  45.         sys_colors system_colors
  46.         main_window_title db 'CHIP-8 Emulator',0
  47.  
  48.         imgbuf_ptr  dd ? ; pointer to in-memory image buffer
  49.  
  50. ;=========================================
  51. align 16
  52. _i_end:
  53. ; uninitialized data
  54.         cmdline rb 1024 ; reserve for command line arguments
  55.  
  56.         memory  rb MEM_SIZE
  57.         gfx     rb GFX_SIZE
  58.  
  59.         ;tmp_buf rb 128
  60.