1 /*****************************************************************************/ 2 /* */ 3 /* _ted.h */ 4 /* */ 5 /* Internal include file, do not use directly */ 6 /* */ 7 /* */ 8 /* */ 9 /* (C) 2003 Ullrich von Bassewitz */ 10 /* R�merstrasse 52 */ 11 /* D-70794 Filderstadt */ 12 /* EMail: uz@cc65.org */ 13 /* */ 14 /* */ 15 /* This software is provided 'as-is', without any expressed or implied */ 16 /* warranty. In no event will the authors be held liable for any damages */ 17 /* arising from the use of this software. */ 18 /* */ 19 /* Permission is granted to anyone to use this software for any purpose, */ 20 /* including commercial applications, and to alter it and redistribute it */ 21 /* freely, subject to the following restrictions: */ 22 /* */ 23 /* 1. The origin of this software must not be misrepresented; you must not */ 24 /* claim that you wrote the original software. If you use this software */ 25 /* in a product, an acknowledgment in the product documentation would be */ 26 /* appreciated but is not required. */ 27 /* 2. Altered source versions must be plainly marked as such, and must not */ 28 /* be misrepresented as being the original software. */ 29 /* 3. This notice may not be removed or altered from any source */ 30 /* distribution. */ 31 /* */ 32 /*****************************************************************************/ 33 34 35 36 #ifndef __TED_H 37 #define __TED_H 38 39 40 41 /* Define a structure with the ted register offsets */ 42 struct __ted { 43 unsigned char t1_lo; /* Timer #1 low */ 44 unsigned char t1_hi; /* Timer #1 high */ 45 unsigned char t2_lo; /* Timer #2 low */ 46 unsigned char t2_hi; /* Timer #2 high */ 47 unsigned char t3_lo; /* Timer #3 low */ 48 unsigned char t3_hi; /* Timer #3 high */ 49 unsigned char vscroll; /* Vertical scroll control */ 50 unsigned char hscroll; /* Horizontal scroll control */ 51 unsigned char kbdlatch; /* Keyboard latch */ 52 unsigned char irr; /* Interrupt request register */ 53 unsigned char imr; /* Interrupt mask register */ 54 unsigned char irq_rasterline; /* Interrupt rasterline */ 55 unsigned char cursor_hi; /* Cursor position high */ 56 unsigned char cursor_lo; /* Cursor position low */ 57 unsigned char snd1_freq_lo; /* Channel #1 frequency */ 58 unsigned char snd2_freq_lo; /* Channel #2 frequency low */ 59 unsigned char snd2_freq_hi; /* Channel #2 frequency high */ 60 unsigned char snd_ctrl; /* Sound control */ 61 unsigned char misc; /* Channel #1 frequency high and more */ 62 unsigned char char_addr; /* Character data base address */ 63 unsigned char video_addr; /* Video memory base address */ 64 unsigned char bgcolor; /* Background color */ 65 unsigned char color1; /* Color register #1 */ 66 unsigned char color2; /* Color register #2 */ 67 unsigned char color3; /* Color register #3 */ 68 unsigned char bordercolor; /* Border color */ 69 unsigned char bmap_reload_hi; /* Bitmap reload bits 8+9 */ 70 unsigned char bmap_reload_lo; /* Bitmap reload bits 0-7 */ 71 unsigned char rasterline_hi; /* Current rasterline bit 8 */ 72 unsigned char rasterline_lo; /* Current rasterline bits 0-7 */ 73 unsigned char rastercolumn; /* Current rastercolumn */ 74 unsigned char cursor_blink; /* Cursor blink attribute */ 75 unsigned char unused[30]; /* Unused */ 76 unsigned char enable_rom; /* Write enables ROM */ 77 unsigned char enable_ram; /* Write enables RAM */ 78 }; 79 80 81 82 /* End of _ted.h */ 83 #endif 84 85 86 87