Previous 199869 Revisions Next

r19643 Tuesday 18th December, 2012 at 07:21:48 UTC by Jonathan Gevaryahu
(MESS) vt131/vt102: preliminary redump of 23-226e4 ROM based on rearranged quarters of two bad dumps; seems to boot but gets stuck waiting for an unmapped io or interrupt? Needs verification redump to find whether the stitched dump is correct or not. Also we could use scans of the EK-VT101-TM or MP-01066 sheets, if anyone has them. [pjustice, Lord Nightmare]
vt100.c: preliminary i8251 PUSART hookup, not working yet. [Lord Nightmare]
[src/mess/drivers]vt100.c

trunk/src/mess/drivers/vt100.c
r19642r19643
2020#include "emu.h"
2121#include "cpu/i8085/i8085.h"
2222#include "cpu/z80/z80.h"
23#include "machine/i8251.h"
2324#include "sound/beep.h"
2425#include "video/vtvideo.h"
2526#include "vt100.lh"
r19642r19643
3031public:
3132   vt100_state(const machine_config &mconfig, device_type type, const char *tag)
3233      : driver_device(mconfig, type, tag),
33   m_maincpu(*this, "maincpu"),
34   m_crtc(*this, "vt100_video"),
35   m_speaker(*this, BEEPER_TAG)
36   ,
37      m_p_ram(*this, "p_ram"){ }
34      m_maincpu(*this, "maincpu"),
35      m_crtc(*this, "vt100_video"),
36      m_speaker(*this, BEEPER_TAG),
37      m_uart(*this, "i8251"),
38      m_p_ram(*this, "p_ram")
39      { }
3840
3941   required_device<cpu_device> m_maincpu;
4042   required_device<vt100_video_device> m_crtc;
4143   required_device<beep_device> m_speaker;
44   required_device<i8251_device> m_uart;
4245   DECLARE_READ8_MEMBER(vt100_flags_r);
4346   DECLARE_WRITE8_MEMBER(vt100_keyboard_w);
4447   DECLARE_READ8_MEMBER(vt100_keyboard_r);
r19642r19643
177180   ADDRESS_MAP_UNMAP_HIGH
178181   ADDRESS_MAP_GLOBAL_MASK(0xff)
179182   // 0x00, 0x01 PUSART  (Intel 8251)
180   // AM_RANGE (0x00, 0x01)
183   AM_RANGE (0x00, 0x00) AM_DEVREADWRITE("i8251", i8251_device, data_r, data_w)
184   AM_RANGE (0x01, 0x01) AM_DEVREADWRITE("i8251", i8251_device, status_r, control_w)
181185   // 0x02 Baud rate generator
182186   AM_RANGE (0x02, 0x02) AM_WRITE(vt100_baud_rate_w)
183187   // 0x22 Modem buffer
r19642r19643
404408   GFXDECODE_ENTRY( "chargen", 0x0000, vt100_charlayout, 0, 1 )
405409GFXDECODE_END
406410
411/* TODO: i8251: connect me up! */
412static const i8251_interface i8251_intf =
413{
414   DEVCB_NULL, // in_rxd_cb
415   DEVCB_NULL, // out_txd_cb
416   DEVCB_NULL, // in_dsr_cb
417   DEVCB_NULL, // out_dtr_cb
418   DEVCB_NULL, // out_rts_cb
419   DEVCB_NULL, // out_rxrdy_cb
420   DEVCB_NULL, // out_txrdy_cb
421   DEVCB_NULL, // out_txempty_cb
422   DEVCB_NULL // out_syndet_cb
423};
407424
408#define XTAL_24_8832MHz    24883200
409
410425static MACHINE_CONFIG_START( vt100, vt100_state )
411426   /* basic machine hardware */
412427   MCFG_CPU_ADD("maincpu",I8080, XTAL_24_8832MHz / 9)
r19642r19643
431446
432447   MCFG_VT100_VIDEO_ADD("vt100_video", vt100_video_interface)
433448
449
450   /* i8251 uart */
451   MCFG_I8251_ADD("i8251", i8251_intf)
452
453
434454   /* audio hardware */
435455   MCFG_SPEAKER_STANDARD_MONO("mono")
436456   MCFG_SOUND_ADD(BEEPER_TAG, BEEP, 0)
r19642r19643
748768// does not have integrated STP or AVO populated
749769// 8085 based instead of I8080
750770   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
751   ROM_LOAD( "23-???e4-00.e71", 0x0000, 0x2000, NO_DUMP)
752   ROM_LOAD( "23-???e4-00.e69", 0x8000, 0x2000, NO_DUMP)
771   ROM_LOAD( "23-???e4-00.e71", 0x0000, 0x2000, NO_DUMP) // rom is unique to vt101
772   //e69 socket is empty/unpopulated on vt101?
773   //e67 socket is empty/unpopulated on vt101?
753774
754775   ROM_REGION(0x1000, "chargen", 0)
755776   ROM_LOAD( "23-018e2-00.e3", 0x0000, 0x0800, CRC(6958458b) SHA1(103429674fc01c215bbc2c91962ae99231f8ae53))
r19642r19643
761782// ROMS have the set up page C in them
762783// 8085 based instead of I8080
763784   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
764   ROM_LOAD( "23-226e4-00.e71", 0x0000, 0x2000, BAD_DUMP CRC(339d4e4e) SHA1(f1b08f2c6bbc2b234f3f43bd800a2615f6dd18d3)) // is this right for vt102? A11 stuck high
765   ROM_LOAD( "23-225e4-00.e69", 0x8000, 0x2000, CRC(3567c760) SHA1(672473162e9c92cd237e4dbf92c2700a31C5374b))
785   ROM_LOAD( "23-226e4-00.e71", 0x0000, 0x2000, BAD_DUMP CRC(85c9279a) SHA1(3283D27E9C45D9E384227A7E6E98EE8D54B92BCB)) // shared with vt131; dump may be bad, assembled from quarters two bad dumps
786   ROM_LOAD( "23-225e4-00.e69", 0x8000, 0x2000, CRC(3567c760) SHA1(672473162e9c92cd237e4dbf92c2700a31C5374b)) // shared with vt131
787   //e67 socket is empty but populated on vt102
766788
767789   ROM_REGION(0x1000, "chargen", 0)
768790   ROM_LOAD( "23-018e2-00.e3", 0x0000, 0x0800, CRC(6958458b) SHA1(103429674fc01c215bbc2c91962ae99231f8ae53))
r19642r19643
774796// ROMS have the set up page C in them
775797// 8085 based instead of I8080
776798   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
777   ROM_LOAD( "23-226e4-00.e71", 0x0000, 0x2000, BAD_DUMP CRC(339d4e4e) SHA1(f1b08f2c6bbc2b234f3f43bd800a2615f6dd18d3)) // A11 stuck high
778   ROM_LOAD( "23-225e4-00.e69", 0x8000, 0x2000, CRC(3567c760) SHA1(672473162e9c92cd237e4dbf92c2700a31C5374b))
799   ROM_LOAD( "23-226e4-00.e71", 0x0000, 0x2000, BAD_DUMP CRC(85c9279a) SHA1(3283D27E9C45D9E384227A7E6E98EE8D54B92BCB)) // shared with vt102; dump may be bad, assembled from quarters two bad dumps
800   ROM_LOAD( "23-225e4-00.e69", 0x8000, 0x2000, CRC(3567c760) SHA1(672473162e9c92cd237e4dbf92c2700a31C5374b)) // shared with vt102
779801   ROM_LOAD( "23-280e2-00.e67", 0xA000, 0x0800, CRC(71b4172e) SHA1(5a82c7dc313bb92b9829eb8350840e072825a797)) // called "VT131 ROM" in the vt101 quick reference guide
780802
781803   ROM_REGION(0x1000, "chargen", 0)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team