trunk/src/mess/drivers/pet2001.c
| r20653 | r20654 | |
| 1 | 1 | /* |
| 2 | 2 | |
| 3 | http://www.6502.org/users/andre/petindex/boards.html |
| 4 | |
| 5 | Static Board (PET 2001) |
| 6 | ----------------------- |
| 7 | |
| 8 | Four variations based on type of RAM(6550 or 2114) and ROM(6540 or 2316B). |
| 9 | 4K or 8K static RAM (selected by jumper). |
| 10 | 40 column display |
| 11 | A video interrupt interferes with disk drive operation. |
| 12 | Display timing not compatible with Basic 4.0. |
| 13 | ROM sockets: A2 2K character ROM sockets: A2 2K character |
| 14 | (2316B) H1 C000-CFFF (6540) H1 C000-C7FF |
| 15 | H2 D000-DFFF H2 D000-D7FF |
| 16 | H3 E000-E7FF H3 E000-E7FF |
| 17 | H4 F000-FFFF H4 F000-F7FF |
| 18 | H5 C000-CFFF H5 C800-CFFF |
| 19 | H6 D000-DFFF H6 D800-DFFF |
| 20 | H7 F000-FFFF H7 F800-FFFF |
| 21 | |
| 22 | |
| 23 | IEEE user tape #2 |
| 24 | +------####-####--##-+ |
| 25 | ! # |
| 26 | ! # |
| 27 | ! # exp |
| 28 | ! # bus |
| 29 | ! # |
| 30 | ! # 2000 Series |
| 31 | ! ! circa 1977/78 Max RAM - 8k |
| 32 | ! (2k) ROMS ! [w/daughter board exp to 32k shown] |
| 33 | ! F F E D D C C ! |
| 34 | ! 8 0 0 8 0 8 0 ! |
| 35 | ! ! |
| 36 | tape # RAM MEMORY ! |
| 37 | #1 # ! |
| 38 | +--------------------+ |
| 39 | |
| 40 | |
| 41 | Dynamic Board (PET/CBM 2001-N/2001-B/4000) |
| 42 | ------------------------------------------ |
| 43 | |
| 44 | 4K, 8K, 16K or 32K dynamic RAM (selected by jumper). |
| 45 | 40 column display |
| 46 | Can run all versions of 40 column Basic (Basic 1 must be copied to 4K ROMs) |
| 47 | Can be jumpered to replace the older board. |
| 48 | ROM sockets: UD3 9000-9FFF |
| 49 | UD4 A000-AFFF |
| 50 | UD5 B000-BFFF |
| 51 | UD6 C000-CFFF |
| 52 | UD7 D000-DFFF |
| 53 | UD8 E000-E7FF |
| 54 | UD9 F000-FFFF |
| 55 | UF10 2K character |
| 56 | |
| 57 | |
| 58 | IEEE user tape #1 |
| 59 | +------####-####--##-+ |
| 60 | ! #! |
| 61 | ! #! |
| 62 | ! #! exp |
| 63 | ! ROMS #! bus |
| 64 | ! F E D C B A 9 #! |
| 65 | ! #! 3000, 4000 Series |
| 66 | ! ! (3000 series is European version) |
| 67 | ! ! circa 1979/80 Max RAM - 32k |
| 68 | ! ! |
| 69 | ! ! |
| 70 | ! ! |
| 71 | tape # RAM MEMORY ! |
| 72 | #2 # ! |
| 73 | +--------------------+ |
| 74 | |
| 75 | |
| 76 | 80 Column Board (CBM 8000) |
| 77 | -------------------------- |
| 78 | |
| 79 | 16K or 32K RAM (selected by jumper). |
| 80 | Uses CTRC to generate 80 column display. |
| 81 | Can only run the 80 column version of Basic 4.0. |
| 82 | Not compatible with older boards. |
| 83 | ROM sockets: UA3 2K or 4K character |
| 84 | UD6 F000-FFFF |
| 85 | UD7 E000-E7FF |
| 86 | UD8 D000-DFFF |
| 87 | UD9 C000-CFFF |
| 88 | UD10 B000-BFFF |
| 89 | UD11 A000-AFFF |
| 90 | UD12 9000-9FFF |
| 91 | |
| 92 | The layout is the same of the one used in Universal Boards below. |
| 93 | |
| 94 | |
| 95 | Universal Board (CBM 8000/PET 4000-12) |
| 96 | -------------------------------------- |
| 97 | |
| 98 | This is an 80 column board with jumpers for different configurations. |
| 99 | 16K or 32K RAM (selected by jumper). |
| 100 | Uses CTRC to generate 40 or 80 column display (selected by jumpers). |
| 101 | Can only run Basic 4.0 versions that support the CRTC. |
| 102 | Can be jumpered to replace all older boards. |
| 103 | ROM sockets: UA3 2K or 4K character |
| 104 | UD6 F000-FFFF |
| 105 | UD7 E000-E7FF |
| 106 | UD8 D000-DFFF |
| 107 | UD9 C000-CFFF |
| 108 | UD10 B000-BFFF |
| 109 | UD11 A000-AFFF |
| 110 | UD12 9000-9FFF |
| 111 | |
| 112 | |
| 113 | IEEE user tape #1 |
| 114 | +------####-####--##-+ |
| 115 | ! # # tape |
| 116 | ! # # #2 |
| 117 | ! R exp bus # ! |
| 118 | ! A #! |
| 119 | ! M 9 #! |
| 120 | ! A #! 4000, 8000 Series |
| 121 | ! M R B ! circa 1981 Max RAM - 32k* |
| 122 | ! E O C ! [8296 layout not shown] |
| 123 | ! M M D ! |
| 124 | ! O S E ! |
| 125 | ! R F ! |
| 126 | ! Y ! |
| 127 | ! spkr! |
| 128 | +--------------------+ |
| 129 | */ |
| 130 | |
| 131 | /* |
| 132 | |
| 3 | 133 | TODO: |
| 4 | 134 | |
| 5 | | - cursor |
| 6 | | - accurate video timings |
| 135 | - accurate video timing for non-CRTC models |
| 136 | - PET 4000-12 (40 column CRTC models) |
| 137 | - SuperPET |
| 138 | - 8096 |
| 139 | - 64k expansion |
| 140 | - 8296 |
| 141 | - PLA dumps |
| 142 | - high resolution graphics |
| 143 | - rom software list |
| 7 | 144 | - user port |
| 8 | 145 | - memory expansion port |
| 9 | 146 | |
| r20653 | r20654 | |
| 30 | 167 | |
| 31 | 168 | |
| 32 | 169 | //------------------------------------------------- |
| 170 | // update_speaker - |
| 171 | //------------------------------------------------- |
| 172 | |
| 173 | void pet2001_state::update_speaker() |
| 174 | { |
| 175 | if (m_speaker) |
| 176 | { |
| 177 | speaker_level_w(m_speaker, !(m_via_cb2 || m_pia1_pa7)); |
| 178 | } |
| 179 | } |
| 180 | |
| 181 | |
| 182 | //------------------------------------------------- |
| 33 | 183 | // read - |
| 34 | 184 | //------------------------------------------------- |
| 35 | 185 | |
| r20653 | r20654 | |
| 39 | 189 | |
| 40 | 190 | switch (offset >> 12) |
| 41 | 191 | { |
| 42 | | case SEL0: |
| 43 | | case SEL1: |
| 44 | | case SEL2: |
| 45 | | case SEL3: |
| 46 | | case SEL4: |
| 47 | | case SEL5: |
| 48 | | case SEL6: |
| 49 | | case SEL7: |
| 192 | case SEL0: case SEL1: case SEL2: case SEL3: case SEL4: case SEL5: case SEL6: case SEL7: |
| 50 | 193 | if (offset < m_ram->size()) |
| 51 | 194 | { |
| 52 | 195 | data = m_ram->pointer()[offset]; |
| r20653 | r20654 | |
| 54 | 197 | break; |
| 55 | 198 | |
| 56 | 199 | case SEL8: |
| 57 | | data = m_video_ram[offset & 0x3ff]; |
| 200 | data = m_video_ram[offset & (m_video_ram_size - 1)]; |
| 58 | 201 | break; |
| 59 | 202 | |
| 60 | | case SEL9: |
| 61 | | if (m_spare_rom) |
| 62 | | { |
| 63 | | data = m_spare_rom->base()[offset & 0xfff]; |
| 64 | | } |
| 203 | case SEL9: case SELA: case SELB: case SELC: case SELD: case SELF: |
| 204 | data = m_rom->base()[offset - 0x9000]; |
| 65 | 205 | break; |
| 66 | 206 | |
| 67 | | case SELA: |
| 68 | | if (m_spare_rom) |
| 69 | | { |
| 70 | | data = m_spare_rom->base()[0x1000 | (offset & 0xfff)]; |
| 71 | | } |
| 72 | | break; |
| 73 | | |
| 74 | | case SELB: |
| 75 | | if (m_spare_rom) |
| 76 | | { |
| 77 | | data = m_spare_rom->base()[0x2000 | (offset & 0xfff)]; |
| 78 | | } |
| 79 | | break; |
| 80 | | |
| 81 | 207 | case SELE: |
| 82 | 208 | if (BIT(offset, 11)) |
| 83 | 209 | { |
| r20653 | r20654 | |
| 93 | 219 | { |
| 94 | 220 | data = m_via->read(space, offset & 0x0f); |
| 95 | 221 | } |
| 222 | if (m_crtc && BIT(offset, 7) && BIT(offset, 0)) |
| 223 | { |
| 224 | data = m_crtc->register_r(space, 0); |
| 225 | } |
| 96 | 226 | } |
| 97 | 227 | else |
| 98 | 228 | { |
| 99 | | data = m_rom->base()[offset & 0x3fff]; |
| 229 | data = m_rom->base()[offset - 0x9000]; |
| 100 | 230 | } |
| 101 | 231 | break; |
| 102 | | |
| 103 | | case SELC: |
| 104 | | case SELD: |
| 105 | | case SELF: |
| 106 | | data = m_rom->base()[offset & 0x3fff]; |
| 107 | | break; |
| 108 | 232 | } |
| 109 | 233 | |
| 110 | 234 | return data; |
| r20653 | r20654 | |
| 119 | 243 | { |
| 120 | 244 | switch (offset >> 12) |
| 121 | 245 | { |
| 122 | | case SEL0: |
| 123 | | case SEL1: |
| 124 | | case SEL2: |
| 125 | | case SEL3: |
| 126 | | case SEL4: |
| 127 | | case SEL5: |
| 128 | | case SEL6: |
| 129 | | case SEL7: |
| 246 | case SEL0: case SEL1: case SEL2: case SEL3: case SEL4: case SEL5: case SEL6: case SEL7: |
| 130 | 247 | if (offset < m_ram->size()) |
| 131 | 248 | { |
| 132 | 249 | m_ram->pointer()[offset] = data; |
| r20653 | r20654 | |
| 134 | 251 | break; |
| 135 | 252 | |
| 136 | 253 | case SEL8: |
| 137 | | m_video_ram[offset & 0x3ff] = data; |
| 254 | m_video_ram[offset & (m_video_ram_size - 1)] = data; |
| 138 | 255 | break; |
| 139 | 256 | |
| 140 | 257 | case SELE: |
| r20653 | r20654 | |
| 152 | 269 | { |
| 153 | 270 | m_via->write(space, offset & 0x0f, data); |
| 154 | 271 | } |
| 272 | if (m_crtc && BIT(offset, 7)) |
| 273 | { |
| 274 | if (BIT(offset, 0)) |
| 275 | { |
| 276 | m_crtc->register_w(space, 0, data); |
| 277 | } |
| 278 | else |
| 279 | { |
| 280 | m_crtc->address_w(space, 0, data); |
| 281 | } |
| 282 | } |
| 155 | 283 | } |
| 156 | 284 | break; |
| 157 | 285 | } |
| r20653 | r20654 | |
| 399 | 527 | INPUT_PORTS_END |
| 400 | 528 | |
| 401 | 529 | |
| 530 | //------------------------------------------------- |
| 531 | // INPUT_PORTS( petb_de ) |
| 532 | //------------------------------------------------- |
| 402 | 533 | |
| 534 | INPUT_PORTS_START( petb_de ) |
| 535 | PORT_INCLUDE( petb ) |
| 536 | INPUT_PORTS_END |
| 537 | |
| 538 | |
| 539 | //------------------------------------------------- |
| 540 | // INPUT_PORTS( petb_se ) |
| 541 | //------------------------------------------------- |
| 542 | |
| 543 | INPUT_PORTS_START( petb_se ) |
| 544 | PORT_INCLUDE( petb ) |
| 545 | INPUT_PORTS_END |
| 546 | |
| 547 | |
| 548 | |
| 403 | 549 | //************************************************************************** |
| 404 | 550 | // DEVICE CONFIGURATION |
| 405 | 551 | //************************************************************************** |
| r20653 | r20654 | |
| 435 | 581 | UINT8 data = 0; |
| 436 | 582 | |
| 437 | 583 | // video sync |
| 438 | | data |= m_sync << 5; |
| 584 | data |= (m_crtc ? m_crtc->vsync_r() : m_sync) << 5; |
| 439 | 585 | |
| 440 | 586 | // IEEE-488 |
| 441 | 587 | data |= m_ieee->ndac_r(); |
| r20653 | r20654 | |
| 477 | 623 | m_graphic = state; |
| 478 | 624 | } |
| 479 | 625 | |
| 626 | WRITE_LINE_MEMBER( pet2001_state::via_cb2_w ) |
| 627 | { |
| 628 | m_via_cb2 = state; |
| 629 | update_speaker(); |
| 630 | |
| 631 | //m_user->cb2_w(state); |
| 632 | } |
| 633 | |
| 480 | 634 | const via6522_interface via_intf = |
| 481 | 635 | { |
| 482 | 636 | DEVCB_NULL,//DEVCB_DEVICE_MEMBER(PET_USER_PORT_TAG, pet_user_port_device, pa_r), |
| r20653 | r20654 | |
| 490 | 644 | DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER(PET_USER_PORT_TAG, pet_user_port_device, ca1_w), |
| 491 | 645 | DEVCB_DRIVER_LINE_MEMBER(pet2001_state, via_ca2_w), |
| 492 | 646 | DEVCB_NULL, |
| 493 | | DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER(PET_USER_PORT_TAG, pet_user_port_device, cb2_w), |
| 647 | DEVCB_DRIVER_LINE_MEMBER(pet2001_state, via_cb2_w), |
| 494 | 648 | DEVCB_DRIVER_LINE_MEMBER(pet2001_state, via_irq_w) |
| 495 | 649 | }; |
| 496 | 650 | |
| r20653 | r20654 | |
| 561 | 715 | PA4 |
| 562 | 716 | PA5 |
| 563 | 717 | PA6 |
| 564 | | PA7 |
| 718 | PA7 SPEAKER |
| 565 | 719 | |
| 566 | 720 | */ |
| 567 | 721 | |
| 568 | 722 | // keyboard |
| 569 | 723 | m_key = data & 0x0f; |
| 724 | |
| 725 | // speaker |
| 726 | m_pia1_pa7 = BIT(data, 7); |
| 727 | update_speaker(); |
| 570 | 728 | } |
| 571 | 729 | |
| 572 | 730 | READ8_MEMBER( pet2001_state::pia1_pb_r ) |
| r20653 | r20654 | |
| 613 | 771 | |
| 614 | 772 | READ_LINE_MEMBER( pet2001_state::pia1_cb1_r ) |
| 615 | 773 | { |
| 616 | | return m_sync; |
| 774 | return (m_crtc ? m_crtc->vsync_r() : m_sync); |
| 617 | 775 | } |
| 618 | 776 | |
| 619 | 777 | WRITE_LINE_MEMBER( pet2001_state::pia1_ca2_w ) |
| r20653 | r20654 | |
| 757 | 915 | { |
| 758 | 916 | int sy = y / 8; |
| 759 | 917 | offs_t video_addr = (sy * 40) + sx; |
| 760 | | UINT8 code = m_video_ram[video_addr]; |
| 918 | UINT8 lsd = m_video_ram[video_addr]; |
| 761 | 919 | |
| 762 | 920 | int ra = y & 0x07; |
| 763 | | offs_t char_addr = (m_graphic << 10) | (code << 3) | ra; |
| 921 | offs_t char_addr = (m_graphic << 10) | ((lsd & 0x7f) << 3) | ra; |
| 764 | 922 | UINT8 data = m_char_rom->base()[char_addr]; |
| 765 | 923 | |
| 766 | | for (int x = 0; x < 8; x++) |
| 924 | for (int x = 0; x < 8; x++, data <<= 1) |
| 767 | 925 | { |
| 768 | | int color = BIT(data, 7); |
| 769 | | |
| 926 | int color = (BIT(data, 7) ^ BIT(lsd, 7)) && m_blanktv; |
| 770 | 927 | bitmap.pix32(y, (sx * 8) + x) = RGB_MONOCHROME_GREEN[color]; |
| 771 | | |
| 772 | | data <<= 1; |
| 773 | 928 | } |
| 774 | 929 | } |
| 775 | 930 | } |
| r20653 | r20654 | |
| 778 | 933 | } |
| 779 | 934 | |
| 780 | 935 | |
| 936 | //------------------------------------------------- |
| 937 | // MC6845_INTERFACE( crtc_intf ) |
| 938 | //------------------------------------------------- |
| 781 | 939 | |
| 940 | static MC6845_UPDATE_ROW( pet80_update_row ) |
| 941 | { |
| 942 | pet80_state *state = device->machine().driver_data<pet80_state>(); |
| 943 | int x = 0; |
| 944 | int char_rom_mask = state->m_char_rom->bytes() - 1; |
| 945 | |
| 946 | for (int column = 0; column < x_count; column++) |
| 947 | { |
| 948 | UINT8 lsd = 0, data = 0; |
| 949 | UINT8 rra = ra & 0x07; |
| 950 | int no_row = !(BIT(ra, 3) || BIT(ra, 4)); |
| 951 | int invert = BIT(ma, 12); |
| 952 | int chr_option = BIT(ma, 13); |
| 953 | |
| 954 | // even character |
| 955 | |
| 956 | lsd = state->m_video_ram[((ma + column) << 1) & 0x7ff]; |
| 957 | |
| 958 | offs_t char_addr = (chr_option << 11) | (state->m_graphic << 10) | ((lsd & 0x7f) << 3) | rra; |
| 959 | data = state->m_char_rom->base()[char_addr & char_rom_mask]; |
| 960 | |
| 961 | for (int bit = 0; bit < 8; bit++, data <<= 1) |
| 962 | { |
| 963 | int video = !((BIT(data, 7) ^ BIT(lsd, 7)) && no_row) ^ invert; |
| 964 | bitmap.pix32(y, x++) = RGB_MONOCHROME_GREEN[video]; |
| 965 | } |
| 966 | |
| 967 | // odd character |
| 968 | |
| 969 | lsd = state->m_video_ram[(((ma + column) << 1) + 1) & 0x7ff]; |
| 970 | |
| 971 | char_addr = (chr_option << 11) | (state->m_graphic << 10) | ((lsd & 0x7f) << 3) | rra; |
| 972 | data = state->m_char_rom->base()[char_addr & char_rom_mask]; |
| 973 | |
| 974 | for (int bit = 0; bit < 8; bit++, data <<= 1) |
| 975 | { |
| 976 | int video = !((BIT(data, 7) ^ BIT(lsd, 7)) && no_row) ^ invert; |
| 977 | bitmap.pix32(y, x++) = RGB_MONOCHROME_GREEN[video]; |
| 978 | } |
| 979 | } |
| 980 | } |
| 981 | |
| 982 | static MC6845_INTERFACE( crtc_intf ) |
| 983 | { |
| 984 | SCREEN_TAG, |
| 985 | false, |
| 986 | 2*8, |
| 987 | NULL, |
| 988 | pet80_update_row, |
| 989 | NULL, |
| 990 | DEVCB_NULL, |
| 991 | DEVCB_NULL, |
| 992 | DEVCB_NULL, |
| 993 | DEVCB_DEVICE_LINE_MEMBER(M6520_1_TAG, pia6821_device, cb1_w), |
| 994 | NULL |
| 995 | }; |
| 996 | |
| 997 | |
| 998 | |
| 782 | 999 | //************************************************************************** |
| 783 | 1000 | // MACHINE INITIALIZATION |
| 784 | 1001 | //************************************************************************** |
| 785 | 1002 | |
| 786 | 1003 | //------------------------------------------------- |
| 787 | | // MACHINE_START( pet2001 ) |
| 1004 | // MACHINE_START( pet ) |
| 788 | 1005 | //------------------------------------------------- |
| 789 | 1006 | |
| 790 | | void pet2001_state::machine_start() |
| 1007 | MACHINE_START_MEMBER( pet2001_state, pet ) |
| 791 | 1008 | { |
| 792 | 1009 | // allocate memory |
| 793 | | m_video_ram.allocate(0x400); |
| 1010 | m_video_ram.allocate(m_video_ram_size); |
| 794 | 1011 | |
| 795 | 1012 | // initialize memory |
| 796 | 1013 | UINT8 data = 0xff; |
| r20653 | r20654 | |
| 803 | 1020 | |
| 804 | 1021 | data = 0xff; |
| 805 | 1022 | |
| 806 | | for (offs_t offset = 0; offset < 0x400; offset++) |
| 1023 | for (offs_t offset = 0; offset < m_video_ram_size; offset++) |
| 807 | 1024 | { |
| 808 | 1025 | m_video_ram[offset] = data; |
| 809 | 1026 | if (!(offset % 64)) data ^= 0xff; |
| r20653 | r20654 | |
| 824 | 1041 | |
| 825 | 1042 | |
| 826 | 1043 | //------------------------------------------------- |
| 827 | | // MACHINE_RESET( pet2001 ) |
| 1044 | // MACHINE_START( pet2001 ) |
| 828 | 1045 | //------------------------------------------------- |
| 829 | 1046 | |
| 830 | | void pet2001_state::machine_reset() |
| 1047 | MACHINE_START_MEMBER( pet2001_state, pet2001 ) |
| 831 | 1048 | { |
| 1049 | m_video_ram_size = 0x400; |
| 1050 | |
| 1051 | MACHINE_START_CALL_MEMBER(pet); |
| 1052 | } |
| 1053 | |
| 1054 | |
| 1055 | //------------------------------------------------- |
| 1056 | // MACHINE_RESET( pet ) |
| 1057 | //------------------------------------------------- |
| 1058 | |
| 1059 | MACHINE_RESET_MEMBER( pet2001_state, pet ) |
| 1060 | { |
| 832 | 1061 | m_maincpu->reset(); |
| 833 | 1062 | |
| 834 | 1063 | m_via->reset(); |
| 835 | 1064 | m_pia1->reset(); |
| 836 | 1065 | m_pia2->reset(); |
| 1066 | |
| 837 | 1067 | //m_exp->reset(); |
| 838 | 1068 | } |
| 839 | 1069 | |
| 840 | 1070 | |
| 1071 | //------------------------------------------------- |
| 1072 | // MACHINE_START( pet80 ) |
| 1073 | //------------------------------------------------- |
| 841 | 1074 | |
| 1075 | MACHINE_START_MEMBER( pet80_state, pet80 ) |
| 1076 | { |
| 1077 | m_video_ram_size = 0x800; |
| 1078 | |
| 1079 | MACHINE_START_CALL_MEMBER(pet); |
| 1080 | } |
| 1081 | |
| 1082 | |
| 1083 | //------------------------------------------------- |
| 1084 | // MACHINE_RESET( pet80 ) |
| 1085 | //------------------------------------------------- |
| 1086 | |
| 1087 | MACHINE_RESET_MEMBER( pet80_state, pet80 ) |
| 1088 | { |
| 1089 | MACHINE_RESET_CALL_MEMBER(pet); |
| 1090 | |
| 1091 | m_crtc->reset(); |
| 1092 | } |
| 1093 | |
| 1094 | |
| 1095 | |
| 842 | 1096 | //************************************************************************** |
| 843 | 1097 | // MACHINE DRIVERS |
| 844 | 1098 | //************************************************************************** |
| 845 | 1099 | |
| 846 | 1100 | //------------------------------------------------- |
| 847 | | // MACHINE_CONFIG( pet2001 ) |
| 1101 | // MACHINE_CONFIG( 4k ) |
| 848 | 1102 | //------------------------------------------------- |
| 849 | 1103 | |
| 850 | | static MACHINE_CONFIG_START( pet2001, pet2001_state ) |
| 1104 | static MACHINE_CONFIG_FRAGMENT( 4k ) |
| 1105 | MCFG_RAM_ADD(RAM_TAG) |
| 1106 | MCFG_RAM_DEFAULT_SIZE("4K") |
| 1107 | MCFG_RAM_EXTRA_OPTIONS("8K, 16K,32K") |
| 1108 | MACHINE_CONFIG_END |
| 1109 | |
| 1110 | |
| 1111 | //------------------------------------------------- |
| 1112 | // MACHINE_CONFIG( 8k ) |
| 1113 | //------------------------------------------------- |
| 1114 | |
| 1115 | static MACHINE_CONFIG_FRAGMENT( 8k ) |
| 1116 | MCFG_RAM_ADD(RAM_TAG) |
| 1117 | MCFG_RAM_DEFAULT_SIZE("8K") |
| 1118 | MCFG_RAM_EXTRA_OPTIONS("16K,32K") |
| 1119 | MACHINE_CONFIG_END |
| 1120 | |
| 1121 | |
| 1122 | //------------------------------------------------- |
| 1123 | // MACHINE_CONFIG( 8k ) |
| 1124 | //------------------------------------------------- |
| 1125 | |
| 1126 | static MACHINE_CONFIG_FRAGMENT( 16k ) |
| 1127 | MCFG_RAM_ADD(RAM_TAG) |
| 1128 | MCFG_RAM_DEFAULT_SIZE("16K") |
| 1129 | MCFG_RAM_EXTRA_OPTIONS("32K") |
| 1130 | MACHINE_CONFIG_END |
| 1131 | |
| 1132 | |
| 1133 | //------------------------------------------------- |
| 1134 | // MACHINE_CONFIG( 8k ) |
| 1135 | //------------------------------------------------- |
| 1136 | |
| 1137 | static MACHINE_CONFIG_FRAGMENT( 32k ) |
| 1138 | MCFG_RAM_ADD(RAM_TAG) |
| 1139 | MCFG_RAM_DEFAULT_SIZE("32K") |
| 1140 | MACHINE_CONFIG_END |
| 1141 | |
| 1142 | |
| 1143 | //------------------------------------------------- |
| 1144 | // MACHINE_CONFIG( pet ) |
| 1145 | //------------------------------------------------- |
| 1146 | |
| 1147 | static MACHINE_CONFIG_START( pet, pet2001_state ) |
| 1148 | MCFG_MACHINE_START_OVERRIDE(pet2001_state, pet2001) |
| 1149 | MCFG_MACHINE_RESET_OVERRIDE(pet2001_state, pet) |
| 1150 | |
| 851 | 1151 | // basic machine hardware |
| 852 | 1152 | MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_8MHz/8) |
| 853 | 1153 | MCFG_CPU_PROGRAM_MAP(pet2001_mem) |
| r20653 | r20654 | |
| 872 | 1172 | //MCFG_PET_EXPANSION_SLOT_ADD(PET_EXPANSION_SLOT_TAG, XTAL_8MHz/8, pet_expansion_cards, NULL, NULL) |
| 873 | 1173 | //MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, user_intf, pet_user_port_cards, NULL, NULL) |
| 874 | 1174 | |
| 875 | | // internal RAM |
| 876 | | MCFG_RAM_ADD(RAM_TAG) |
| 877 | | MCFG_RAM_DEFAULT_SIZE("4K") |
| 878 | | MCFG_RAM_EXTRA_OPTIONS("8K") |
| 879 | | |
| 880 | 1175 | // software lists |
| 881 | 1176 | MCFG_SOFTWARE_LIST_ADD("flop_list", "pet_flop") |
| 882 | 1177 | MACHINE_CONFIG_END |
| 883 | 1178 | |
| 884 | 1179 | |
| 885 | 1180 | //------------------------------------------------- |
| 1181 | // MACHINE_CONFIG( pet2001 ) |
| 1182 | //------------------------------------------------- |
| 1183 | |
| 1184 | static MACHINE_CONFIG_DERIVED( pet2001, pet ) |
| 1185 | MCFG_FRAGMENT_ADD(4k) |
| 1186 | MACHINE_CONFIG_END |
| 1187 | |
| 1188 | |
| 1189 | //------------------------------------------------- |
| 1190 | // MACHINE_CONFIG( pet20018 ) |
| 1191 | //------------------------------------------------- |
| 1192 | |
| 1193 | static MACHINE_CONFIG_DERIVED( pet20018, pet ) |
| 1194 | MCFG_FRAGMENT_ADD(8k) |
| 1195 | MACHINE_CONFIG_END |
| 1196 | |
| 1197 | |
| 1198 | //------------------------------------------------- |
| 886 | 1199 | // MACHINE_CONFIG( pet2001n ) |
| 887 | 1200 | //------------------------------------------------- |
| 888 | 1201 | |
| 889 | | static MACHINE_CONFIG_DERIVED( pet2001n, pet2001 ) |
| 1202 | static MACHINE_CONFIG_DERIVED( pet2001n, pet ) |
| 890 | 1203 | MCFG_CARTSLOT_ADD("9000") |
| 891 | 1204 | MCFG_CARTSLOT_EXTENSION_LIST("bin,rom") |
| 892 | 1205 | MCFG_CARTSLOT_INTERFACE("pet_9000_rom") |
| r20653 | r20654 | |
| 899 | 1212 | MCFG_CARTSLOT_EXTENSION_LIST("bin,rom") |
| 900 | 1213 | MCFG_CARTSLOT_INTERFACE("pet_b000_rom") |
| 901 | 1214 | |
| 902 | | MCFG_RAM_MODIFY(RAM_TAG) |
| 903 | | MCFG_RAM_DEFAULT_SIZE("8K") |
| 904 | | MCFG_RAM_EXTRA_OPTIONS("16K,32K") |
| 905 | | |
| 906 | 1215 | MCFG_SOFTWARE_LIST_ADD("rom_list", "pet_rom") |
| 907 | 1216 | MACHINE_CONFIG_END |
| 908 | 1217 | |
| 909 | 1218 | |
| 910 | 1219 | //------------------------------------------------- |
| 1220 | // MACHINE_CONFIG( pet2001n8 ) |
| 1221 | //------------------------------------------------- |
| 1222 | |
| 1223 | static MACHINE_CONFIG_DERIVED( pet2001n8, pet2001n ) |
| 1224 | MCFG_FRAGMENT_ADD(8k) |
| 1225 | MACHINE_CONFIG_END |
| 1226 | |
| 1227 | |
| 1228 | //------------------------------------------------- |
| 1229 | // MACHINE_CONFIG( pet2001n16 ) |
| 1230 | //------------------------------------------------- |
| 1231 | |
| 1232 | static MACHINE_CONFIG_DERIVED( pet2001n16, pet2001n ) |
| 1233 | MCFG_FRAGMENT_ADD(16k) |
| 1234 | MACHINE_CONFIG_END |
| 1235 | |
| 1236 | |
| 1237 | //------------------------------------------------- |
| 1238 | // MACHINE_CONFIG( pet2001n32 ) |
| 1239 | //------------------------------------------------- |
| 1240 | |
| 1241 | static MACHINE_CONFIG_DERIVED( pet2001n32, pet2001n ) |
| 1242 | MCFG_FRAGMENT_ADD(32k) |
| 1243 | MACHINE_CONFIG_END |
| 1244 | |
| 1245 | |
| 1246 | //------------------------------------------------- |
| 1247 | // MACHINE_CONFIG( cbm3008 ) |
| 1248 | //------------------------------------------------- |
| 1249 | |
| 1250 | static MACHINE_CONFIG_DERIVED( cbm3008, pet2001n ) |
| 1251 | MCFG_FRAGMENT_ADD(8k) |
| 1252 | MACHINE_CONFIG_END |
| 1253 | |
| 1254 | |
| 1255 | //------------------------------------------------- |
| 1256 | // MACHINE_CONFIG( cbm3016 ) |
| 1257 | //------------------------------------------------- |
| 1258 | |
| 1259 | static MACHINE_CONFIG_DERIVED( cbm3016, pet2001n ) |
| 1260 | MCFG_FRAGMENT_ADD(16k) |
| 1261 | MACHINE_CONFIG_END |
| 1262 | |
| 1263 | |
| 1264 | //------------------------------------------------- |
| 1265 | // MACHINE_CONFIG( cbm3032 ) |
| 1266 | //------------------------------------------------- |
| 1267 | |
| 1268 | static MACHINE_CONFIG_DERIVED( cbm3032, pet2001n ) |
| 1269 | MCFG_FRAGMENT_ADD(32k) |
| 1270 | MACHINE_CONFIG_END |
| 1271 | |
| 1272 | |
| 1273 | //------------------------------------------------- |
| 911 | 1274 | // MACHINE_CONFIG( pet2001b ) |
| 912 | 1275 | //------------------------------------------------- |
| 913 | 1276 | |
| r20653 | r20654 | |
| 917 | 1280 | MACHINE_CONFIG_END |
| 918 | 1281 | |
| 919 | 1282 | |
| 1283 | //------------------------------------------------- |
| 1284 | // MACHINE_CONFIG( pet2001b8 ) |
| 1285 | //------------------------------------------------- |
| 920 | 1286 | |
| 1287 | static MACHINE_CONFIG_DERIVED( pet2001b8, pet2001b ) |
| 1288 | MCFG_FRAGMENT_ADD(8k) |
| 1289 | MACHINE_CONFIG_END |
| 1290 | |
| 1291 | |
| 1292 | //------------------------------------------------- |
| 1293 | // MACHINE_CONFIG( pet2001b16 ) |
| 1294 | //------------------------------------------------- |
| 1295 | |
| 1296 | static MACHINE_CONFIG_DERIVED( pet2001b16, pet2001b ) |
| 1297 | MCFG_FRAGMENT_ADD(16k) |
| 1298 | MACHINE_CONFIG_END |
| 1299 | |
| 1300 | |
| 1301 | //------------------------------------------------- |
| 1302 | // MACHINE_CONFIG( pet2001b32 ) |
| 1303 | //------------------------------------------------- |
| 1304 | |
| 1305 | static MACHINE_CONFIG_DERIVED( pet2001b32, pet2001b ) |
| 1306 | MCFG_FRAGMENT_ADD(32k) |
| 1307 | MACHINE_CONFIG_END |
| 1308 | |
| 1309 | |
| 1310 | //------------------------------------------------- |
| 1311 | // MACHINE_CONFIG( cbm3032b ) |
| 1312 | //------------------------------------------------- |
| 1313 | |
| 1314 | static MACHINE_CONFIG_DERIVED( cbm3032b, pet2001b ) |
| 1315 | MCFG_FRAGMENT_ADD(32k) |
| 1316 | MACHINE_CONFIG_END |
| 1317 | |
| 1318 | |
| 1319 | //------------------------------------------------- |
| 1320 | // MACHINE_CONFIG( pet4000 ) |
| 1321 | //------------------------------------------------- |
| 1322 | |
| 1323 | static MACHINE_CONFIG_DERIVED( pet4000, pet2001n ) |
| 1324 | MCFG_DEVICE_REMOVE("b000") |
| 1325 | MACHINE_CONFIG_END |
| 1326 | |
| 1327 | |
| 1328 | //------------------------------------------------- |
| 1329 | // MACHINE_CONFIG( pet4016 ) |
| 1330 | //------------------------------------------------- |
| 1331 | |
| 1332 | static MACHINE_CONFIG_DERIVED( pet4016, pet4000 ) |
| 1333 | // RAM not upgradeable |
| 1334 | MCFG_RAM_ADD(RAM_TAG) |
| 1335 | MCFG_RAM_DEFAULT_SIZE("16K") |
| 1336 | MACHINE_CONFIG_END |
| 1337 | |
| 1338 | |
| 1339 | //------------------------------------------------- |
| 1340 | // MACHINE_CONFIG( pet4032 ) |
| 1341 | //------------------------------------------------- |
| 1342 | |
| 1343 | static MACHINE_CONFIG_DERIVED( pet4032, pet4000 ) |
| 1344 | MCFG_FRAGMENT_ADD(32k) |
| 1345 | MACHINE_CONFIG_END |
| 1346 | |
| 1347 | |
| 1348 | //------------------------------------------------- |
| 1349 | // MACHINE_CONFIG( cbm4000 ) |
| 1350 | //------------------------------------------------- |
| 1351 | |
| 1352 | static MACHINE_CONFIG_DERIVED( cbm4000, pet2001n ) |
| 1353 | MCFG_DEVICE_REMOVE("b000") |
| 1354 | MACHINE_CONFIG_END |
| 1355 | |
| 1356 | |
| 1357 | //------------------------------------------------- |
| 1358 | // MACHINE_CONFIG( cbm4016 ) |
| 1359 | //------------------------------------------------- |
| 1360 | |
| 1361 | static MACHINE_CONFIG_DERIVED( cbm4016, cbm4000 ) |
| 1362 | // RAM not upgradeable |
| 1363 | MCFG_RAM_ADD(RAM_TAG) |
| 1364 | MCFG_RAM_DEFAULT_SIZE("16K") |
| 1365 | MACHINE_CONFIG_END |
| 1366 | |
| 1367 | |
| 1368 | //------------------------------------------------- |
| 1369 | // MACHINE_CONFIG( cbm4032 ) |
| 1370 | //------------------------------------------------- |
| 1371 | |
| 1372 | static MACHINE_CONFIG_DERIVED( cbm4032, cbm4000 ) |
| 1373 | MCFG_FRAGMENT_ADD(32k) |
| 1374 | MACHINE_CONFIG_END |
| 1375 | |
| 1376 | |
| 1377 | //------------------------------------------------- |
| 1378 | // MACHINE_CONFIG( pet4000b ) |
| 1379 | //------------------------------------------------- |
| 1380 | |
| 1381 | static MACHINE_CONFIG_DERIVED( pet4000b, pet2001b ) |
| 1382 | MCFG_DEVICE_REMOVE("b000") |
| 1383 | MACHINE_CONFIG_END |
| 1384 | |
| 1385 | |
| 1386 | //------------------------------------------------- |
| 1387 | // MACHINE_CONFIG( pet4032b ) |
| 1388 | //------------------------------------------------- |
| 1389 | |
| 1390 | static MACHINE_CONFIG_DERIVED( pet4032b, pet4000b ) |
| 1391 | MCFG_FRAGMENT_ADD(32k) |
| 1392 | MACHINE_CONFIG_END |
| 1393 | |
| 1394 | |
| 1395 | //------------------------------------------------- |
| 1396 | // MACHINE_CONFIG( cbm4000b ) |
| 1397 | //------------------------------------------------- |
| 1398 | |
| 1399 | static MACHINE_CONFIG_DERIVED( cbm4000b, pet2001b ) |
| 1400 | MCFG_DEVICE_REMOVE("b000") |
| 1401 | MACHINE_CONFIG_END |
| 1402 | |
| 1403 | |
| 1404 | //------------------------------------------------- |
| 1405 | // MACHINE_CONFIG( cbm4032b ) |
| 1406 | //------------------------------------------------- |
| 1407 | |
| 1408 | static MACHINE_CONFIG_DERIVED( cbm4032b, cbm4000b ) |
| 1409 | MCFG_FRAGMENT_ADD(32k) |
| 1410 | MACHINE_CONFIG_END |
| 1411 | |
| 1412 | |
| 1413 | //------------------------------------------------- |
| 1414 | // MACHINE_CONFIG( pet80 ) |
| 1415 | //------------------------------------------------- |
| 1416 | |
| 1417 | static MACHINE_CONFIG_START( pet80, pet80_state ) |
| 1418 | MCFG_MACHINE_START_OVERRIDE(pet80_state, pet80) |
| 1419 | MCFG_MACHINE_RESET_OVERRIDE(pet80_state, pet80) |
| 1420 | |
| 1421 | // basic machine hardware |
| 1422 | MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16) |
| 1423 | MCFG_CPU_PROGRAM_MAP(pet2001_mem) |
| 1424 | |
| 1425 | // video hardware |
| 1426 | MCFG_SCREEN_ADD(SCREEN_TAG, RASTER) |
| 1427 | MCFG_SCREEN_REFRESH_RATE(60) |
| 1428 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
| 1429 | MCFG_SCREEN_SIZE(640, 250) |
| 1430 | MCFG_SCREEN_VISIBLE_AREA(0, 640 - 1, 0, 250 - 1) |
| 1431 | MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update) |
| 1432 | MCFG_MC6845_ADD(MC6845_TAG, MC6845, XTAL_16MHz/16, crtc_intf) |
| 1433 | |
| 1434 | // sound hardware |
| 1435 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1436 | MCFG_SOUND_ADD(SPEAKER_TAG, SPEAKER_SOUND, 0) |
| 1437 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 1438 | |
| 1439 | // devices |
| 1440 | MCFG_VIA6522_ADD(M6522_TAG, XTAL_16MHz/16, via_intf) |
| 1441 | MCFG_PIA6821_ADD(M6520_1_TAG, pia1_intf) |
| 1442 | MCFG_PIA6821_ADD(M6520_2_TAG, pia2_intf) |
| 1443 | MCFG_CBM_IEEE488_ADD(ieee488_intf, "c8050") |
| 1444 | MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, datassette_intf, cbm_datassette_devices, "c1530", NULL) |
| 1445 | MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT2_TAG, datassette2_intf, cbm_datassette_devices, NULL, NULL) |
| 1446 | //MCFG_QUICKLOAD_ADD("quickload", cbm_pet, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS) |
| 1447 | //MCFG_PET_EXPANSION_SLOT_ADD(PET_EXPANSION_SLOT_TAG, XTAL_16MHz/16, pet_expansion_cards, NULL, NULL) |
| 1448 | //MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, user_intf, pet_user_port_cards, NULL, NULL) |
| 1449 | |
| 1450 | // software lists |
| 1451 | MCFG_SOFTWARE_LIST_ADD("flop_list", "pet_flop") |
| 1452 | MACHINE_CONFIG_END |
| 1453 | |
| 1454 | |
| 1455 | //------------------------------------------------- |
| 1456 | // MACHINE_CONFIG( pet8032 ) |
| 1457 | //------------------------------------------------- |
| 1458 | |
| 1459 | static MACHINE_CONFIG_DERIVED( pet8032, pet80 ) |
| 1460 | MCFG_FRAGMENT_ADD(32k) |
| 1461 | MACHINE_CONFIG_END |
| 1462 | |
| 1463 | |
| 1464 | //------------------------------------------------- |
| 1465 | // MACHINE_CONFIG( superpet ) |
| 1466 | //------------------------------------------------- |
| 1467 | |
| 1468 | static MACHINE_CONFIG_DERIVED_CLASS( superpet, pet80, superpet_state ) |
| 1469 | MCFG_RAM_ADD(RAM_TAG) |
| 1470 | MCFG_RAM_DEFAULT_SIZE("96K") |
| 1471 | |
| 1472 | MCFG_SOFTWARE_LIST_ADD("flop_list2", "superpet_flop") |
| 1473 | MACHINE_CONFIG_END |
| 1474 | |
| 1475 | |
| 1476 | //------------------------------------------------- |
| 1477 | // MACHINE_CONFIG( cbm8096 ) |
| 1478 | //------------------------------------------------- |
| 1479 | |
| 1480 | static MACHINE_CONFIG_DERIVED_CLASS( cbm8096, pet80, cbm8096_state ) |
| 1481 | MCFG_RAM_ADD(RAM_TAG) |
| 1482 | MCFG_RAM_DEFAULT_SIZE("96K") |
| 1483 | |
| 1484 | //MCFG_SOFTWARE_LIST_ADD("flop_list2", "cbm8096_flop") |
| 1485 | MACHINE_CONFIG_END |
| 1486 | |
| 1487 | |
| 1488 | //------------------------------------------------- |
| 1489 | // MACHINE_CONFIG( cbm8296 ) |
| 1490 | //------------------------------------------------- |
| 1491 | |
| 1492 | static MACHINE_CONFIG_DERIVED_CLASS( cbm8296, pet80, cbm8296_state ) |
| 1493 | MCFG_RAM_ADD(RAM_TAG) |
| 1494 | MCFG_RAM_DEFAULT_SIZE("128K") |
| 1495 | |
| 1496 | MCFG_SOFTWARE_LIST_ADD("flop_list2", "cbm8296_flop") |
| 1497 | MACHINE_CONFIG_END |
| 1498 | |
| 1499 | |
| 1500 | //------------------------------------------------- |
| 1501 | // MACHINE_CONFIG( cbm8296d ) |
| 1502 | //------------------------------------------------- |
| 1503 | |
| 1504 | static MACHINE_CONFIG_DERIVED( cbm8296d, cbm8296 ) |
| 1505 | MACHINE_CONFIG_END |
| 1506 | |
| 1507 | |
| 1508 | |
| 921 | 1509 | //************************************************************************** |
| 922 | 1510 | // ROMS |
| 923 | 1511 | //************************************************************************** |
| r20653 | r20654 | |
| 927 | 1515 | //------------------------------------------------- |
| 928 | 1516 | |
| 929 | 1517 | ROM_START( pet2001 ) |
| 930 | | ROM_REGION( 0x4000, M6502_TAG, 0 ) |
| 1518 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 931 | 1519 | ROM_DEFAULT_BIOS( "basic1r" ) |
| 932 | 1520 | ROM_SYSTEM_BIOS( 0, "basic1o", "Original" ) |
| 933 | | ROMX_LOAD( "901447-01.h1", 0x0000, 0x0800, CRC(a055e33a) SHA1(831db40324113ee996c434d38b4add3fd1f820bd), ROM_BIOS(1) ) |
| 1521 | ROMX_LOAD( "901447-01.h1", 0x3000, 0x0800, CRC(a055e33a) SHA1(831db40324113ee996c434d38b4add3fd1f820bd), ROM_BIOS(1) ) |
| 934 | 1522 | ROM_SYSTEM_BIOS( 1, "basic1r", "Revised" ) |
| 935 | | ROMX_LOAD( "901447-09.h1", 0x0000, 0x0800, CRC(03cf16d0) SHA1(1330580c0614d3556a389da4649488ba04a60908), ROM_BIOS(2) ) |
| 936 | | ROM_LOAD( "901447-02.h5", 0x0800, 0x0800, CRC(69fd8a8f) SHA1(70c0f4fa67a70995b168668c957c3fcf2c8641bd) ) |
| 937 | | ROM_LOAD( "901447-03.h2", 0x1000, 0x0800, CRC(d349f2d4) SHA1(4bf2c20c51a63d213886957485ebef336bb803d0) ) |
| 938 | | ROM_LOAD( "901447-04.h6", 0x1800, 0x0800, CRC(850544eb) SHA1(d293972d529023d8fd1f493149e4777b5c253a69) ) |
| 939 | | ROM_LOAD( "901447-05.h3", 0x2000, 0x0800, CRC(9e1c5cea) SHA1(f02f5fb492ba93dbbd390f24c10f7a832dec432a) ) |
| 940 | | ROM_LOAD( "901447-06.h4", 0x3000, 0x0800, CRC(661a814a) SHA1(960717282878e7de893d87242ddf9d1512be162e) ) |
| 941 | | ROM_LOAD( "901447-07.h7", 0x3800, 0x0800, CRC(c4f47ad1) SHA1(d440f2510bc52e20c3d6bc8b9ded9cea7f462a9c) ) |
| 1523 | ROMX_LOAD( "901447-09.h1", 0x3000, 0x0800, CRC(03cf16d0) SHA1(1330580c0614d3556a389da4649488ba04a60908), ROM_BIOS(2) ) |
| 1524 | ROM_LOAD( "901447-02.h5", 0x3800, 0x0800, CRC(69fd8a8f) SHA1(70c0f4fa67a70995b168668c957c3fcf2c8641bd) ) |
| 1525 | ROM_LOAD( "901447-03.h2", 0x4000, 0x0800, CRC(d349f2d4) SHA1(4bf2c20c51a63d213886957485ebef336bb803d0) ) |
| 1526 | ROM_LOAD( "901447-04.h6", 0x4800, 0x0800, CRC(850544eb) SHA1(d293972d529023d8fd1f493149e4777b5c253a69) ) |
| 1527 | ROM_LOAD( "901447-05.h3", 0x5000, 0x0800, CRC(9e1c5cea) SHA1(f02f5fb492ba93dbbd390f24c10f7a832dec432a) ) |
| 1528 | ROM_LOAD( "901447-06.h4", 0x6000, 0x0800, CRC(661a814a) SHA1(960717282878e7de893d87242ddf9d1512be162e) ) |
| 1529 | ROM_LOAD( "901447-07.h7", 0x6800, 0x0800, CRC(c4f47ad1) SHA1(d440f2510bc52e20c3d6bc8b9ded9cea7f462a9c) ) |
| 942 | 1530 | |
| 943 | | ROM_REGION( 0x800, "gfx1", 0 ) |
| 1531 | ROM_REGION( 0x800, "charom", 0 ) |
| 944 | 1532 | ROM_LOAD( "901447-08.a2", 0x000, 0x800, CRC(54f32f45) SHA1(3e067cc621e4beafca2b90cb8f6dba975df2855b) ) |
| 945 | 1533 | ROM_END |
| 946 | 1534 | |
| 1535 | #define rom_pet20018 rom_pet2001 |
| 947 | 1536 | |
| 1537 | |
| 948 | 1538 | //------------------------------------------------- |
| 949 | 1539 | // ROM( pet2001n ) |
| 950 | 1540 | //------------------------------------------------- |
| 951 | 1541 | |
| 952 | 1542 | ROM_START( pet2001n ) |
| 953 | | ROM_REGION( 0x4000, M6502_TAG, 0 ) |
| 954 | | ROM_LOAD( "901465-01.ud6", 0x0000, 0x1000, CRC(63a7fe4a) SHA1(3622111f486d0e137022523657394befa92bde44) ) // BASIC 2 |
| 955 | | ROM_LOAD( "901465-02.ud7", 0x1000, 0x1000, CRC(ae4cb035) SHA1(1bc0ebf27c9bb62ad71bca40313e874234cab6ac) ) // BASIC 2 |
| 956 | | ROM_LOAD( "901447-24.ud8", 0x2000, 0x0800, CRC(e459ab32) SHA1(5e5502ce32f5a7e387d65efe058916282041e54b) ) // Screen Editor (40 columns, no CRTC, Normal Keyb) |
| 957 | | ROM_LOAD( "901465-03.ud9", 0x3000, 0x1000, CRC(f02238e2) SHA1(38742bdf449f629bcba6276ef24d3daeb7da6e84) ) // Kernal |
| 958 | | |
| 959 | | ROM_REGION( 0x3000, "spare", ROMREGION_ERASE00 ) |
| 1543 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 960 | 1544 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 961 | 1545 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 962 | 1546 | ROM_CART_LOAD( "b000", 0x2000, 0x1000, ROM_MIRROR ) |
| 1547 | ROM_LOAD( "901465-01.ud6", 0x3000, 0x1000, CRC(63a7fe4a) SHA1(3622111f486d0e137022523657394befa92bde44) ) // BASIC 2 |
| 1548 | ROM_LOAD( "901465-02.ud7", 0x4000, 0x1000, CRC(ae4cb035) SHA1(1bc0ebf27c9bb62ad71bca40313e874234cab6ac) ) // BASIC 2 |
| 1549 | ROM_LOAD( "901447-24.ud8", 0x5000, 0x0800, CRC(e459ab32) SHA1(5e5502ce32f5a7e387d65efe058916282041e54b) ) // Screen Editor (40 columns, no CRTC, Normal Keyb) |
| 1550 | ROM_LOAD( "901465-03.ud9", 0x6000, 0x1000, CRC(f02238e2) SHA1(38742bdf449f629bcba6276ef24d3daeb7da6e84) ) // Kernal |
| 963 | 1551 | |
| 964 | | ROM_REGION( 0x800, "gfx1", 0 ) |
| 1552 | ROM_REGION( 0x800, "charom", 0 ) |
| 965 | 1553 | ROM_LOAD( "901447-10.uf10", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 966 | 1554 | ROM_END |
| 967 | 1555 | |
| 1556 | #define rom_pet2001n16 rom_pet2001n |
| 1557 | #define rom_pet2001n32 rom_pet2001n |
| 1558 | #define rom_cbm3008 rom_pet2001n |
| 1559 | #define rom_cbm3016 rom_pet2001n |
| 1560 | #define rom_cbm3032 rom_pet2001n |
| 968 | 1561 | |
| 1562 | |
| 969 | 1563 | //------------------------------------------------- |
| 970 | 1564 | // ROM( pet2001b ) |
| 971 | 1565 | //------------------------------------------------- |
| 972 | 1566 | |
| 973 | 1567 | ROM_START( pet2001b ) |
| 974 | | ROM_REGION( 0x4000, M6502_TAG, 0 ) |
| 975 | | ROM_LOAD( "901465-01.ud6", 0x0000, 0x1000, CRC(63a7fe4a) SHA1(3622111f486d0e137022523657394befa92bde44) ) // BASIC 2 |
| 976 | | ROM_LOAD( "901465-02.ud7", 0x1000, 0x1000, CRC(ae4cb035) SHA1(1bc0ebf27c9bb62ad71bca40313e874234cab6ac) ) // BASIC 2 |
| 977 | | ROM_LOAD( "901474-01.ud8", 0x2000, 0x0800, CRC(05db957e) SHA1(174ace3a8c0348cd21d39cc864e2adc58b0101a9) ) // Screen Editor (40 columns, no CRTC, Business Keyb) |
| 978 | | ROM_LOAD( "901465-03.ud9", 0x3000, 0x1000, CRC(f02238e2) SHA1(38742bdf449f629bcba6276ef24d3daeb7da6e84) ) // Kernal |
| 979 | | |
| 980 | | ROM_REGION( 0x3000, "spare", ROMREGION_ERASE00 ) |
| 1568 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 981 | 1569 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 982 | 1570 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 983 | 1571 | ROM_CART_LOAD( "b000", 0x2000, 0x1000, ROM_MIRROR ) |
| 1572 | ROM_LOAD( "901465-01.ud6", 0x3000, 0x1000, CRC(63a7fe4a) SHA1(3622111f486d0e137022523657394befa92bde44) ) // BASIC 2 |
| 1573 | ROM_LOAD( "901465-02.ud7", 0x4000, 0x1000, CRC(ae4cb035) SHA1(1bc0ebf27c9bb62ad71bca40313e874234cab6ac) ) // BASIC 2 |
| 1574 | ROM_LOAD( "901474-01.ud8", 0x5000, 0x0800, CRC(05db957e) SHA1(174ace3a8c0348cd21d39cc864e2adc58b0101a9) ) // Screen Editor (40 columns, no CRTC, Business Keyb) |
| 1575 | ROM_LOAD( "901465-03.ud9", 0x6000, 0x1000, CRC(f02238e2) SHA1(38742bdf449f629bcba6276ef24d3daeb7da6e84) ) // Kernal |
| 984 | 1576 | |
| 985 | | ROM_REGION( 0x800, "gfx1", 0 ) |
| 1577 | ROM_REGION( 0x800, "charom", 0 ) |
| 986 | 1578 | ROM_LOAD( "901447-10.uf10", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 987 | 1579 | ROM_END |
| 988 | 1580 | |
| 1581 | #define rom_pet2001b16 rom_pet2001b |
| 1582 | #define rom_pet2001b32 rom_pet2001b |
| 1583 | #define rom_cbm3032b rom_pet2001b |
| 989 | 1584 | |
| 990 | 1585 | |
| 1586 | //------------------------------------------------- |
| 1587 | // ROM( pet4016 ) |
| 1588 | //------------------------------------------------- |
| 1589 | |
| 1590 | ROM_START( pet4016 ) |
| 1591 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1592 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1593 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1594 | ROM_DEFAULT_BIOS( "basic4r" ) |
| 1595 | ROM_SYSTEM_BIOS( 0, "basic4", "Original" ) |
| 1596 | ROMX_LOAD( "901465-19.ud5", 0x2000, 0x1000, CRC(3a5f5721) SHA1(bc2b7c99495fea3eda950ee9e3d6cabe448a452b), ROM_BIOS(1) ) |
| 1597 | ROM_SYSTEM_BIOS( 1, "basic4", "Revised" ) |
| 1598 | ROMX_LOAD( "901465-23.ud5", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc), ROM_BIOS(2) ) // BASIC 4 |
| 1599 | ROM_LOAD( "901465-20.ud6", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1600 | ROM_LOAD( "901465-21.ud7", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1601 | ROM_LOAD( "901499-01.ud7", 0x5000, 0x0800, CRC(5f85bdf8) SHA1(8cbf086c1ce4dfb2a2fe24c47476dfb878493dee) ) // Screen Editor (40 columns, CRTC 60Hz, Normal Keyb?) |
| 1602 | ROM_LOAD( "901447-29.ud8", 0x5000, 0x0800, CRC(e5714d4c) SHA1(e88f56e5c54b0e8d8d4e8cb39a4647c803c1f51c) ) // Screen Editor (40 columns, no CRTC, Normal Keyb) |
| 1603 | ROM_LOAD( "901465-22.ud9", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1604 | |
| 1605 | ROM_REGION( 0x800, "charom", 0 ) |
| 1606 | ROM_LOAD( "901447-10.uf10", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1607 | ROM_END |
| 1608 | |
| 1609 | #define rom_pet4032 rom_pet4016 |
| 1610 | |
| 1611 | |
| 1612 | //------------------------------------------------- |
| 1613 | // ROM( cbm4016 ) |
| 1614 | //------------------------------------------------- |
| 1615 | |
| 1616 | ROM_START( cbm4016 ) |
| 1617 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1618 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1619 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1620 | ROM_DEFAULT_BIOS( "basic4r" ) |
| 1621 | ROM_SYSTEM_BIOS( 0, "basic4", "Original" ) |
| 1622 | ROMX_LOAD( "901465-19.ud5", 0x2000, 0x1000, CRC(3a5f5721) SHA1(bc2b7c99495fea3eda950ee9e3d6cabe448a452b), ROM_BIOS(1) ) |
| 1623 | ROM_SYSTEM_BIOS( 1, "basic4", "Revised" ) |
| 1624 | ROMX_LOAD( "901465-23.ud5", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc), ROM_BIOS(2) ) // BASIC 4 |
| 1625 | ROM_LOAD( "901465-20.ud6", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1626 | ROM_LOAD( "901465-21.ud7", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1627 | ROM_LOAD( "901498-01.ud7", 0x5000, 0x0800, CRC(3370e359) SHA1(05af284c914d53a52987b5f602466de75765f650) ) // Screen Editor (40 columns, CRTC 50Hz, Normal Keyb?) |
| 1628 | ROM_LOAD( "901447-29.ud8", 0x5000, 0x0800, CRC(e5714d4c) SHA1(e88f56e5c54b0e8d8d4e8cb39a4647c803c1f51c) ) // Screen Editor (40 columns, no CRTC, Normal Keyb) |
| 1629 | ROM_LOAD( "901465-22.ud9", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1630 | |
| 1631 | ROM_REGION( 0x800, "charom", 0 ) |
| 1632 | ROM_LOAD( "901447-10.uf10", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1633 | ROM_END |
| 1634 | |
| 1635 | #define rom_cbm4032 rom_cbm4016 |
| 1636 | |
| 1637 | |
| 1638 | //------------------------------------------------- |
| 1639 | // ROM( pet4032b ) |
| 1640 | //------------------------------------------------- |
| 1641 | |
| 1642 | ROM_START( pet4032b ) |
| 1643 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1644 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1645 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1646 | ROM_DEFAULT_BIOS( "basic4r" ) |
| 1647 | ROM_SYSTEM_BIOS( 0, "basic4", "Original" ) |
| 1648 | ROMX_LOAD( "901465-19.ud5", 0x2000, 0x1000, CRC(3a5f5721) SHA1(bc2b7c99495fea3eda950ee9e3d6cabe448a452b), ROM_BIOS(1) ) |
| 1649 | ROM_SYSTEM_BIOS( 1, "basic4", "Revised" ) |
| 1650 | ROMX_LOAD( "901465-23.ud5", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc), ROM_BIOS(2) ) // BASIC 4 |
| 1651 | ROM_LOAD( "901465-20.ud6", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1652 | ROM_LOAD( "901465-21.ud7", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1653 | ROM_LOAD( "901474-02.ud8", 0x5000, 0x0800, CRC(75ff4af7) SHA1(0ca5c4e8f532f914cb0bf86ea9900f20f0a655ce) ) // Screen Editor (40 columns, no CRTC, Business Keyb) |
| 1654 | ROM_LOAD( "901465-22.ud9", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1655 | |
| 1656 | ROM_REGION( 0x800, "charom", 0 ) |
| 1657 | ROM_LOAD( "901447-10.uf10", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1658 | ROM_END |
| 1659 | |
| 1660 | #define rom_cbm4032b rom_pet4032b |
| 1661 | |
| 1662 | |
| 1663 | //------------------------------------------------- |
| 1664 | // ROM( pet8032 ) |
| 1665 | //------------------------------------------------- |
| 1666 | |
| 1667 | ROM_START( pet8032 ) |
| 1668 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1669 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1670 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1671 | ROM_LOAD( "901465-23.ud10", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc) ) // BASIC 4 |
| 1672 | ROM_LOAD( "901465-20.ud9", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1673 | ROM_LOAD( "901465-21.ud8", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1674 | ROM_LOAD( "901474-03.ud7", 0x5000, 0x0800, CRC(5674dd5e) SHA1(c605fa343fd77c73cbe1e0e9567e2f014f6e7e30) ) // Screen Editor (80 columns, CRTC 60Hz, Business Keyb) |
| 1675 | ROM_LOAD( "901465-22.ud6", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1676 | |
| 1677 | ROM_REGION( 0x800, "charom", 0 ) |
| 1678 | ROM_LOAD( "901447-10.ua3", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1679 | ROM_END |
| 1680 | |
| 1681 | |
| 1682 | //------------------------------------------------- |
| 1683 | // ROM( cbm8032 ) |
| 1684 | //------------------------------------------------- |
| 1685 | |
| 1686 | ROM_START( cbm8032 ) |
| 1687 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1688 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1689 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1690 | ROM_LOAD( "901465-23.ud10", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc) ) // BASIC 4 |
| 1691 | ROM_LOAD( "901465-20.ud9", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1692 | ROM_LOAD( "901465-21.ud8", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1693 | ROM_LOAD( "901474-04.ud7", 0x5000, 0x0800, CRC(abb000e7) SHA1(66887061b6c4ebef7d6efb90af9afd5e2c3b08ba) ) // Screen Editor (80 columns, CRTC 50Hz, Business Keyb) |
| 1694 | ROM_LOAD( "901465-22.ud6", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1695 | |
| 1696 | ROM_REGION( 0x800, "charom", 0 ) |
| 1697 | ROM_LOAD( "901447-10.ua3", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1698 | ROM_END |
| 1699 | |
| 1700 | #define rom_cbm8096 rom_cbm8032 |
| 1701 | |
| 1702 | |
| 1703 | //------------------------------------------------- |
| 1704 | // ROM( cbm8032_de ) |
| 1705 | //------------------------------------------------- |
| 1706 | |
| 1707 | ROM_START( cbm8032_de ) |
| 1708 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1709 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1710 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1711 | ROM_LOAD( "901465-23.ud10", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc) ) // BASIC 4 |
| 1712 | ROM_LOAD( "901465-20.ud9", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1713 | ROM_LOAD( "901465-21.ud8", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1714 | ROM_LOAD( "german.bin", 0x5000, 0x0800, CRC(1c1e597d) SHA1(7ac75ed73832847623c9f4f197fe7fb1a73bb41c) ) |
| 1715 | ROM_LOAD( "901465-22.ud6", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1716 | |
| 1717 | ROM_REGION( 0x800, "charom", 0 ) |
| 1718 | ROM_LOAD( "chargen.de", 0x0000, 0x800, CRC(3bb8cb87) SHA1(a4f0df13473d7f9cd31fd62cfcab11318e2fb1dc) ) |
| 1719 | ROM_END |
| 1720 | |
| 1721 | |
| 1722 | //------------------------------------------------- |
| 1723 | // ROM( cbm8032_se ) |
| 1724 | //------------------------------------------------- |
| 1725 | |
| 1726 | ROM_START( cbm8032_se ) |
| 1727 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1728 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1729 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1730 | ROM_LOAD( "901465-23.ud10", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc) ) // BASIC 4 |
| 1731 | ROM_LOAD( "901465-20.ud9", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1732 | ROM_LOAD( "901465-21.ud8", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1733 | ROM_LOAD( "swedish.bin", 0x5000, 0x0800, CRC(75901dd7) SHA1(2ead0d83255a344a42bb786428353ca48d446d03) ) // It had a label "8000-UD7, SCREEN-04" |
| 1734 | ROM_LOAD( "901465-22.ud6", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1735 | |
| 1736 | ROM_REGION( 0x800, "charom", 0 ) |
| 1737 | ROM_LOAD( "901447-14.ua3", 0x0000, 0x800, CRC(48c77d29) SHA1(aa7c8ff844d16ec05e2b32acc586c58d9e35388c) ) // Character Generator |
| 1738 | ROM_END |
| 1739 | |
| 1740 | |
| 1741 | //------------------------------------------------- |
| 1742 | // ROM( superpet ) |
| 1743 | //------------------------------------------------- |
| 1744 | |
| 1745 | ROM_START( superpet ) |
| 1746 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1747 | ROM_CART_LOAD( "9000", 0x0000, 0x1000, ROM_MIRROR ) |
| 1748 | ROM_CART_LOAD( "a000", 0x1000, 0x1000, ROM_MIRROR ) |
| 1749 | ROM_LOAD( "901465-23.ud10", 0x2000, 0x1000, CRC(ae3deac0) SHA1(975ee25e28ff302879424587e5fb4ba19f403adc) ) // BASIC 4 |
| 1750 | ROM_LOAD( "901465-20.ud9", 0x3000, 0x1000, CRC(0fc17b9c) SHA1(242f98298931d21eaacb55fe635e44b7fc192b0a) ) // BASIC 4 |
| 1751 | ROM_LOAD( "901465-21.ud8", 0x4000, 0x1000, CRC(36d91855) SHA1(1bb236c72c726e8fb029c68f9bfa5ee803faf0a8) ) // BASIC 4 |
| 1752 | ROM_LOAD( "901474-03.ud7", 0x5000, 0x0800, CRC(5674dd5e) SHA1(c605fa343fd77c73cbe1e0e9567e2f014f6e7e30) ) // Screen Editor (80 columns, CRTC 60Hz, Business Keyb) |
| 1753 | ROM_LOAD( "901465-22.ud6", 0x6000, 0x1000, CRC(cc5298a1) SHA1(96a0fa56e0c937da92971d9c99d504e44e898806) ) // Kernal |
| 1754 | |
| 1755 | ROM_REGION( 0x7000, M6809_TAG, 0 ) |
| 1756 | ROM_LOAD( "901898-01.u17", 0x1000, 0x1000, CRC(728a998b) SHA1(0414b3ab847c8977eb05c2fcc72efcf2f9d92871) ) |
| 1757 | ROM_LOAD( "901898-02.u18", 0x2000, 0x1000, CRC(6beb7c62) SHA1(df154939b934d0aeeb376813ec1ba0d43c2a3378) ) |
| 1758 | ROM_LOAD( "901898-03.u19", 0x3000, 0x1000, CRC(5db4983d) SHA1(6c5b0cce97068f8841112ba6d5cd8e568b562fa3) ) |
| 1759 | ROM_LOAD( "901898-04.u20", 0x4000, 0x1000, CRC(f55fc559) SHA1(b42a2050a319a1ffca7868a8d8d635fadd37ec37) ) |
| 1760 | ROM_LOAD( "901897-01.u21", 0x5000, 0x0800, CRC(b2cee903) SHA1(e8ce8347451a001214a5e71a13081b38b4be23bc) ) |
| 1761 | ROM_LOAD( "901898-05.u22", 0x6000, 0x1000, CRC(f42df0cb) SHA1(9b4a5134d20345171e7303445f87c4e0b9addc96) ) |
| 1762 | |
| 1763 | ROM_REGION( 0x800, "charom", 0 ) |
| 1764 | ROM_LOAD( "901447-10.ua3", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1765 | ROM_END |
| 1766 | |
| 1767 | #define rom_mmf9000 rom_superpet |
| 1768 | |
| 1769 | |
| 1770 | //------------------------------------------------- |
| 1771 | // ROM( cbm8296 ) |
| 1772 | //------------------------------------------------- |
| 1773 | |
| 1774 | ROM_START( cbm8296 ) |
| 1775 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1776 | ROM_LOAD( "324992-02.ue10", 0x0000, 0x1000, CRC(2bac5baf) SHA1(03aa866e4bc4e38e95983a6a82ba925e710bede8) ) // HiRes Emulator |
| 1777 | ROM_LOAD( "324993-02.ue9", 0x1000, 0x1000, CRC(57444531) SHA1(74aa39888a6bc95762de767fce883203daca0d34) ) // HiRes BASIC |
| 1778 | ROM_LOAD( "324746-01.ue7", 0x2000, 0x3000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 1779 | ROM_CONTINUE( 0x6000, 0x1000 ) |
| 1780 | ROM_LOAD( "8296.ue8", 0x5000, 0x800, CRC(a3475de6) SHA1(b715db83fd26458dfd254bef5c4aae636753f7f5) ) |
| 1781 | |
| 1782 | ROM_REGION( 0x1000, "charom", 0 ) |
| 1783 | ROM_LOAD( "901447-10.uc5", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1784 | |
| 1785 | ROM_REGION( 0x20, "prom", 0 ) |
| 1786 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 1787 | |
| 1788 | ROM_REGION( 0xf5, "pla1", 0 ) |
| 1789 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) |
| 1790 | |
| 1791 | ROM_REGION( 0xf5, "pla2", 0 ) |
| 1792 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) |
| 1793 | ROM_END |
| 1794 | |
| 1795 | |
| 1796 | //------------------------------------------------- |
| 1797 | // ROM( cbm8296d ) |
| 1798 | //------------------------------------------------- |
| 1799 | |
| 1800 | ROM_START( cbm8296d ) |
| 1801 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1802 | ROM_LOAD( "324992-02.ue10", 0x0000, 0x1000, CRC(2bac5baf) SHA1(03aa866e4bc4e38e95983a6a82ba925e710bede8) ) // HiRes Emulator |
| 1803 | ROM_LOAD( "324993-02.ue9", 0x1000, 0x1000, CRC(57444531) SHA1(74aa39888a6bc95762de767fce883203daca0d34) ) // HiRes BASIC |
| 1804 | ROM_LOAD( "324746-01.ue7", 0x2000, 0x3000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) // BASIC 4 |
| 1805 | ROM_CONTINUE( 0x6000, 0x1000 ) |
| 1806 | ROM_LOAD( "324243-01.ue8", 0x5000, 0x1000, CRC(4000e833) SHA1(dafbdf8ba0a1fe7d7b9586ffbfc9e5390c0fcf6f) ) |
| 1807 | |
| 1808 | ROM_REGION( 0x1000, "charom", 0 ) |
| 1809 | ROM_LOAD( "901447-10.uc5", 0x000, 0x800, CRC(d8408674) SHA1(0157a2d55b7ac4eaeb38475889ebeea52e2593db) ) // Character Generator |
| 1810 | |
| 1811 | ROM_REGION( 0x20, "prom", 0 ) |
| 1812 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 1813 | |
| 1814 | ROM_REGION( 0xf5, "pla1", 0 ) |
| 1815 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) |
| 1816 | |
| 1817 | ROM_REGION( 0xf5, "pla2", 0 ) |
| 1818 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) |
| 1819 | ROM_END |
| 1820 | |
| 1821 | |
| 1822 | //------------------------------------------------- |
| 1823 | // ROM( cbm8296d_de ) |
| 1824 | //------------------------------------------------- |
| 1825 | |
| 1826 | ROM_START( cbm8296d_de ) |
| 1827 | ROM_REGION( 0x7000, M6502_TAG, 0 ) |
| 1828 | ROM_LOAD( "324992-02.ue10", 0x0000, 0x1000, CRC(2bac5baf) SHA1(03aa866e4bc4e38e95983a6a82ba925e710bede8) ) // HiRes Emulator |
| 1829 | ROM_LOAD( "324993-02.ue9", 0x1000, 0x1000, CRC(57444531) SHA1(74aa39888a6bc95762de767fce883203daca0d34) ) // HiRes BASIC |
| 1830 | ROM_LOAD( "324746-01.ue7", 0x2000, 0x3000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) ) |
| 1831 | ROM_CONTINUE( 0x6000, 0x1000 ) |
| 1832 | ROM_LOAD( "324243-04.ue8", 0x5000, 0x1000, CRC(3fe48897) SHA1(c218ff3168514f1d5e7822ae1b1ac3e161523b33) ) |
| 1833 | |
| 1834 | ROM_REGION( 0x1000, "charom", 0 ) |
| 1835 | ROM_LOAD( "324242-10.uc5", 0x0000, 0x1000, CRC(a5632a0f) SHA1(9616f7f18757cccefb702a945f954b644d5b17d1) ) |
| 1836 | |
| 1837 | ROM_REGION( 0x20, "prom", 0 ) |
| 1838 | ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing |
| 1839 | |
| 1840 | ROM_REGION( 0xf5, "pla1", 0 ) |
| 1841 | ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) |
| 1842 | |
| 1843 | ROM_REGION( 0xf5, "pla2", 0 ) |
| 1844 | ROM_LOAD( "324745-01.ue5", 0x00, 0xf5, NO_DUMP ) |
| 1845 | ROM_END |
| 1846 | |
| 1847 | |
| 1848 | |
| 991 | 1849 | //************************************************************************** |
| 992 | 1850 | // SYSTEM DRIVERS |
| 993 | 1851 | //************************************************************************** |
| 994 | 1852 | |
| 995 | | // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS |
| 996 | | COMP( 1977, pet2001, 0, 0, pet2001, pet, driver_device, 0, "Commodore Business Machines", "PET 2001", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 997 | | COMP( 1979, pet2001n, pet2001, 0, pet2001n, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 998 | | COMP( 1979, pet2001b, pet2001, 0, pet2001b, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1853 | // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS |
| 1854 | COMP( 1977, pet2001, 0, 0, pet2001, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-4", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1855 | COMP( 1977, pet20018, pet2001, 0, pet20018, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1856 | COMP( 1979, pet2001n, 0, 0, pet2001n8, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1857 | COMP( 1979, pet2001n16, pet2001n, 0, pet2001n16, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N16", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1858 | COMP( 1979, pet2001n32, pet2001n, 0, pet2001n32, pet, driver_device, 0, "Commodore Business Machines", "PET 2001-N32", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1859 | COMP( 1979, cbm3008, pet2001n, 0, cbm3008, pet, driver_device, 0, "Commodore Business Machines", "CBM 3008", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1860 | COMP( 1979, cbm3016, pet2001n, 0, cbm3016, pet, driver_device, 0, "Commodore Business Machines", "CBM 3016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1861 | COMP( 1979, cbm3032, pet2001n, 0, cbm3032, pet, driver_device, 0, "Commodore Business Machines", "CBM 3032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1862 | COMP( 1979, pet2001b, 0, 0, pet2001b8, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B8", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1863 | COMP( 1979, pet2001b16, pet2001b, 0, pet2001b16, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B16", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1864 | COMP( 1979, pet2001b32, pet2001b, 0, pet2001b32, petb, driver_device, 0, "Commodore Business Machines", "PET 2001-B32", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1865 | COMP( 1979, cbm3032b, pet2001b, 0, cbm3032b, petb, driver_device, 0, "Commodore Business Machines", "CBM 3032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1866 | COMP( 1980, pet4016, 0, 0, pet4016, pet, driver_device, 0, "Commodore Business Machines", "PET 4016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1867 | COMP( 1980, pet4032, pet4016, 0, pet4032, pet, driver_device, 0, "Commodore Business Machines", "PET 4032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1868 | COMP( 1980, cbm4016, pet4016, 0, cbm4016, pet, driver_device, 0, "Commodore Business Machines", "CBM 4016", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1869 | COMP( 1980, cbm4032, pet4016, 0, cbm4032, pet, driver_device, 0, "Commodore Business Machines", "CBM 4032", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1870 | COMP( 1980, pet4032b, 0, 0, pet4032b, petb, driver_device, 0, "Commodore Business Machines", "PET 4032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1871 | COMP( 1980, cbm4032b, pet4032b, 0, cbm4032b, petb, driver_device, 0, "Commodore Business Machines", "CBM 4032B", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) |
| 1872 | COMP( 1980, pet8032, 0, 0, pet8032, petb, driver_device, 0, "Commodore Business Machines", "PET 8032", GAME_SUPPORTS_SAVE ) |
| 1873 | COMP( 1981, cbm8032, pet8032, 0, pet8032, petb, driver_device, 0, "Commodore Business Machines", "CBM 8032", GAME_SUPPORTS_SAVE ) |
| 1874 | COMP( 1981, cbm8032_de, pet8032, 0, pet8032, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8032 (Germany)", GAME_SUPPORTS_SAVE ) |
| 1875 | COMP( 1981, cbm8032_se, pet8032, 0, pet8032, petb_se, driver_device, 0, "Commodore Business Machines", "CBM 8032 (Sweden/Finland)", GAME_SUPPORTS_SAVE ) |
| 1876 | COMP( 1981, superpet, pet8032, 0, superpet, petb, driver_device, 0, "Commodore Business Machines", "SuperPET SP-9000", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1877 | COMP( 1981, mmf9000, pet8032, 0, superpet, petb, driver_device, 0, "Commodore Business Machines", "MicroMainFrame 9000", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1878 | COMP( 1981, cbm8096, pet8032, 0, cbm8096, petb, driver_device, 0, "Commodore Business Machines", "CBM 8096", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1879 | COMP( 1984, cbm8296, 0, 0, cbm8296, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1880 | COMP( 1984, cbm8296d, cbm8296, 0, cbm8296d, petb, driver_device, 0, "Commodore Business Machines", "CBM 8296D", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1881 | COMP( 1984, cbm8296d_de,cbm8296, 0, cbm8296d, petb_de, driver_device, 0, "Commodore Business Machines", "CBM 8296D (Germany)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |