Previous 199869 Revisions Next

r26177 Friday 15th November, 2013 at 18:13:14 UTC by Jürgen Buchmüller
Zero RAM to avoid side effects. Disable Hamming code for now.
[/branches/alto2/src/emu/cpu/alto2]a2mem.c alto2.c alto2.h
[/branches/alto2/src/emu/machine]diablo_hd.c
[/branches/alto2/src/mess/drivers]alto2.c

branches/alto2/src/emu/cpu/alto2/alto2.h
r26176r26177
2727#define   USE_ALU_74181         0   //!< define to 1 to use the SN74181 ALU code
2828#define   DEBUG_DISPLAY_TIMING   0   //!< define to 1 to debug the display timing
2929#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
3031
3132#define   ALTO2_TASKS      16         //!< 16 task slots
3233#define   ALTO2_REGS      32         //!< 32 16-bit words in the R register file
r26176r26177
17531754   // ************************************************
17541755   // memory stuff
17551756   // ************************************************
1756   /** @brief set non-zero to incorporate the Hamming code and Parity check */
1757   #define   ALTO2_HAMMING_CHECK   1
17581757
17591758   enum {
17601759      ALTO2_MEM_NONE,
branches/alto2/src/emu/cpu/alto2/a2mem.c
r26176r26177
839839
840840   // allocate 128KB of main memory
841841   m_mem.ram = global_alloc_array(UINT32, sizeof(UINT16)*ALTO2_RAM_SIZE);
842   memset(m_mem.ram, 0, sizeof(UINT32)*sizeof(UINT16)*ALTO2_RAM_SIZE);
842843   m_mem.hpb = global_alloc_array(UINT8,  sizeof(UINT16)*ALTO2_RAM_SIZE);
844   memset(m_mem.hpb, 0, sizeof(UINT8)*sizeof(UINT16)*ALTO2_RAM_SIZE);
843845
844846   /**
845847    * <PRE>
branches/alto2/src/emu/cpu/alto2/alto2.c
r26176r26177
2222//**************************************************************************
2323
2424DEVICE_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 )
2727ADDRESS_MAP_END
2828
2929DEVICE_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 )
3131ADDRESS_MAP_END
3232
3333DEVICE_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  )
3638ADDRESS_MAP_END
3739
3840//-------------------------------------------------
r26176r26177
11801182READ16_MEMBER ( alto2_cpu_device::ioram_r )
11811183{
11821184   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]));
11841186}
11851187
11861188//! write i/o space RAM
branches/alto2/src/emu/machine/diablo_hd.c
r26176r26177
12691269{
12701270   m_image = static_cast<diablo_image_device *>(subdevice("drive"));
12711271
1272   m_diablo31 = true;   // FIXME: get from m_handle meta data?
12731272   m_packs = 1;      // FIXME: get from configuration?
12741273
12751274   m_cache = global_alloc_array(UINT8*, DIABLO_PAGES);
r26176r26177
12831282void diablo_hd_device::device_reset()
12841283{
12851284   m_handle = m_image->get_chd_file();
1285   m_diablo31 = true;   // FIXME: get from m_handle meta data?
12861286   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
12891287   if (m_diablo31) {
12901288      snprintf(m_description, sizeof(m_description), "DIABLO31");
12911289      m_rotation_time = DIABLO31_ROTATION_TIME;
branches/alto2/src/mess/drivers/alto2.c
r26176r26177
227227ADDRESS_MAP_END
228228
229229ADDRESS_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 )
231231ADDRESS_MAP_END
232232
233233
r26176r26177
249249
250250   /* video hardware */
251251   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)
253255   MCFG_SCREEN_UPDATE_DRIVER(alto2_state, screen_update)
254256   MCFG_SCREEN_VBLANK_DRIVER(alto2_state, screen_eof_alto2)
255257

Previous 199869 Revisions Next


© 1997-2024 The MAME Team