Previous 199869 Revisions Next

r26449 Saturday 30th November, 2013 at 06:00:28 UTC by Jürgen Buchmüller
Calculate the cursor position and shift registers when the cursor task is activated. Add MCFG_DEFAULT_LAYOUT() for vertical layout.
[/branches/alto2/src/emu/cpu/alto2]a2curt.c a2disk.c a2disp.c
[/branches/alto2/src/mess/drivers]alto2.c
[/branches/alto2/src/mess/includes]alto2.h

branches/alto2/src/emu/cpu/alto2/a2curt.c
r26448r26449
1010#include "alto2cpu.h"
1111
1212/**
13 * @brief f1_curt_block early: disable the cursor task and set the curt_blocks flag
13 * @brief disable the cursor task and set the curt_blocks flag
1414 */
1515void alto2_cpu_device::f1_early_curt_block()
1616{
r26448r26449
4949{
5050   m_dsp.csr = m_bus;
5151   LOG((LOG_CURT, m_dsp.csr ? 2 : 9,"   CSR← BUS (%#o)\n", m_dsp.csr));
52   int x = 01777 - m_dsp.xpreg;
53   UINT32 bits = m_bus;
54   m_dsp.cursor0 = static_cast<UINT16>((bits << (16 - (x & 15))) >> 16);
55   m_dsp.cursor1 = static_cast<UINT16>(bits << (16 - (x & 15)));
56   m_dsp.curxpos = x / 16;
5752}
5853
5954/**
r26448r26449
6358{
6459   m_task_wakeup &= ~(1 << m_task);
6560   m_dsp.curt_wakeup = false;
61
62   int x = 01777 - m_dsp.xpreg;
63   UINT32 bits = m_dsp.csr << (16 - (x & 15));
64   m_dsp.cursor0 = static_cast<UINT16>(bits >> 16);
65   m_dsp.cursor1 = static_cast<UINT16>(bits);
66   m_dsp.curxpos = x / 16;
6667}
6768
6869/** @brief initialize the cursor task F1 and F2 functions */
branches/alto2/src/emu/cpu/alto2/a2disk.c
r26448r26449
13721372         if (WDALLOW)
13731373            s1 |= JKFF_C;
13741374         m_dsk.ff_43a = update_jkff(s0, s1, "43a KWD   ");
1375
1376         m_dsk.wdtskena = 1;
1377         m_task_wakeup &= ~(1 << task_kwd);
13781375      }
13791376   }
13801377   // TODO: show disk indicator in the GUI?
branches/alto2/src/emu/cpu/alto2/a2disp.c
r26448r26449
539539      m_dsp.scanline[y] = auto_alloc_array(machine(), UINT8, ALTO2_DISPLAY_TOTAL_WIDTH);
540540
541541   m_dsp.bitmap = auto_bitmap_ind16_alloc(machine(), ALTO2_DISPLAY_WIDTH, ALTO2_DISPLAY_HEIGHT + ALTO2_FAKE_STATUS_H);
542   m_dsp.state = 020;
542   m_dsp.state = 0;
543543}
544544
545545void alto2_cpu_device::exit_disp()
r26448r26449
549549
550550void alto2_cpu_device::reset_disp()
551551{
552   m_dsp.state = 020;
552   m_dsp.state = 0;
553553   m_dsp.hlc = ALTO2_DISPLAY_HLC_START;
554554   m_dsp.a63 = 0;
555555   m_dsp.a66 = 0;
branches/alto2/src/mess/drivers/alto2.c
r26448r26449
253253   MCFG_SCREEN_VBLANK_TIME(ALTO2_DISPLAY_VBLANK_TIME)
254254   MCFG_SCREEN_UPDATE_DEVICE("maincpu", alto2_cpu_device, screen_update)
255255   MCFG_SCREEN_VBLANK_DEVICE("maincpu", alto2_cpu_device, screen_eof)
256   MCFG_DEFAULT_LAYOUT( layout_vertical )
256257
257258   MCFG_PALETTE_LENGTH(2)
258259
branches/alto2/src/mess/includes/alto2.h
r26448r26449
88#define _INCLUDES_ALTO2_H_
99
1010#include "emu.h"
11#include "rendlay.h"
1112#include "cpu/alto2/alto2cpu.h"
1213#include "machine/diablo_hd.h"
1314

Previous 199869 Revisions Next


© 1997-2024 The MAME Team