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: [email protected] [mailto:[email protected]] On 
Behalf Of Andrew Bingham
Sent: Sunday, July 13, 2014 11:13 AM
To: [email protected]
Cc: [email protected]; [email protected]
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:[email protected] <javascript:> ] 
Sent: Sunday, July 13, 2014 7:53 AM
To: [email protected] <javascript:> 
Cc: [email protected] <javascript:> 
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: [email protected] [mailto:[email protected]] On Behalf Of 
Andrew Bingham
Sent: Friday, July 11, 2014 7:48 PM
To: [email protected]
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 [email protected].
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 [email protected].
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to