Image Map Image Map
Results 1 to 6 of 6

Thread: Using MDA SRAM Memory as General Purpose: Safe?

  1. #1
    Join Date
    Sep 2011
    Location
    Michigan, USA
    Posts
    158

    Default Using MDA SRAM Memory as General Purpose: Safe?

    Hi, I am working on a hardware level programming project (No BIOS) with a 5150 Motherboard and I've noticed the 4KB of memory on the MDA card that starts at B000:0000 is SRAM. It would be convenient for me to use a portion of this memory for general purpose storage to avoid the complexities of coding a RAM refresh. I know that the memory is normally used in byte pairs: Character and Attribute. I'm wondering if anyone has an idea of potential problems or damage writing the full range of bytes (0-255) to both these locations? I realize that jibberish would start showing up the screen... which actually might be kind of cool. LOL. Thanks! Michael

  2. #2
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    24,570
    Blog Entries
    20

    Default

    Sure, why not? It's probably going to be slower than planar memory, however.

  3. #3

    Default

    Yeah, there's no reason you couldn't do this, you're just liable to find it slow (at least on 386 systems, where it's limited to the speed of the ISA bus and probably not cacheable either - I suppose hypothetically a VESA video card on a 486 might allow faster access, although still probably not caching.) But on a PC/XT clone or other older PC, where main memory isn't appreciably faster than the ISA bus anyway, why not?
    Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
    Synthesizers: Roland JX-10/SH-09/HS-80/MT-32/D-50, Yamaha DX7-II/V50/TX7/TG33/FB-01, Korg MS-20 Mini/ARP Odyssey/DW-8000/M1, Ensoniq SQ-80, E-mu Emax HD/Proteus-2, Casio CZ-5000, Moog Satellite, Sequential Circuits Prophet-600
    "'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup

  4. #4

    Default

    For what good it does, PC DOS 7.0 comes with UMBMONO.SYS which lets you use the 4K of RAM on an MDA card as UMBs (Upper Memory Blocks). More useful is UMBHERC.SYS to use the 64K on a Hercules card.

  5. #5
    Join Date
    Sep 2011
    Location
    Michigan, USA
    Posts
    158

    Default

    Hi, This is kind of a crazy question but here goes. I have pulled the IBM Bios ROM out of my 5150 PC and replaced it with a ROM containing my own code. The ROM code initializes the MDA card registers to display correctly and then uses the 4K of SRAM memory on the MDA card as the data segment. I can write random characters (0-255) with random attributes (0-255) to the SRAM memory with the results showing up on the green screen 5151 display. What I would like to do is write some sort of program that does something more interesting or useful in the MDA memory, that simultaneously makes the display interesting to watch. Some sort of fractal might be interesting, but the resolution of the screen is only 80x25. Another idea might be a shift register of some sort. I could also put the other segments in that memory area, which might make for an interesting visual of how a program works. Anyone have any ideas?

    To create the programs up until now, I have simply been writing raw assembly code and compiling using debug. Then cutting and pasting the snippets into an 8K Hex file. It's crude but it works. And after awhile it gets pretty easy to just change the hex code to do different things. Thanks! Michael

  6. #6
    Join Date
    Jan 2015
    Location
    Hebron, Boone Township, Porter County, Indiana, USA
    Posts
    205

    Default

    Do you think you have the ability to write a real BIOS? One with a setup utility, CMOS, and Clock?

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •