• Williams System 6 eprom/ram chip address

    From infrared pinball@21:1/5 to All on Mon Nov 14 04:46:34 2022
    Hello,

    i see in Williams system 6 MPU schematics that every eprom/ram/pia on the board has one address. for example IC17 has 7800. How this address computed.

    Can anybody explain the theory about this ?

    Best regards
    Michael

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Robertson@21:1/5 to infrared pinball on Mon Nov 14 07:29:16 2022
    On 2022/11/14 4:46 a.m., infrared pinball wrote:
    Hello,

    i see in Williams system 6 MPU schematics that every eprom/ram/pia on the board has one address. for example IC17 has 7800. How this address computed.

    Can anybody explain the theory about this ?

    Best regards
    Michael


    The address given is the Start address for the memory location of the
    device. The ROM in this case uses memory space 7800h to 7FFFh with the
    'h' for Hexadecimal notation. This aids folks using tools such as the
    Fluke 9000 series of microprocessor analysis machines to do a memory
    check or an I/O check.

    To get into the background of memory maps and allocation of memory space
    is beyond what I want to type today.

    Read up on the microprocessor device used, either 6800 or 6802, and
    learn how microprocessors interact with RAM, ROM, and I/O, there are
    mamircony online courses. The normal memory space used by 8-bit
    processors is 64k, but the early games used just 32k and mirrored the
    memory table by ignoring Address 15 to save on chip count.

    Have I lost you yet?

    John :-#)#

    --
    (Please post followups or tech inquiries to the USENET newsgroup)
    John's Jukes Ltd.
    #7 - 3979 Marine Way, Burnaby, BC, Canada V5J 5E3
    (604)872-5757 (Pinballs, Jukes, Video Games)
    www.flippers.com
    "Old pinballers never die, they just flip out."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kerry Imming@21:1/5 to John Robertson on Mon Nov 14 16:19:18 2022
    On 11/14/2022 9:29 AM, John Robertson wrote:
    On 2022/11/14 4:46 a.m., infrared pinball wrote:
    Hello,

    i see in Williams system 6 MPU schematics that every eprom/ram/pia on
    the board has one address. for example IC17 has 7800. How this address
    computed.

    Can anybody explain the theory about this ?

    Best regards
    Michael


    The address given is the Start address for the memory location of the
    device. The ROM in this case uses memory space 7800h to 7FFFh with the
    'h' for Hexadecimal notation. This aids folks using tools such as the
    Fluke 9000 series of microprocessor analysis machines to do a memory
    check or an I/O check.

    To get into the background of memory maps and allocation of memory space
    is beyond what I want to type today.

    Read up on the microprocessor device used, either 6800 or 6802, and
    learn how microprocessors interact with RAM, ROM, and I/O, there are mamircony online courses. The normal memory space used by 8-bit
    processors is 64k, but the early games used just 32k and mirrored the
    memory table by ignoring Address 15 to save on chip count.

    Have I lost you yet?

    John :-#)#


    Adding a little... On my Gorgar schematics, different devices show
    different addresses. IC17 = 7800, IC20 = 7000, IC26 = 6400, etc. Are
    you using the original schematics for your game?

    Decoding of address bits A12:A9 is done by IC15, a 74LS139 decoder.
    IC15 decodes those upper address bits into chip selects for the RAMS/ROMS.

    - Kerry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?B?zpQuzpUuzqUuzpEgzpTOrs68z@21:1/5 to All on Mon Nov 14 22:20:21 2022
    Στις Τρίτη 15 Νοεμβρίου 2022 στις 12:19:27 π.μ. UTC+2, ο χρήστης Kerry Imming έγραψε:
    On 11/14/2022 9:29 AM, John Robertson wrote:
    On 2022/11/14 4:46 a.m., infrared pinball wrote:
    Hello,

    i see in Williams system 6 MPU schematics that every eprom/ram/pia on
    the board has one address. for example IC17 has 7800. How this address
    computed.

    Can anybody explain the theory about this ?

    Best regards
    Michael


    The address given is the Start address for the memory location of the device. The ROM in this case uses memory space 7800h to 7FFFh with the
    'h' for Hexadecimal notation. This aids folks using tools such as the Fluke 9000 series of microprocessor analysis machines to do a memory
    check or an I/O check.

    To get into the background of memory maps and allocation of memory space is beyond what I want to type today.

    Read up on the microprocessor device used, either 6800 or 6802, and
    learn how microprocessors interact with RAM, ROM, and I/O, there are mamircony online courses. The normal memory space used by 8-bit
    processors is 64k, but the early games used just 32k and mirrored the memory table by ignoring Address 15 to save on chip count.

    Have I lost you yet?

    John :-#)#

    Adding a little... On my Gorgar schematics, different devices show
    different addresses. IC17 = 7800, IC20 = 7000, IC26 = 6400, etc. Are
    you using the original schematics for your game?

    Decoding of address bits A12:A9 is done by IC15, a 74LS139 decoder.
    IC15 decodes those upper address bits into chip selects for the RAMS/ROMS.

    - Kerry

    Thanks all for your answers, i will try to read a 6802/08 microprocessor book to understand the theory

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From infrared pinball@21:1/5 to All on Mon Nov 14 22:46:00 2022
    Στις Τρίτη 15 Νοεμβρίου 2022 στις 12:19:27 π.μ. UTC+2, ο χρήστης Kerry Imming έγραψε:
    On 11/14/2022 9:29 AM, John Robertson wrote:
    On 2022/11/14 4:46 a.m., infrared pinball wrote:
    Hello,

    i see in Williams system 6 MPU schematics that every eprom/ram/pia on
    the board has one address. for example IC17 has 7800. How this address
    computed.

    Can anybody explain the theory about this ?

    Best regards
    Michael


    The address given is the Start address for the memory location of the device. The ROM in this case uses memory space 7800h to 7FFFh with the
    'h' for Hexadecimal notation. This aids folks using tools such as the Fluke 9000 series of microprocessor analysis machines to do a memory
    check or an I/O check.

    To get into the background of memory maps and allocation of memory space is beyond what I want to type today.

    Read up on the microprocessor device used, either 6800 or 6802, and
    learn how microprocessors interact with RAM, ROM, and I/O, there are mamircony online courses. The normal memory space used by 8-bit
    processors is 64k, but the early games used just 32k and mirrored the memory table by ignoring Address 15 to save on chip count.

    Have I lost you yet?

    John :-#)#

    Adding a little... On my Gorgar schematics, different devices show
    different addresses. IC17 = 7800, IC20 = 7000, IC26 = 6400, etc. Are
    you using the original schematics for your game?

    Decoding of address bits A12:A9 is done by IC15, a 74LS139 decoder.
    IC15 decodes those upper address bits into chip selects for the RAMS/ROMS.

    - Kerry

    Thanks all for your answers,

    the schematics of my pinball i was looking is Firepower.

    I just wonder why for example IC14 (2716) has address 6000 hex (01100000 00000000 binary) and not something else.
    If someone else creates a simple board with a processor and a 2716 he can give any address he wants
    or the address resulting from how he connects the 2 ICs. The address then is computed from the bits of A0 to A15 ?

    i will try to find a book for 6802/08 programming for better understanding

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kerry Imming@21:1/5 to infrared pinball on Tue Nov 15 08:12:12 2022
    On 11/15/2022 12:46 AM, infrared pinball wrote:
    Στις Τρίτη 15 Νοεμβρίου 2022 στις 12:19:27 π.μ. UTC+2, ο χρήστης Kerry Imming έγραψε:
    On 11/14/2022 9:29 AM, John Robertson wrote:
    On 2022/11/14 4:46 a.m., infrared pinball wrote:
    Hello,

    i see in Williams system 6 MPU schematics that every eprom/ram/pia on
    the board has one address. for example IC17 has 7800. How this address >>>> computed.

    Can anybody explain the theory about this ?

    Best regards
    Michael


    The address given is the Start address for the memory location of the
    device. The ROM in this case uses memory space 7800h to 7FFFh with the
    'h' for Hexadecimal notation. This aids folks using tools such as the
    Fluke 9000 series of microprocessor analysis machines to do a memory
    check or an I/O check.

    To get into the background of memory maps and allocation of memory space >>> is beyond what I want to type today.

    Read up on the microprocessor device used, either 6800 or 6802, and
    learn how microprocessors interact with RAM, ROM, and I/O, there are
    mamircony online courses. The normal memory space used by 8-bit
    processors is 64k, but the early games used just 32k and mirrored the
    memory table by ignoring Address 15 to save on chip count.

    Have I lost you yet?

    John :-#)#

    Adding a little... On my Gorgar schematics, different devices show
    different addresses. IC17 = 7800, IC20 = 7000, IC26 = 6400, etc. Are
    you using the original schematics for your game?

    Decoding of address bits A12:A9 is done by IC15, a 74LS139 decoder.
    IC15 decodes those upper address bits into chip selects for the RAMS/ROMS. >>
    - Kerry

    Thanks all for your answers,

    the schematics of my pinball i was looking is Firepower.

    I just wonder why for example IC14 (2716) has address 6000 hex (01100000 00000000 binary) and not something else.
    If someone else creates a simple board with a processor and a 2716 he can give any address he wants
    or the address resulting from how he connects the 2 ICs. The address then is computed from the bits of A0 to A15 ?

    i will try to find a book for 6802/08 programming for better understanding


    2716 is a 64Kbit device, 8K x 8 bits, 13 address bits
    2316 is a 16Kbit device, 2K x 8 bits, 10 address bits

    If you want more addressable bytes than that you must use multiple
    memory devices and select between devices with unused (usually upper)
    address bits.

    The 6802 processor can address 64K bytes. The choice of RAM/ROM devices
    would have been based on cost and availability. As for how the address
    range is distributed among devices and RAM/ROM, that is somewhat
    arbitrary. ROM would need to be in the upper address space since that's
    where the 6802 starts on reset. Other memory would be assigned to
    provide future expansion in ROM/RAM size.

    - Kerry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Robertson@21:1/5 to All on Tue Nov 15 16:53:25 2022
    T24gMjAyMi8xMS8xNSA2OjEyIGEubS4sIEtlcnJ5IEltbWluZyB3cm90ZToNCj4gT24gMTEv MTUvMjAyMiAxMjo0NiBBTSwgaW5mcmFyZWQgcGluYmFsbCB3cm90ZToNCj4+IM6jz4TOuc+C IM6kz4HOr8+EzrcgMTUgzp3Ov861zrzOss+Bzq/Ov8+FIDIwMjIgz4PPhM65z4IgMTI6MTk6 Mjcgz4AuzrwuIFVUQysyLCDOvyDPh8+Bzq7Pg8+EzrfPgiBLZXJyeSANCj4+IEltbWluZyDO rc6zz4HOsc+IzrU6DQo+Pj4gT24gMTEvMTQvMjAyMiA5OjI5IEFNLCBKb2huIFJvYmVydHNv biB3cm90ZToNCj4+Pj4gT24gMjAyMi8xMS8xNCA0OjQ2IGEubS4sIGluZnJhcmVkIHBpbmJh bGwgd3JvdGU6DQo+Pj4+PiBIZWxsbywNCj4+Pj4+DQo+Pj4+PiBpIHNlZSBpbiBXaWxsaWFt cyBzeXN0ZW0gNiBNUFUgc2NoZW1hdGljcyB0aGF0IGV2ZXJ5IGVwcm9tL3JhbS9waWEgb24N Cj4+Pj4+IHRoZSBib2FyZCBoYXMgb25lIGFkZHJlc3MuIGZvciBleGFtcGxlIElDMTcgaGFz IDc4MDAuIEhvdyB0aGlzIGFkZHJlc3MNCj4+Pj4+IGNvbXB1dGVkLg0KPj4+Pj4NCj4+Pj4+ IENhbiBhbnlib2R5IGV4cGxhaW4gdGhlIHRoZW9yeSBhYm91dCB0aGlzID8NCj4+Pj4+DQo+ Pj4+PiBCZXN0IHJlZ2FyZHMNCj4+Pj4+IE1pY2hhZWwNCj4+Pj4+DQo+Pj4+DQo+Pj4+IFRo ZSBhZGRyZXNzIGdpdmVuIGlzIHRoZSBTdGFydCBhZGRyZXNzIGZvciB0aGUgbWVtb3J5IGxv Y2F0aW9uIG9mIHRoZQ0KPj4+PiBkZXZpY2UuIFRoZSBST00gaW4gdGhpcyBjYXNlIHVzZXMg bWVtb3J5IHNwYWNlIDc4MDBoIHRvIDdGRkZoIHdpdGggdGhlDQo+Pj4+ICdoJyBmb3IgSGV4 YWRlY2ltYWwgbm90YXRpb24uIFRoaXMgYWlkcyBmb2xrcyB1c2luZyB0b29scyBzdWNoIGFz IHRoZQ0KPj4+PiBGbHVrZSA5MDAwIHNlcmllcyBvZiBtaWNyb3Byb2Nlc3NvciBhbmFseXNp cyBtYWNoaW5lcyB0byBkbyBhIG1lbW9yeQ0KPj4+PiBjaGVjayBvciBhbiBJL08gY2hlY2su DQo+Pj4+DQo+Pj4+IFRvIGdldCBpbnRvIHRoZSBiYWNrZ3JvdW5kIG9mIG1lbW9yeSBtYXBz IGFuZCBhbGxvY2F0aW9uIG9mIG1lbW9yeSANCj4+Pj4gc3BhY2UNCj4+Pj4gaXMgYmV5b25k IHdoYXQgSSB3YW50IHRvIHR5cGUgdG9kYXkuDQo+Pj4+DQo+Pj4+IFJlYWQgdXAgb24gdGhl IG1pY3JvcHJvY2Vzc29yIGRldmljZSB1c2VkLCBlaXRoZXIgNjgwMCBvciA2ODAyLCBhbmQN Cj4+Pj4gbGVhcm4gaG93IG1pY3JvcHJvY2Vzc29ycyBpbnRlcmFjdCB3aXRoIFJBTSwgUk9N LCBhbmQgSS9PLCB0aGVyZSBhcmUNCj4+Pj4gbWFtaXJjb255IG9ubGluZSBjb3Vyc2VzLiBU aGUgbm9ybWFsIG1lbW9yeSBzcGFjZSB1c2VkIGJ5IDgtYml0DQo+Pj4+IHByb2Nlc3NvcnMg aXMgNjRrLCBidXQgdGhlIGVhcmx5IGdhbWVzIHVzZWQganVzdCAzMmsgYW5kIG1pcnJvcmVk IHRoZQ0KPj4+PiBtZW1vcnkgdGFibGUgYnkgaWdub3JpbmcgQWRkcmVzcyAxNSB0byBzYXZl IG9uIGNoaXAgY291bnQuDQo+Pj4+DQo+Pj4+IEhhdmUgSSBsb3N0IHlvdSB5ZXQ/DQo+Pj4+ DQo+Pj4+IEpvaG4gOi0jKSMNCj4+Pj4NCj4+PiBBZGRpbmcgYSBsaXR0bGUuLi4gT24gbXkg R29yZ2FyIHNjaGVtYXRpY3MsIGRpZmZlcmVudCBkZXZpY2VzIHNob3cNCj4+PiBkaWZmZXJl bnQgYWRkcmVzc2VzLiBJQzE3ID0gNzgwMCwgSUMyMCA9IDcwMDAsIElDMjYgPSA2NDAwLCBl dGMuIEFyZQ0KPj4+IHlvdSB1c2luZyB0aGUgb3JpZ2luYWwgc2NoZW1hdGljcyBmb3IgeW91 ciBnYW1lPw0KPj4+DQo+Pj4gRGVjb2Rpbmcgb2YgYWRkcmVzcyBiaXRzIEExMjpBOSBpcyBk b25lIGJ5IElDMTUsIGEgNzRMUzEzOSBkZWNvZGVyLg0KPj4+IElDMTUgZGVjb2RlcyB0aG9z ZSB1cHBlciBhZGRyZXNzIGJpdHMgaW50byBjaGlwIHNlbGVjdHMgZm9yIHRoZSANCj4+PiBS QU1TL1JPTVMuDQo+Pj4NCj4+PiAtIEtlcnJ5DQo+Pg0KPj4gVGhhbmtzIGFsbCBmb3IgeW91 ciBhbnN3ZXJzLA0KPj4NCj4+IHRoZSBzY2hlbWF0aWNzIG9mIG15IHBpbmJhbGwgaSB3YXMg bG9va2luZyBpcyBGaXJlcG93ZXIuDQo+Pg0KPj4gSSBqdXN0IHdvbmRlciB3aHkgZm9yIGV4 YW1wbGUgSUMxNCAoMjcxNikgaGFzIGFkZHJlc3MgNjAwMCBoZXggDQo+PiAoMDExMDAwMDAg MDAwMDAwMDAgYmluYXJ5KSBhbmQgbm90IHNvbWV0aGluZyBlbHNlLg0KPj4gSWYgc29tZW9u ZSBlbHNlIGNyZWF0ZXMgYSBzaW1wbGUgYm9hcmQgd2l0aCBhIHByb2Nlc3NvciBhbmQgYSAy NzE2IGhlIA0KPj4gY2FuIGdpdmUgYW55IGFkZHJlc3MgaGUgd2FudHMNCj4+IG9yIHRoZSBh ZGRyZXNzIHJlc3VsdGluZyBmcm9tIGhvdyBoZSBjb25uZWN0cyB0aGUgMiBJQ3MuIFRoZSBh ZGRyZXNzIA0KPj4gdGhlbiBpcyBjb21wdXRlZCBmcm9tIHRoZSBiaXRzIG9mIEEwIHRvIEEx NSA/DQo+Pg0KPj4gaSB3aWxsIHRyeSB0byBmaW5kIGEgYm9vayBmb3IgNjgwMi8wOCBwcm9n cmFtbWluZyBmb3IgYmV0dGVyIA0KPj4gdW5kZXJzdGFuZGluZw0KPj4NCj4gDQo+IDI3MTYg aXMgYSA2NEtiaXQgZGV2aWNlLCA4SyB4IDggYml0cywgMTMgYWRkcmVzcyBiaXRzDQo+IDIz MTYgaXMgYSAxNktiaXQgZGV2aWNlLCAySyB4IDggYml0cywgMTAgYWRkcmVzcyBiaXRzDQo+ IA0KPiBJZiB5b3Ugd2FudCBtb3JlIGFkZHJlc3NhYmxlIGJ5dGVzIHRoYW4gdGhhdCB5b3Ug bXVzdCB1c2UgbXVsdGlwbGUgDQo+IG1lbW9yeSBkZXZpY2VzIGFuZCBzZWxlY3QgYmV0d2Vl biBkZXZpY2VzIHdpdGggdW51c2VkICh1c3VhbGx5IHVwcGVyKSANCj4gYWRkcmVzcyBiaXRz Lg0KPiANCj4gVGhlIDY4MDIgcHJvY2Vzc29yIGNhbiBhZGRyZXNzIDY0SyBieXRlcy7CoCBU aGUgY2hvaWNlIG9mIFJBTS9ST00gZGV2aWNlcyANCj4gd291bGQgaGF2ZSBiZWVuIGJhc2Vk IG9uIGNvc3QgYW5kIGF2YWlsYWJpbGl0eS7CoCBBcyBmb3IgaG93IHRoZSBhZGRyZXNzIA0K PiByYW5nZSBpcyBkaXN0cmlidXRlZCBhbW9uZyBkZXZpY2VzIGFuZCBSQU0vUk9NLCB0aGF0 IGlzIHNvbWV3aGF0IA0KPiBhcmJpdHJhcnkuwqAgUk9NIHdvdWxkIG5lZWQgdG8gYmUgaW4g dGhlIHVwcGVyIGFkZHJlc3Mgc3BhY2Ugc2luY2UgdGhhdCdzIA0KPiB3aGVyZSB0aGUgNjgw MiBzdGFydHMgb24gcmVzZXQuwqAgT3RoZXIgbWVtb3J5IHdvdWxkIGJlIGFzc2lnbmVkIHRv IA0KPiBwcm92aWRlIGZ1dHVyZSBleHBhbnNpb24gaW4gUk9NL1JBTSBzaXplLg0KPiANCj4g LSBLZXJyeQ0KDQpUaGUgYWR2aWNlIGZvciB0aGUgMjcxNiBhbmQgMjMxNiBhYm92ZSBpcyBp bmNvcnJlY3QuIChzb3JyeSBLZXJyeSAtIHlvdSANCmRvbid0IG1ha2UgbWFueSBtaXN0YWtl cyEpDQoNClRoZXkgYXJlIHRoZSBzYW1lIHNpemUgMksgeCA4IG9yIDJLIG9mIHJhbS4gVGhl IDI3MTYgaXMgYW4gRVBST00sIGFuZCANCnRoZSAyMzE2IGlzIGEgTWFza2VkIFJPTS4gVGhl IDIzMTYgdXNlZCBpbiBXaWxsaWFtcyBnYW1lcyB1c2VzIC9DRSBhbmQgDQovT0UgdGhlIHNh bWUgYXMgYSAyNzE2LiBCYWxseSBnYW1lcyB3ZXJlIG5vdCBhbHdheXMgdGhlIHNhbWUgc2Vs ZWN0IGxvZ2ljLg0KDQpUaGUgbWVtb3J5IHNwYWNlIGZvciB0aGUgUk9NcyBpcyBkZWZpbmVk IGJ5IHRoZSBDUFUncyBSRVNFVCBhbmQgTk1JIA0KbG9jYXRpb25zIC0gZGlmZmVyZW50IE1Q VXMgbG9vayBhdCBkaWZmZXJlbnQgbWVtb3J5IGxvY2F0aW9ucyBmb3IgdGhlIA0KUkFNIGFu ZCB0aGUgUk9NLiBBcyBJIHJlY2FsbCB0aGUgNjhYWCBzZXJpZXMgbG9va3MgZm9yIHRoZSBS RVNFVCB2ZWN0b3IgDQpzb21ld2hlcmUgYXJvdW5kIEZGRkUgYW5kIEZGRkYgKHR3byBieXRl cyB0byBkZWNvZGUgdGhlIG1lbW9yeSBsb2NhdGlvbiANCmluIGEgMTYgYml0IG1lbW9yeSBz cGFjZSAtIDY0Sy4gU28gYXQgbGVhc3Qgb25lIFJPTSBtdXN0IGhhdmUgYSBsb2NhdGlvbiAN CmF0IHRoZSAndG9wJyBvZiB0aGUgTWVtb3J5IHNwYWNlIHNvIHRoZSBDUFUgY2FuIGZpbmQg dGhlIFJlc2V0Lg0KDQpSQU0gZm9yIHRoZSA2OHh4IHN0YXJ0cyBhdCAwMDAwaCwgc28gc29t ZSBSQU0gbXVzdCBiZSBmb3VuZCB0aGVyZSBmb3IgDQp0aGUgQ1BVIHRvIGhhdmUgc2NyYXRj aHBhZCBSQU0gYXZhaWxhYmxlLiBBZnRlciB0aGF0IHlvdSBjYW4gbG9jYXRlIHRoZSANClJB TS9ST00gYW55d2hlcmUgeW91IGxpa2UsIGNvbnZlbnRpb24gaGFzIHRoZSBSQU0gYXQgdGhl IGxvdyBlbmQsIGFuZCANCnRoZSBST00gYXQgdGhlIGhpZ2ggZW5kLCB0aGVuIEkvTyBhbmQg YW55dGhpbmcgZWxzZSBpcyBpbiB0aGUgc3BhY2Ugbm90IA0Kb2NjdXBpZWQgYnkgUkFNIG9y IFJPTS4NCg0KSm9obiA6LSMpIw0KLS0gDQooUGxlYXNlIHBvc3QgZm9sbG93dXBzIG9yIHRl Y2ggaW5xdWlyaWVzIHRvIHRoZSBVU0VORVQgbmV3c2dyb3VwKQ0KICAgICAgICAgICAgICAg ICAgICAgIEpvaG4ncyBKdWtlcyBMdGQuDQogICAgICAgICM3IC0gMzk3OSBNYXJpbmUgV2F5 LCBCdXJuYWJ5LCBCQywgQ2FuYWRhIFY1SiA1RTMNCiAgICAgICAgICAoNjA0KTg3Mi01NzU3 IChQaW5iYWxscywgSnVrZXMsIFZpZGVvIEdhbWVzKQ0KICAgICAgICAgICAgICAgICAgICAg IHd3dy5mbGlwcGVycy5jb20NCiAgICAgICAgIk9sZCBwaW5iYWxsZXJzIG5ldmVyIGRpZSwg dGhleSBqdXN0IGZsaXAgb3V0LiINCg0K

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From seymour.shabow@21:1/5 to John Robertson on Wed Nov 16 09:33:38 2022
    John Robertson wrote:

    The memory space for the ROMs is defined by the CPU's RESET and NMI
    locations - different MPUs look at different memory locations for the
    RAM and the ROM. As I recall the 68XX series looks for the RESET vector somewhere around FFFE and FFFF (two bytes to decode the memory location
    in a 16 bit memory space - 64K. So at least one ROM must have a location
    at the 'top' of the Memory space so the CPU can find the Reset.


    The processor doesn't know/care what address ends up at the reset/other
    vectors at $FFF8-$FFFF (reset is FFFE-FFFF). The chipset in system 6
    lives at $6000-$7FFF in the code itself. Because of the chip selection
    it gets repeated up to $FFFF (and likely one intermediate location as
    well, where the address bits used to select it also select that location
    if requested).

    System 7 moved the romspace to the 'real' location its romspace is
    $D000-$FFFF.

    RAM for the 68xx starts at 0000h, so some RAM must be found there for
    the CPU to have scratchpad RAM available. After that you can locate the RAM/ROM anywhere you like, convention has the RAM at the low end, and
    the ROM at the high end, then I/O and anything else is in the space not occupied by RAM or ROM.


    The Ram can live anywhere in memory as well. It does not have to be in
    zero page $00-$FF. There is nothing in the processor startup that
    requires ram there. Most people designing systems put ram there as
    there are shorter (i.e. more efficient) instructions to take advantage
    of it, and most software does use page 0 for scratchpad use, but it's
    not required there.

    You are likely thinking of the 6502 that MUST have some ram in page 1
    $100-$1FF as the stack hi byte is hardcoded to page 1. (System 80's
    stack ends up in $100-$17F, so you don't need the entire page populated
    with ram) Additionally, it's really useful on the 6502 to have zero
    page ram as so many instructions assume zero page access.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Robertson@21:1/5 to All on Wed Nov 16 07:36:54 2022
    T24gMjAyMi8xMS8xNiA2OjMzIGEubS4sIHNleW1vdXIuc2hhYm93IHdyb3RlOg0KPiBKb2hu IFJvYmVydHNvbiB3cm90ZToNCj4+DQo+PiBUaGUgbWVtb3J5IHNwYWNlIGZvciB0aGUgUk9N cyBpcyBkZWZpbmVkIGJ5IHRoZSBDUFUncyBSRVNFVCBhbmQgTk1JIA0KPj4gbG9jYXRpb25z IC0gZGlmZmVyZW50IE1QVXMgbG9vayBhdCBkaWZmZXJlbnQgbWVtb3J5IGxvY2F0aW9ucyBm b3IgdGhlIA0KPj4gUkFNIGFuZCB0aGUgUk9NLiBBcyBJIHJlY2FsbCB0aGUgNjhYWCBzZXJp ZXMgbG9va3MgZm9yIHRoZSBSRVNFVCANCj4+IHZlY3RvciBzb21ld2hlcmUgYXJvdW5kIEZG RkUgYW5kIEZGRkYgKHR3byBieXRlcyB0byBkZWNvZGUgdGhlIG1lbW9yeSANCj4+IGxvY2F0 aW9uIGluIGEgMTYgYml0IG1lbW9yeSBzcGFjZSAtIDY0Sy4gU28gYXQgbGVhc3Qgb25lIFJP TSBtdXN0IGhhdmUgDQo+PiBhIGxvY2F0aW9uIGF0IHRoZSAndG9wJyBvZiB0aGUgTWVtb3J5 IHNwYWNlIHNvIHRoZSBDUFUgY2FuIGZpbmQgdGhlIA0KPj4gUmVzZXQuDQo+Pg0KPiANCj4g VGhlIHByb2Nlc3NvciBkb2Vzbid0IGtub3cvY2FyZSB3aGF0IGFkZHJlc3MgZW5kcyB1cCBh dCB0aGUgcmVzZXQvb3RoZXIgDQo+IHZlY3RvcnMgYXQgJEZGRjgtJEZGRkYgKHJlc2V0IGlz IEZGRkUtRkZGRikuwqAgVGhlIGNoaXBzZXQgaW4gc3lzdGVtIDYgDQo+IGxpdmVzIGF0ICQ2 MDAwLSQ3RkZGIGluIHRoZSBjb2RlIGl0c2VsZi7CoCBCZWNhdXNlIG9mIHRoZSBjaGlwIHNl bGVjdGlvbiANCj4gaXQgZ2V0cyByZXBlYXRlZCB1cCB0byAkRkZGRiAoYW5kIGxpa2VseSBv bmUgaW50ZXJtZWRpYXRlIGxvY2F0aW9uIGFzIA0KPiB3ZWxsLCB3aGVyZSB0aGUgYWRkcmVz cyBiaXRzIHVzZWQgdG8gc2VsZWN0IGl0IGFsc28gc2VsZWN0IHRoYXQgbG9jYXRpb24gDQo+ IGlmIHJlcXVlc3RlZCkuDQo+IA0KPiBTeXN0ZW0gNyBtb3ZlZCB0aGUgcm9tc3BhY2UgdG8g dGhlICdyZWFsJyBsb2NhdGlvbiBpdHMgcm9tc3BhY2UgaXMgDQo+ICREMDAwLSRGRkZGLg0K PiANCg0KQWdyZWVkIGl0IGRpZG4ndCBjYXJlIHdoYXQgaGFwcGVuZWQgb3V0c2lkZSBvZiB0 aGUgdmVjdG9ycywgYnV0IGFzIHlvdSANCmhhZCB0byBoYXZlIG1lbW9yeSB0aGVyZSBpdCB3 YXMgZWFzaWVyIHRvIGp1c3Qgc3R1ZmYgYWxsIHRoZSBST00gDQphZGRyZXNzaW5nIGluIHRo ZSBzYW1lIGFyZWEgdG8gc2F2ZSBvbiBjaGlwIHNlbGVjdHMuDQoNClN5c3RlbSAzLTYgZGlk bid0IHVzZSBBMTUgc28gdGhlIFJPTSB3YXMgbWlycm9yZWQgdG8gL0ExNS4gSSBhc3N1bWUg dGhleSANCndlcmUgc2F2aW5nIGEgZmV3IHBlbm5pZXMgZm9yIElDcyBhbmQgY29wcGVyIG9u IHRoZSBQQ0IgdHJhY2VzLg0KDQo+PiBSQU0gZm9yIHRoZSA2OHh4IHN0YXJ0cyBhdCAwMDAw aCwgc28gc29tZSBSQU0gbXVzdCBiZSBmb3VuZCB0aGVyZSBmb3IgDQo+PiB0aGUgQ1BVIHRv IGhhdmUgc2NyYXRjaHBhZCBSQU0gYXZhaWxhYmxlLiBBZnRlciB0aGF0IHlvdSBjYW4gbG9j YXRlIA0KPj4gdGhlIFJBTS9ST00gYW55d2hlcmUgeW91IGxpa2UsIGNvbnZlbnRpb24gaGFz IHRoZSBSQU0gYXQgdGhlIGxvdyBlbmQsIA0KPj4gYW5kIHRoZSBST00gYXQgdGhlIGhpZ2gg ZW5kLCB0aGVuIEkvTyBhbmQgYW55dGhpbmcgZWxzZSBpcyBpbiB0aGUgDQo+PiBzcGFjZSBu b3Qgb2NjdXBpZWQgYnkgUkFNIG9yIFJPTS4NCj4gDQo+IFRoZSBSYW0gY2FuIGxpdmUgYW55 d2hlcmUgaW4gbWVtb3J5IGFzIHdlbGwuwqAgSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBpbiAN Cj4gemVybyBwYWdlICQwMC0kRkYuwqAgVGhlcmUgaXMgbm90aGluZyBpbiB0aGUgcHJvY2Vz c29yIHN0YXJ0dXAgdGhhdCANCj4gcmVxdWlyZXMgcmFtIHRoZXJlLsKgIE1vc3QgcGVvcGxl IGRlc2lnbmluZyBzeXN0ZW1zIHB1dCByYW0gdGhlcmUgYXMgDQo+IHRoZXJlIGFyZSBzaG9y dGVyIChpLmUuIG1vcmUgZWZmaWNpZW50KSBpbnN0cnVjdGlvbnMgdG8gdGFrZSBhZHZhbnRh Z2UgDQo+IG9mIGl0LCBhbmQgbW9zdCBzb2Z0d2FyZSBkb2VzIHVzZSBwYWdlIDAgZm9yIHNj cmF0Y2hwYWQgdXNlLCBidXQgaXQncyANCj4gbm90IHJlcXVpcmVkIHRoZXJlLg0KPiANCj4g WW91IGFyZSBsaWtlbHkgdGhpbmtpbmcgb2YgdGhlIDY1MDIgdGhhdCBNVVNUIGhhdmUgc29t ZSByYW0gaW4gcGFnZSAxIA0KPiAkMTAwLSQxRkYgYXMgdGhlIHN0YWNrIGhpIGJ5dGUgaXMg aGFyZGNvZGVkIHRvIHBhZ2UgMS7CoCAoU3lzdGVtIDgwJ3MgDQo+IHN0YWNrIGVuZHMgdXAg aW4gJDEwMC0kMTdGLCBzbyB5b3UgZG9uJ3QgbmVlZCB0aGUgZW50aXJlIHBhZ2UgcG9wdWxh dGVkIA0KPiB3aXRoIHJhbSnCoCBBZGRpdGlvbmFsbHksIGl0J3MgcmVhbGx5IHVzZWZ1bCBv biB0aGUgNjUwMiB0byBoYXZlIHplcm8gDQo+IHBhZ2UgcmFtIGFzIHNvIG1hbnkgaW5zdHJ1 Y3Rpb25zIGFzc3VtZSB6ZXJvIHBhZ2UgYWNjZXNzLg0KDQpZZXMsIDY1MDIsIHRoZSBjbG9u ZSBvZiB0aGUgNjgwMC4uLm9wcHMhDQoNCkEgYmVnaW5uZXJzIGd1aWRlIHRvIHRoZSBXaWxs aWFtcyA2OHh4IGFkZHJlc3NpbmcgaXMgYWJ1aWxkaW5nLi4uDQoNClNoYWxsIHdlIGdvIHRv IHRoZSBJL08gbmV4dD8gQWx0aG91Z2ggSSB0aGlua2luZyBCbGFua2luZyBpcyBpbnRlcmVz dGluZy4NCg0KSm9obiA6LSMpIw0KDQotLSANCihQbGVhc2UgcG9zdCBmb2xsb3d1cHMgb3Ig dGVjaCBpbnF1aXJpZXMgdG8gdGhlIFVTRU5FVCBuZXdzZ3JvdXApDQogICAgICAgICAgICAg ICAgICAgICAgSm9obidzIEp1a2VzIEx0ZC4NCiAgICAgICAgIzcgLSAzOTc5IE1hcmluZSBX YXksIEJ1cm5hYnksIEJDLCBDYW5hZGEgVjVKIDVFMw0KICAgICAgICAgICg2MDQpODcyLTU3 NTcgKFBpbmJhbGxzLCBKdWtlcywgVmlkZW8gR2FtZXMpDQogICAgICAgICAgICAgICAgICAg ICAgd3d3LmZsaXBwZXJzLmNvbQ0KICAgICAgICAiT2xkIHBpbmJhbGxlcnMgbmV2ZXIgZGll LCB0aGV5IGp1c3QgZmxpcCBvdXQuIg0KDQo=

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kerry Imming@21:1/5 to John Robertson on Thu Nov 17 11:19:56 2022
    On 11/15/2022 6:53 PM, John Robertson wrote:
    On 2022/11/15 6:12 a.m., Kerry Imming wrote:
    On 11/15/2022 12:46 AM, infrared pinball wrote:
    Στις Τρίτη 15 Νοεμβρίου 2022 στις 12:19:27 π.μ. UTC+2, ο χρήστης
    Kerry Imming έγραψε:
    On 11/14/2022 9:29 AM, John Robertson wrote:
    On 2022/11/14 4:46 a.m., infrared pinball wrote:
    Hello,

    i see in Williams system 6 MPU schematics that every eprom/ram/pia on >>>>>> the board has one address. for example IC17 has 7800. How this
    address
    computed.

    Can anybody explain the theory about this ?

    Best regards
    Michael


    The address given is the Start address for the memory location of the >>>>> device. The ROM in this case uses memory space 7800h to 7FFFh with the >>>>> 'h' for Hexadecimal notation. This aids folks using tools such as the >>>>> Fluke 9000 series of microprocessor analysis machines to do a memory >>>>> check or an I/O check.

    To get into the background of memory maps and allocation of memory
    space
    is beyond what I want to type today.

    Read up on the microprocessor device used, either 6800 or 6802, and
    learn how microprocessors interact with RAM, ROM, and I/O, there are >>>>> mamircony online courses. The normal memory space used by 8-bit
    processors is 64k, but the early games used just 32k and mirrored the >>>>> memory table by ignoring Address 15 to save on chip count.

    Have I lost you yet?

    John :-#)#

    Adding a little... On my Gorgar schematics, different devices show
    different addresses. IC17 = 7800, IC20 = 7000, IC26 = 6400, etc. Are
    you using the original schematics for your game?

    Decoding of address bits A12:A9 is done by IC15, a 74LS139 decoder.
    IC15 decodes those upper address bits into chip selects for the
    RAMS/ROMS.

    - Kerry

    Thanks all for your answers,

    the schematics of my pinball i was looking is Firepower.

    I just wonder why for example IC14 (2716) has address 6000 hex
    (01100000 00000000 binary) and not something else.
    If someone else creates a simple board with a processor and a 2716 he
    can give any address he wants
    or the address resulting from how he connects the 2 ICs. The address
    then is computed from the bits of A0 to A15 ?

    i will try to find a book for 6802/08 programming for better
    understanding


    2716 is a 64Kbit device, 8K x 8 bits, 13 address bits
    2316 is a 16Kbit device, 2K x 8 bits, 10 address bits

    If you want more addressable bytes than that you must use multiple
    memory devices and select between devices with unused (usually upper)
    address bits.

    The 6802 processor can address 64K bytes.  The choice of RAM/ROM
    devices would have been based on cost and availability.  As for how
    the address range is distributed among devices and RAM/ROM, that is
    somewhat arbitrary.  ROM would need to be in the upper address space
    since that's where the 6802 starts on reset.  Other memory would be
    assigned to provide future expansion in ROM/RAM size.

    - Kerry

    The advice for the 2716 and 2316 above is incorrect. (sorry Kerry - you
    don't make many mistakes!)

    They are the same size 2K x 8 or 2K of ram. The 2716 is an EPROM, and
    the 2316 is a Masked ROM. The 2316 used in Williams games uses /CE and
    /OE the same as a 2716. Bally games were not always the same select logic.

    The memory space for the ROMs is defined by the CPU's RESET and NMI
    locations - different MPUs look at different memory locations for the
    RAM and the ROM. As I recall the 68XX series looks for the RESET vector somewhere around FFFE and FFFF (two bytes to decode the memory location
    in a 16 bit memory space - 64K. So at least one ROM must have a location
    at the 'top' of the Memory space so the CPU can find the Reset.

    RAM for the 68xx starts at 0000h, so some RAM must be found there for
    the CPU to have scratchpad RAM available. After that you can locate the RAM/ROM anywhere you like, convention has the RAM at the low end, and
    the ROM at the high end, then I/O and anything else is in the space not occupied by RAM or ROM.

    John :-#)#

    The advice for the 2716 and 2316 above is incorrect.
    UGGHHH... you're right. I'm not sure what I got when I searched for
    "2716 datasheet". Thanks for catching that.

    - Kerry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)