|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
Author | Message |
---|---|
|
SG-1000 has 1KB of RAM, not 2KB
Posted: Sat Jan 12, 2013 5:26 pm
|
Hi All
We've discussed before whether the SG-1000 has 1KB of RAM on board or 2KB of RAM on board. The most recent discussion I can recall was in this thread http://www.smspower.org/forums/viewtopic.php?t=13579 (The SG-1000 memory discussion starts about 2/3 of the way through the thread so scroll down) I finally wrote a little test program and tried it on my SG-1000 II. I can confirm my SG-1000 II (with a Toshiba TMM2009AP) has only 1KB of RAM, NOT 2KB. My SC-3000 has 2KB of RAM on-board, as expected. See attached test binary if anyone wants to confirm for themselves. The main program code follows below. It is a very simple routine that writes $16 to $C000, then writes the complement of that to $C400. If there is only 1KB of RAM, then the RAM mirroring will overwrite the byte at $C000. The process is then repeated with $C000 and $C800 to check for 2KB of RAM or greater. Cheers ld hl,$C000 ; check read / write to C000
; write $16 to C000 ld a,$16 ; = 00010110 binary ld (hl),a ld h,$C4 ; point hl to C400 - ie. just past end of first 1KB of onboard RAM ; this will be mirrored if only 1KB of RAM cpl ; generate complement of $16 and write to C400 ld (hl),a ; write the complement of $16 to C400 ld h,$C0 ; restore hl back to C000 ld a,(hl) ; read value at C000 back cp $16 ; is it still 16 jr nz,+ ; if not, then memory must be mirrored so only 1KB on board jr ++ +: ld hl, RAMSizeIs1KB call write_text halt ++: ; Do it again, but this time check for 2KB vs larger than 2KB ld hl,$C000 ; check read / write to C000 ; write $16 to C000 ld a,$16 ; = 00010110 binary ld (hl),a ld h,$C8 ; point hl to C800 - ie. just past end of first 2KB of onboard RAM ; this will be mirrored if only 2KB of RAM cpl ; generate complement of $16 and write to C800 ld (hl),a ; write the complement of $16 to C800 ld h,$C0 ; restore hl back to C000 ld a,(hl) ; read value at C000 back cp $16 ; is it still 16 jr nz,+ ; if not, then memory must be mirrored so only 2KB on board ; otherwise, we have more than 2KB on board ld hl, RAMSizeIsLargerThan2KB call write_text halt +: ld hl, RAMSizeIs2KB call write_text halt |
|
|
Posted: Mon Jan 14, 2013 5:54 pm |
Yes I tried to implement this in S8DS a while ago and all the SG-1000 games I tested work with just 1kB RAM. | |
|
Posted: Sat Feb 02, 2013 4:32 pm |
Q*Bert seems to require 2 KB which also suggest that the Othello Multivision has least that. | |
|
Posted: Sun Feb 03, 2013 11:23 pm |
I have checked all other OMV game code, all games uses 1 KB of RAM apart from Q*Bert and the Othello Multivision ROM which uses 2 KB suggesting that the hardware itself has 2 KB. | |
|
Posted: Mon Feb 04, 2013 12:24 am |
Can you make a picture of the guts of an OMV? | |
|
Posted: Fri Dec 27, 2013 6:06 pm |
I just noticed this thread and after fixing this, it appeared that the Korean version of "Circus Charlie" also needs 2KB of RAM at $c000-$ffff (hangs on black screen if only 1KB is mapped/mirrored). Maybe the Korean SG-1000 had additional RAM too ? As for Q-Bert, from what I tested, it seems to boot fine with only 1KB (mirrored), even if it indeed access RAM at $c7xx. |
|
|
Posted: Fri Dec 27, 2013 9:32 pm |
Eke: Korea didn't have the SG-1000 series so they played those games on a Korean Mark III or SMS which has the full 8 KB. | |
|
Posted: Thu Jan 30, 2014 7:35 pm |
Indeed, you are probably right.
On the same subject, while looking for more infos on the various SG-1000 models, I noticed there was this thread: http://www.smspower.org/forums/viewtopic.php?p=76422 linking to this SG-1000 II model TMM2116AP-15 is a 2KB Static RAM according to this (old) datasheet http://www.datasheetarchive.com/dlmain/Datasheets-X2/DSA627000271.pdf (it's for TMM2016 but the 2116 version is likely similar) http://www.radiomuseum.org/tubes/tube_tmm2116.html So I guess there are some later models of SG-1000 II (those with the Sega integrated chip) with 2KB RAM |
|
|
Posted: Fri Sep 01, 2023 4:47 pm |
I was looking at this schematic https://www.smspower.org/forums/files/esquema_sega_mark_ii1_159.png (posted here https://www.smspower.org/forums/15878) And counted 11 address lines for the TMM2116AP-10 RAM chip which would suggest 2 KB RAM, so this is indeed confusing. My guess was the 2 KB RAM help matching SC-3000 to run SK-1100 based BASIC software? but it would be bizarre if there was 2 models of SG-1000 II and this wasn't documented in SK-1100 Basic software. That or the Home Basic and B-21 BASIC cartridges can run on both 1 KB and 2 KB setups. Theory 1 I would be surprised if Sega increased the RAM from 1 KB to 2 KB... rather maybe they decreased it in later production run thinking it wouldn't matter as few people used SK-1100 + Basic and wouldn't notice? As the games didn't use that extra RAM. Theory 2 RAM got cheaper and they got hold of 2 KB chips. Used those. Could have wired the 11th address line or not wired it at all? Honestbob would you be able to more tests? |
|
|
Posted: Fri Sep 01, 2023 5:52 pm |
I have an SG-1000 II (with TMS9918) which has a TMM2116AP-15 SRAM chip. Line A10 looks not connected to this chip. I need to investigate. |
|
|
Posted: Fri Sep 01, 2023 6:12 pm |
Confirmed. This chip is 2048 bytes. TMM2016AP/2116AP is used in C64 1541 II disk drive (see the attachment for the pins). In my board the SRAM address line A10 (pin 19) is tied to GND (so, not used). |
|
|
Posted: Fri Sep 01, 2023 6:21 pm |
For the most part RAMs always have a capacity that's 4^n bits.
That Sega managed to special-order a 1KiB RAM (TMM2009), or that N managed to special order a 4KiB RAM in their Vs. System arcades (TC5533) seem to be very rare exceptions. |
|
|
Posted: Fri Sep 01, 2023 9:48 pm |
Would be good to inspect all the chip YYWW dates on each sighting so we can figure out if 2 KB chip version came later or earlier. | |
|
Posted: Sat Sep 02, 2023 5:03 am |
The standard 74LSxx are 8522. The SRAM is 8450. |
|
|
Posted: Sat Sep 02, 2023 5:53 am |
Hi. Who's in charge do modify this? https://www.smspower.org/Development/CartridgeSlot Probably the SG-1000 II column should be splitter in two versions: the TMS9918 one and the integrated chips one. Mine (TMS), for example has the /M1 and /RFSH pins as the SG-1000 (Mark I). |
|
|
Posted: Sat Sep 02, 2023 7:19 am |
You should be able to edit the page. | |
|
Posted: Sat Sep 02, 2023 9:45 am |
(1) This flyer (attached) refers to the system as 1 KB.
(2) This page says 1 KB: https://www.sega.jp/fb/segahard/sg1000_2/data.html (3) I looked at a SG-1000 II manual which curiously has specs in the back but main RAM is not listed! Quoting: " CPU: Z-80A (4MHz) Memory: ROM: 8-48 KB (Option) Memory: RAM: for Graphics: V-RAM 16 KB " (4) The notorious mistake is in the 2001 "Sega Consumer History" book, which has multiple mistakes: (Page 28) SG-1000: RAM 8 Kbit (1 KB), VRAM 16 KBit (2 KB) First mistake: someone probably assumed VRAM 16 KB was "too much" and attempted to "correct it" into Kbit and made a mistake. (Page 32) SG-1000 II : RAM 16 Kbit (2 KB), VRAM 16 KBit (2 KB) Here doubled the amount of RAM from first SG-1000, and kept the same error for VRAM. I do find the lack of RAM mention in the manual (3) particularly surprising. Maybe they felt it was too low compared to other systems and wanted to hide it a little. Maybe the SG-1000 II was originally designed with 2 KB in mind but they changed their mind or had technical issues late in the process and needed to ensure the line was disconnected to avoid issue in future revisions? Maybe they had too many spare parts originally ordered for SC-3000 (or for earlier design of SG-1000 II) and just used those chips? Either way it's safe to assume the system is 1 KB from user's point of view. |
|
|
Posted: Sat Sep 02, 2023 1:37 pm |
Ok. Thanks. |
|
|
Posted: Sat Sep 02, 2023 1:43 pm |
Maybe they had stock of 2KB chips from Mark III and they decided to use it forcing it to 1KB for compatibility reasons. Who knows. For sure my SG-1000 II has the same cartridge pinout of the first SG-1000 (/M1 and /RFSH pins included). |
|