Previous 199869 Revisions Next

r18952 Wednesday 14th November, 2012 at 03:53:36 UTC by Angelo Salese
Some notes on the AlphaSmart Pro machine
[src/mess/drivers]alphasma.c pc8801.c

trunk/src/mess/drivers/pc8801.c
r18951r18952
18981898
18991899TIMER_CALLBACK_MEMBER(pc8801_state::pc8801fd_upd765_tc_to_zero)
19001900{
1901
19021901   //printf("0\n");
19031902   machine().device<upd765a_device>("upd765")->tc_w(false);
19041903}
trunk/src/mess/drivers/alphasma.c
r18951r18952
44
55        08/28/2012 Skeleton driver
66
7   TODO:
8   - define video HW capabilities
9   - "Addr. Bus RAM error" string read, presumably memory mapped RAM at 0x8000
10     is actually a r/w bank register.
11
712****************************************************************************/
813
914#include "emu.h"
1015#include "cpu/mc68hc11/mc68hc11.h"
16#include "video/hd44780.h"
1117#include "rendlay.h"
1218
1319class alphasmart_state : public driver_device
r18951r18952
2026
2127   required_device<cpu_device> m_maincpu;
2228
29   DECLARE_WRITE8_MEMBER(vram_w);
30
2331   virtual void machine_start();
2432   virtual void palette_init();
25   virtual UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
33//   virtual UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
2634};
2735
36
2837static ADDRESS_MAP_START(alphasmart_mem, AS_PROGRAM, 8, alphasmart_state)
2938   ADDRESS_MAP_UNMAP_HIGH
3039   AM_RANGE( 0x0000, 0x7fff ) AM_RAM
r18951r18952
3241ADDRESS_MAP_END
3342
3443static ADDRESS_MAP_START(alphasmart_io, AS_IO, 8, alphasmart_state)
44//   AM_RANGE(MC68HC11_IO_PORTA, MC68HC11_IO_PORTA) AM_DEVREADWRITE("hd44780", hd44780_device, control_read, control_write)
45//   AM_RANGE(MC68HC11_IO_PORTD, MC68HC11_IO_PORTD) AM_DEVREADWRITE("hd44780", hd44780_device, data_read, data_write)
3546ADDRESS_MAP_END
3647
3748/* Input ports */
r18951r18952
4859{
4960}
5061
51UINT32 alphasmart_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
52{
53   return 0;
54}
55
5662static const hc11_config alphasmart_hc11_config =
5763{
5864   0,      //has extended internal I/O
r18951r18952
6066   0x00   //registers are at 0-0x3f
6167};
6268
69static HD44780_INTERFACE( alphasmart_4line_display )
70{
71   4,               // number of lines
72   16,               // chars for line
73   NULL            // pixel update callback
74};
75
6376static MACHINE_CONFIG_START( alphasmart, alphasmart_state )
6477   /* basic machine hardware */
6578   MCFG_CPU_ADD("maincpu", MC68HC11, XTAL_8MHz/2)   // MC68HC11D0, XTAL is 8 Mhz, unknown divider
6679   MCFG_CPU_PROGRAM_MAP(alphasmart_mem)
6780   MCFG_CPU_IO_MAP(alphasmart_io)
6881   MCFG_CPU_CONFIG(alphasmart_hc11_config)
69   MCFG_CPU_PERIODIC_INT_DRIVER(alphasmart_state, irq0_line_hold,  50)
82//   MCFG_CPU_PERIODIC_INT_DRIVER(alphasmart_state, irq0_line_hold,  50)
7083
84   MCFG_HD44780_ADD("hd44780", alphasmart_4line_display)
85
7186   /* video hardware */
7287   MCFG_SCREEN_ADD("screen", LCD)
7388   MCFG_SCREEN_REFRESH_RATE(50)
7489   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
75   MCFG_SCREEN_UPDATE_DRIVER(alphasmart_state, screen_update)
90   MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update)
7691   MCFG_SCREEN_SIZE(6*40, 9*4)
7792   MCFG_SCREEN_VISIBLE_AREA(0, (6*40)-1, 0, (9*4)-1)
7893   MCFG_PALETTE_LENGTH(2)
r18951r18952
8398ROM_START( alphasma )
8499   ROM_REGION( 0x8000, "maincpu", 0 )
85100   ROM_LOAD( "alphasmartpro212.rom",  0x0000, 0x8000, CRC(896ddf1c) SHA1(c3c6a421c9ced92db97431d04b4a3f09a39de716) )   // Checksum 8D24 on label
101
102   ROM_REGION( 0x0860, "hd44780", ROMREGION_ERASE )
103   ROM_LOAD( "44780a00.bin",    0x0000, 0x0860,  BAD_DUMP CRC(3a89024c) SHA1(5a87b68422a916d1b37b5be1f7ad0b3fb3af5a8d))
86104ROM_END
87105
88106

Previous 199869 Revisions Next


© 1997-2024 The MAME Team