Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

20 Excellent

About cdoty

  • Rank
  • Birthday 07/20/1970

Contact / Social Media

Profile Information

  • Gender
  • Location
    Houston TX, USA

Recent Profile Visitors

9,201 profile views
  1. Looking at the board here: It looks like you could just replace the 2764 eprom chip. Given that a 2764 can be problematic to program sometimes, I would recommend using a 27c256, or an eeprom equivilant, and duplicating the bios 4 times. Or if you want to make a switchable version, combined the bios files and duplicate that once.
  2. I did the reverse to the Colecovision.. To use two bioses, I just followed the instructions for a dual boot Coleco bios, but used the modified Pencil II bios as the second one. I imagine the same process would work for the Pencil II.
  3. I can look at the disassembly. A single byte would most likely be a different value loaded into a register. Changing an opcode would involve a larger change. The easiest way would be to load it into MAME with the debugger enabled, and disassemble memory at the location, at the location - 1, at the location - 2, and at the location - 3. On Mame, click on Debug->New Disassembly Window. Enter the address, in hexadecimal, into the top level box and press Enter. You will see the disassembly below. The bytes, to the right, will show you the values involved in the disassembly. If you find what looks like a valid disassembly, compare it to the other versions.
  4. I think the major difference is support for 4416 SRAM chips. Several MSX machines use it, but I'm interested in using it on the BBC Bridge Companion, which I'm working on developing for.
  5. I'm interested in a basic version.
  6. Another option is the memSIM2. It's a slight bit more expensive, but you get a case and can use it for up to 4Mbit roms: The memSIM2 is also quite a bit faster at loading files. I have both, and prefer the memSIM2. https://www.ebay.com/itm/memSIM2-EPROM-Emulator/162310534410?hash=item25ca76350a:g:IfAAAOSwMNxXVpjw
  7. Would this work with the TMS-9128/9? The pinout seems to be the same.
  8. Problem solved.. Thank you. That's all it needed was A6 and A7 split out and A7 connected. And, the pins, from the VDP to the SRAM were wired backwards, AD7 goes to A0, etc, as was the Z80 PIO. So, I wonder if the diagram uses AD0 as the MSB, like the documentation does for the registers? Edit: it is shown that way on the TMS9918 document. AD0 (MSB)..
  9. Yeah that was it. I convinced myself that it needed all address lines to set both the low and high values of the address. But, yesterday I read the sc3000.txt document which indicates it would only need 6 address lines to access 8k. The A7 pins are connected to Pin 10 (A4) on the Z80 PIO chip.
  10. It wasn't the TMS9129, I replaced it with no change. I did some testing and found out the chip is only seeing 8k, instead of 16k. It's using two 4416s, so that doesn't make a lot of sense. But, I was able to move the sprite stuff to either $3800 to $1800, etc. and it works the same regardless of the setting. Moving it to $800 overwrites the screen, so it is definitely seeing 8k. There is something about 8k or 16k memory mapping, but I can't find anything in the documentation dealing with that.
  11. I set register 1 to $82 initially, and then $E2 to turn on the screen. The sprite patterns are at $1800 and the attribute table is at $3B00, and those do work. I can also write to $800, and $1000 and see the effects on the different areas of the screen.
  12. It's writing to $0000, so the last write to that location is the final value. Yes, they are all set: ld b, 02h ; Disable external VDP, set M3 for Graphics mode 2 ld c, 0 call writeVDPReg ld b, 82h ; Enable 16K VRAM, NMI interrupt, and 16x16 sprites. Disable screen. ld c, 1 call writeVDPReg ld b, NameTable / 400h ; Set Name Table location. ld c, 2 call writeVDPReg ld b, (ColorTable / 40h) | 7Fh ; Set Color Table location. ld c, 3 call writeVDPReg ld b, (PatternTable / 800h) | 3 ; Set Pattern Table location. ld c, 4 call writeVDPReg ld b, SpriteAttributes / 80h ; Set Sprite Attribute Table location. ld c, 5 call writeVDPReg ld b, SpritePattern / 800h ; Set Sprite Pattern Table location. ld c, 6 call writeVDPReg ld b, 00h ; Set background color to black ld c, 7 call writeVDPReg writeVDPReg ors the c value with $80.
  13. I recently picked up a BBC Bridge Companion to see if I could get my code running on it. But, I'm having some issues with the TMS 9129. I am using Mode 2, and the code runs on all known TMS 99x8 based systems, but doesn't run correctly on the TMS 9129, or this particular system. The problem I am seeing is that writes to $2000-$3800 range go to $0000-$1800, but writes to $3800 work fine. I've been able to verify this by writing the color data first and then writing the pattern data. The sprites work fine, so writes to $1800 and $3800-$3C00 work fine. I've tried the exact delay they use when writing to the registers and VRAM. I've also changed the black color, as I've seen that cause problem on one system. The external VDP bit also doesn't make a difference. The code does run fine under Mame, and I've double and triple checked all of my register settings, and they are correct. The system itself only uses Mode 1 for it's software. I've tried piggybacking RAM on top of the two 4416 chips and that didn't work. I ordered a replacement TMS 9129. The existing one looks like it might have overheated at some point, and does get fairly warm in a particular spot. The system has no power switch, so it could have been left running for an extended period of time. Is there anything I'm missing, or does this sound like a damaged chip?
  14. I've been doing the same. I picked up a boxed Radio Shack one in almost new condition a few months ago. It's my go to tape player now.
  15. I have tested it on a TRS-80 CoCo 2, and it's not loud enough to work on that. But, it does seem to work well enough on ZX spectrums.
  • Create New...