[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [N8VEM-S100:4541] PropMDA IBM MDA Compatible Graphics Concept



Wow that’s a lot of work Andrew, better you than me!   Would be great if you can pull it off.  

FWIW, I have some of the PC BIOS Int 10H routines implemented in the 8086 bios for the Lava board.

Most were fairly decent, except scroll.  May be of use.

See:-

http://s100computers.com/Software%20Folder/8086%20Monitor/8086%20Monitor.htm

http://s100computers.com/My%20System%20Pages/Lava-10%20Board/LAVA-10%20Board.htm

 

 

John

 

 

From: n8vem...@googlegroups.com [mailto:n8vem...@googlegroups.com] On Behalf Of Andrew Bingham
Sent: Sunday, July 13, 2014 11:13 AM
To: n8vem...@googlegroups.com
Cc: abin...@gmail.com; mon...@vitasoft.org
Subject: Re: [N8VEM-S100:4541] PropMDA IBM MDA Compatible Graphics Concept

 

I think I can figure it out.    

I was planning to do it in phases on one of the S-100 prototype cards:
-First phase, make the "memory" cog and have it update the buffer of he off-the-shelf VGA_Highres_Text object we already use for the Propeller Console card (1 byte/character, 127 possible character).  Assess timing with logic analyzer.  This should be about ~10 lines of assembly code to get the incoming byte and send it to Hub RAM (write) or get the address, retrieve byte from Hub RAM, and place on the bus (read).
-Use a test program to modify the buffer directly and make sure that part works the way it should
-Modify the VGA_Highres_Text object to have the original IBM 256 character font and to support blinking, underline, bold (this is probably the hardest part - that VGA_Highres_Text is quite the PASM program)
-Use a test program to modify buffer directly and make sure updates to support 256 characters, blinking, underline, bold are all working
-Create "I/O port" cog and have it write to registers in hub RAM
-Modify VGA_highres_text to watch for any changes to the registers.

It looks like the Int 10h standard scroll routine works by modifying the RAM buffer contents - no smooth scroll registers like in say the 7220 - so it's not clear to me if there are actually any registers in the MDA implementation that need to actually be changed.

Andrew



On Sunday, July 13, 2014 9:26:31 AM UTC-7, monahanz wrote:

Sounds OK in theory Andrew, but it sure is a lot of Propeller programming.  Can you do Propeller assembly programming?  I don’t think spin will be fast enough even with dedicated cogs.

John

 

 

From: Andrew Bingham [mailto:abi...@gmail.com]
Sent: Sunday, July 13, 2014 7:53 AM
To: n8ve...@googlegroups.com
Cc: mon...@vitasoft.org
Subject: Re: [N8VEM-S100:4525] PropMDA IBM MDA Compatible Graphics Concept

 

John,

My plan was to decode and map the MDA registers into one "control cog" in addition to the memory mapped IO going into a "RAM cog".  This cog could store the register information in hub RAM and then the cogs drawing the screen could check the registers in the horizontal blanking interval and do scrolling, etc.

Both the memory and registers would be at the same addresses as on a real MDA board with a 6845.

I need to look at the Int 10h assembly code in the original IBM PC BIOS but I think we'd be able to use the original BIOS code unmodified.

Andrew B

On Saturday, July 12, 2014 5:17:36 PM UTC-7, monahanz wrote:

Hi Andrew,

FWIW, I have spent many hours on looking for the “holy grail” you mentioned below.   What appears to be  a somewhat simple problem becomes a can of worms when you get into it.  I have written up some of this here:-

http://s100computers.com/My%20System%20Pages/VGA%20Board/VGA%20Board.htm

and here

http://s100computers.com/My%20System%20Pages/ISA%20to%20S100%20Bus/ISA%20To%20S-100%20Bus%20Board.htm

 

That effort Andrew Lynch and I are still pursuing (now using GAL’s),  but still a few months away.

 

Anyway the issue you have (if I’m understanding you correctly)  is you don’t have a 6854 video chip in the circuit.   I assume then you will be emulating the PC BIOS Int 10 calls with the Propeller.   First you will have to do it in Propeller assembly (spin is too slow) but even with that some calls (like a screen scroll) may be too slow.   Just plopping an ASCII  character pattern  in the right   RAM location won’t be understood bt the Propeller the same way it is by a 6845 as I’m sure you know.

 

 

John

 

 

From: n8ve...@googlegroups.com [mailto:n8ve...@googlegroups.com] On Behalf Of Andrew Bingham
Sent: Friday, July 11, 2014 7:48 PM
To: n8ve...@googlegroups.com
Subject: [N8VEM-S100:4525] PropMDA IBM MDA Compatible Graphics Concept

 

All,

 

I've been brainstorming about ways to get an IBM PC-compatible display going with readily available parts.  Either to use with the SBC-188 (or a modified version thereof), or the S-100 MS-DOS Support Board + 8088 board.

 

I think I've come up with a concept that would allow the Propeller to be used in an IBM MDA-compatible configuration.

 

This is not the "holy grail" of having a VGA or SVGA adapter but I think it would be a good starting point as far as running a subset of MS-DOS programs that manipulate the text buffer directly.

 

Anyway let me know if it looks like this has any kind of merit.

 

I have some more ideas in this direction involving a real dual port RAM PLCC chip + the Propeller that might actually make CGA all-points-accessible graphics possible as well but I am still doing some calculations to see if the Propeller can handle it with "all cogs firing".

 

Andrew B.

--
You received this message because you are subscribed to the Google Groups "N8VEM-S100" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem-s...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "N8VEM-S100" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem-s100+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.