Previous 15994 Revisions Next

r9533 Sunday 7th November, 2010 at 09:40:48 UTC by Michael Zapf
gromport: fixed a minimem crash in ti99/8. smc92x4: added logerror.
ti99_8: updated description and added dip switch selection
for BwG controller.
[src/mess/drivers]ti99_8.c
[src/mess/machine]smc92x4.c
[src/mess/machine/ti99]gromport.c

src/mess/machine/ti99/gromport.c
r9532r9533
539539   ti99_pcb_t *pcb = get_safe_pcb_token(device);
540540   cartridge_t *cartridge = pcb->cartridge;
541541
542   if ((offset & 0xf000)==0x6000)
542   if ((offset & 0x1000)==0x0000)
543543   {
544544      *value = (cartridge->rom_ptr==NULL)? 0 : (cartridge->rom_ptr)[offset & 0x0fff];
545545   }
r9532r9533
557557   ti99_pcb_t *pcb = get_safe_pcb_token(device);
558558   cartridge_t *cartridge = pcb->cartridge;
559559
560   if (offset < 0x7000)
560   if ((offset & 0x1000)==0x0000)
561561   {
562562      logerror("Write access to cartridge ROM at address %04x ignored", offset);
563563   }
r9532r9533
570570      }
571571      else
572572      {
573         (cartridge->ram_ptr)[offset-0x7000] = data;
573         (cartridge->ram_ptr)[offset & 0x0fff] = data;
574574      }
575575   }
576576}
r9532r9533
788788   if ((offset & 0x1c00)==0x0c00)
789789   {
790790      if (cartridge->ram_ptr == NULL)   return;
791      cartridge->ram_ptr[offset - 0x6c00] = data;
791      cartridge->ram_ptr[offset & 0x03ff] = data;
792792   }
793793}
794794
src/mess/machine/smc92x4.c
r9532r9533
21732173{
21742174   smc92x4_state *w = get_safe_token(device);
21752175   w->use_real_timing = realistic;
2176   logerror("smc92x4: use realistic timing: %02x\n", realistic);
21762177}
21772178
21782179/***************************************************************************
src/mess/drivers/ti99_8.c
r9532r9533
145145    - P0-P3: column select
146146    - INT6*-INT11*: row inputs (int6* is only used for joystick fire)
147147
148
149Known Issues (MZ, 2009-04-26)
150- Extended Basic II does not start when a floppy controller is present
151- Multiple cartridges are not shown in the startup screen; only one
152  cartridge is presented. The slots are scanned, though. Need to check whether
153  this is a bug of the operating system or of the emulation.
154- Emulation speed must be checked. I have inserted adjust_icounts, but I need to
155  check whether the console experienced those delays actually. Unfortunately,
156  there is almost no real hardware available.
157- Extended Basic II gets stuck with OLD MINIMEM. MiniMemory may be incompatible
158  due to the different memory layout. SAVE/OLD only works if the machine is
159  neither reset nor restarted.
160
161  ROM file contents:
148ROM file contents:
162149  0000-1fff ROM0            0x0000 (logical address)
163150  2000-3fff ROM1                0xffa000 - 0xffbfff
164151  4000-5fff DSR1            0xff4000 (TTS)
165152  6000-7fff ROM1a               0xffc000 - 0xffdfff
166153  8000-9fff DSR2            0xff4000 (missing; Hexbus?)
167  */
168154
155===========================================================================
156Known Issues (MZ, 2010-11-07)
157
158  KEEP IN MIND THAT TEXAS INSTRUMENTS NEVER RELEASED THE TI-99/8 AND THAT
159  THERE ARE ONLY A FEW PROTOTYPES OF THE TI-99/8 AVAILABLE. ALL SOFTWARE
160  MUST BE ASSUMED TO HAVE REMAINED IN A PRELIMINARY STATE.
161
162- Extended Basic II does not start when a floppy controller is present. This is
163  a problem of the prototypical XB II which we cannot solve. It seems as if only
164  hexbus devices are properly supported, but we currently do not have an
165  emulation for those. Thus you can currently only use cassette to load and
166  save programs. You MUST turn off the floppy controller support in the
167  configuration before you enter XB II. Other cartridges (like Editor/Assembler)
168  seem to be not affected by this problem and can make use of the floppy
169  controllers.
170    Technical detail: The designers of XB II seem to have decided to put PABs
171    (Peripheral access block; contains pointers to buffers, the file name, and
172    the access modes) into CPU RAM instead of the traditional storage in VDP
173    RAM. The existing peripheral cards are hard-coded to interpret the given
174    pointer to the PAB as pointing to a VDP RAM address. That is, as soon as
175    the card is found, control is passed to the DSR (device service routine),
176    the file name will not be found, and control returns with an error. It seems
177    as if XB II does not properly handle this situation and may lock up
178    (sometimes it starts up, but file access is still not possible).
179
180- Multiple cartridges are not shown in the startup screen; only one
181  cartridge is presented. You have to manually select the cartridges with the
182  dip switch.
183 
184- Emulation speed may still be incorrect.
185 
186- SAVE and OLD MINIMEM do not work properly in XB II. It seems as if the
187  mapper shadows the NVRAM of the cartridge. You will lose the contents when
188  you turn off the machine.
189===========================================================================
190
191*/
192
169193#include "emu.h"
170194#include "cpu/tms9900/tms9900.h"
171195#include "sound/sn76496.h"
r9532r9533
242266      PORT_DIPSETTING(    0x02, "Slot 2" )
243267      PORT_DIPSETTING(    0x03, "Slot 3" )
244268      PORT_DIPSETTING(    0x04, "Slot 4" )
269     
270   PORT_START( "BWGDIP1" )
271   PORT_DIPNAME( 0x01, 0x00, "BwG step rate" ) PORT_CONDITION( "DISKCTRL", 0x07, PORTCOND_EQUALS, 0x02 )
272      PORT_DIPSETTING( 0x00, "6 ms")
273      PORT_DIPSETTING( 0x01, "20 ms")
245274
275   PORT_START( "BWGDIP2" )
276   PORT_DIPNAME( 0x01, 0x00, "BwG date/time display" ) PORT_CONDITION( "DISKCTRL", 0x07, PORTCOND_EQUALS, 0x02 )
277      PORT_DIPSETTING( 0x00, "Hide")
278      PORT_DIPSETTING( 0x01, "Show")
279     
280   PORT_START( "BWGDIP34" )
281   PORT_DIPNAME( 0x03, 0x00, "BwG drives" ) PORT_CONDITION( "DISKCTRL", 0x07, PORTCOND_EQUALS, 0x02 )
282      PORT_DIPSETTING( 0x00, "DSK1 only")
283      PORT_DIPSETTING( 0x01, "DSK1-DSK2")
284      PORT_DIPSETTING( 0x02, "DSK1-DSK3")
285      PORT_DIPSETTING( 0x03, "DSK1-DSK4")
286
246287   PORT_START( "HFDCDIP" )
247288   PORT_DIPNAME( 0xff, 0x55, "HFDC drive config" ) PORT_CONDITION( "DISKCTRL", 0x07, PORTCOND_EQUALS, 0x03 )
248289      PORT_DIPSETTING( 0x00, "40 track, 16 ms")

Previous 15994 Revisions Next


© 1998-2018 The MESS Team