branches/alto2/src/emu/cpu/alto2/alto2.h
| r26176 | r26177 | |
| 27 | 27 | #define USE_ALU_74181 0 //!< define to 1 to use the SN74181 ALU code |
| 28 | 28 | #define DEBUG_DISPLAY_TIMING 0 //!< define to 1 to debug the display timing |
| 29 | 29 | #define USE_BITCLK_TIMER 0 //!< define to 1 to use a very high rate timer for the disk bit clock |
| 30 | #define ALTO2_HAMMING_CHECK 0 //!< define to 1 to incorporate the Hamming code and Parity check |
| 30 | 31 | |
| 31 | 32 | #define ALTO2_TASKS 16 //!< 16 task slots |
| 32 | 33 | #define ALTO2_REGS 32 //!< 32 16-bit words in the R register file |
| r26176 | r26177 | |
| 1753 | 1754 | // ************************************************ |
| 1754 | 1755 | // memory stuff |
| 1755 | 1756 | // ************************************************ |
| 1756 | | /** @brief set non-zero to incorporate the Hamming code and Parity check */ |
| 1757 | | #define ALTO2_HAMMING_CHECK 1 |
| 1758 | 1757 | |
| 1759 | 1758 | enum { |
| 1760 | 1759 | ALTO2_MEM_NONE, |
branches/alto2/src/emu/cpu/alto2/alto2.c
| r26176 | r26177 | |
| 22 | 22 | //************************************************************************** |
| 23 | 23 | |
| 24 | 24 | DEVICE_ADDRESS_MAP_START( ucode_map, 32, alto2_cpu_device ) |
| 25 | | AM_RANGE(0, ALTO2_UCODE_RAM_BASE - 1) AM_READ ( crom_r ) |
| 26 | | AM_RANGE(ALTO2_UCODE_RAM_BASE, ALTO2_UCODE_SIZE - 1) AM_READWRITE( cram_r, cram_w ) |
| 25 | AM_RANGE(0, ALTO2_UCODE_RAM_BASE - 1) AM_READ ( crom_r ) |
| 26 | AM_RANGE(ALTO2_UCODE_RAM_BASE, ALTO2_UCODE_SIZE - 1) AM_READWRITE( cram_r, cram_w ) |
| 27 | 27 | ADDRESS_MAP_END |
| 28 | 28 | |
| 29 | 29 | DEVICE_ADDRESS_MAP_START( const_map, 16, alto2_cpu_device ) |
| 30 | | AM_RANGE(0, ALTO2_CONST_SIZE - 1) AM_READ ( const_r ) |
| 30 | AM_RANGE(0, ALTO2_CONST_SIZE - 1) AM_READ ( const_r ) |
| 31 | 31 | ADDRESS_MAP_END |
| 32 | 32 | |
| 33 | 33 | DEVICE_ADDRESS_MAP_START( iomem_map, 16, alto2_cpu_device ) |
| 34 | | AM_RANGE(0, ALTO2_IO_PAGE_BASE - 1) AM_READWRITE( ioram_r, ioram_w ) |
| 35 | | AM_RANGE(ALTO2_IO_PAGE_BASE, 0177777) AM_READWRITE( mmio_r, mmio_w ) |
| 34 | AM_RANGE(0, ALTO2_IO_PAGE_BASE - 1) AM_READWRITE( ioram_r, ioram_w ) |
| 35 | AM_RANGE(ALTO2_IO_PAGE_BASE, 0177777) AM_READWRITE( mmio_r, mmio_w ) |
| 36 | AM_RANGE(0200000, 0200000+ALTO2_IO_PAGE_BASE - 1) AM_READWRITE( ioram_r, ioram_w ) |
| 37 | AM_RANGE(0200000+ALTO2_IO_PAGE_BASE, 0377777) AM_READWRITE( mmio_r, mmio_w ) |
| 36 | 38 | ADDRESS_MAP_END |
| 37 | 39 | |
| 38 | 40 | //------------------------------------------------- |
| r26176 | r26177 | |
| 1180 | 1182 | READ16_MEMBER ( alto2_cpu_device::ioram_r ) |
| 1181 | 1183 | { |
| 1182 | 1184 | offs_t dword_addr = offset / 2; |
| 1183 | | return offset & 1 ? GET_ODD(m_mem.ram[dword_addr]) : GET_EVEN(m_mem.ram[dword_addr]); |
| 1185 | return static_cast<UINT16>(offset & 1 ? GET_ODD(m_mem.ram[dword_addr]) : GET_EVEN(m_mem.ram[dword_addr])); |
| 1184 | 1186 | } |
| 1185 | 1187 | |
| 1186 | 1188 | //! write i/o space RAM |
branches/alto2/src/emu/machine/diablo_hd.c
| r26176 | r26177 | |
| 1269 | 1269 | { |
| 1270 | 1270 | m_image = static_cast<diablo_image_device *>(subdevice("drive")); |
| 1271 | 1271 | |
| 1272 | | m_diablo31 = true; // FIXME: get from m_handle meta data? |
| 1273 | 1272 | m_packs = 1; // FIXME: get from configuration? |
| 1274 | 1273 | |
| 1275 | 1274 | m_cache = global_alloc_array(UINT8*, DIABLO_PAGES); |
| r26176 | r26177 | |
| 1283 | 1282 | void diablo_hd_device::device_reset() |
| 1284 | 1283 | { |
| 1285 | 1284 | m_handle = m_image->get_chd_file(); |
| 1285 | m_diablo31 = true; // FIXME: get from m_handle meta data? |
| 1286 | 1286 | m_disk = m_image->get_hard_disk_file(); |
| 1287 | | LOG_DRIVE((0,"[DHD] %s: m_image=%p m_handle=%p m_disk=%p\n", __FUNCTION__, m_image, m_handle, m_disk)); |
| 1288 | | |
| 1289 | 1287 | if (m_diablo31) { |
| 1290 | 1288 | snprintf(m_description, sizeof(m_description), "DIABLO31"); |
| 1291 | 1289 | m_rotation_time = DIABLO31_ROTATION_TIME; |
branches/alto2/src/mess/drivers/alto2.c
| r26176 | r26177 | |
| 227 | 227 | ADDRESS_MAP_END |
| 228 | 228 | |
| 229 | 229 | ADDRESS_MAP_START( alto2_iomem_map, AS_2, 16, alto2_state ) |
| 230 | | AM_RANGE(0, ALTO2_RAM_SIZE-1) AM_DEVICE16( "maincpu", alto2_cpu_device, iomem_map, 0xffffU ) |
| 230 | AM_RANGE(0, 2*ALTO2_RAM_SIZE-1) AM_DEVICE16( "maincpu", alto2_cpu_device, iomem_map, 0xffffU ) |
| 231 | 231 | ADDRESS_MAP_END |
| 232 | 232 | |
| 233 | 233 | |
| r26176 | r26177 | |
| 249 | 249 | |
| 250 | 250 | /* video hardware */ |
| 251 | 251 | MCFG_SCREEN_ADD("screen", RASTER) |
| 252 | | MCFG_SCREEN_RAW_PARAMS(XTAL_20_16MHz, ALTO2_DISPLAY_TOTAL_WIDTH, 0, ALTO2_DISPLAY_WIDTH, ALTO2_DISPLAY_TOTAL_HEIGHT, 0, ALTO2_DISPLAY_HEIGHT) |
| 252 | MCFG_SCREEN_RAW_PARAMS(XTAL_20_16MHz, |
| 253 | ALTO2_DISPLAY_TOTAL_WIDTH, 0, ALTO2_DISPLAY_WIDTH, |
| 254 | ALTO2_DISPLAY_TOTAL_HEIGHT, ALTO2_DISPLAY_HLC_START, ALTO2_DISPLAY_HLC_END) |
| 253 | 255 | MCFG_SCREEN_UPDATE_DRIVER(alto2_state, screen_update) |
| 254 | 256 | MCFG_SCREEN_VBLANK_DRIVER(alto2_state, screen_eof_alto2) |
| 255 | 257 | |