6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Sep 28, 2024 4:20 pm

All times are UTC




Post new topic Reply to topic  [ 76 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
 Post subject: Re: 6502 Sandbox
PostPosted: Fri Mar 22, 2013 11:49 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
And a text buffer with light and dark letters. I just copied this from an earlier project, but modified the spacing a little bit.
Attachment:
text.jpg
text.jpg [ 46.71 KiB | Viewed 1520 times ]


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Fri Mar 22, 2013 12:40 pm 
Offline

Joined: Fri Nov 26, 2010 6:03 pm
Posts: 46
Location: NSW, Australia
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Fri Mar 22, 2013 3:11 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Improved Acorn Atom font.
Attachment:
atomfont2.jpg
atomfont2.jpg [ 37.72 KiB | Viewed 1510 times ]


I got the font from here. The original Atom font (generated by a MC6847) only had upper case, which as the web page says, was just about acceptable in 1982. The improved font adds lower case letters, and cleans up a few of the original characters, while still keeping most of the upper case characters the same as the original. I see a few mistakes in the copy I used (the 'd' is narrower than the 'b' for instance).


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sat Mar 23, 2013 9:08 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Combined video output using the new Atom font with OS + BASIC ROMs loaded in SRAM. I've modified the OS ROM to read input from the UART instead of the keyboard matrix, but I've kept the text output the same, so whatever you type on the UART, appears on the screen. The cursor is still missing, for some reason. I'll have to look into that. Edit: the cursor is drawn by setting bit 7 of the character code, which results in an inverted character. In my new font, I use those code for lower case letters, and I don't have inverted characters, so this trick doesn't work.
Attachment:
atom.jpg
atom.jpg [ 18.99 KiB | Viewed 1482 times ]

And another test with the semi graphics mode. This is a mode from the 6847 which supports mixed text and low resolution graphics by dividing each character cell in 2x3 pixels and using a 64-character range to represent all combinations. The Atom ROM has support to draw lines in this mode. Resolution is quite limited at 64x48 :)
Attachment:
clear0.jpg
clear0.jpg [ 14.58 KiB | Viewed 1477 times ]


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sat Mar 23, 2013 12:16 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Found some old Atom tape archives, and made a simple tool to extract programs and preload them into SRAM before starting the OS. Here's the output of the "8 queens" program from the user manual. As you run the program, it shows all the solutions on the screen. Pretty impressive, actually, for a 429 byte program.


Attachments:
8queens.jpg
8queens.jpg [ 38.11 KiB | Viewed 1467 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sat Mar 23, 2013 12:25 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Excellent!


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sat Mar 23, 2013 2:47 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Attachment:
clear2.jpg
clear2.jpg [ 90.31 KiB | Viewed 1459 times ]

Added support for graphics mode 2 (128x96 monochrome bitmap). The weird stuff to the left of the diagonal line is text because I entered the commands interactively. The screen memory for the text overlaps the memory for the graphics, so the text characters show up as bitmap graphics.

The Atom has 9 graphics modes: one text/semigraphics, plus 4 monochrome graphics, and 4 color graphics modes. This mode 2 was easy to add, because it only uses 1.5kB of memory, so everything fits in one block RAM that I already had for the text mode. I'm planning to put the video memory in external SRAM, but this was easier for a quick test.


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sun Mar 24, 2013 11:08 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Now fetching video data from external SRAM instead of internal block RAM. Picture resolution is 256x192, which is the highest that the Atom supported. Monochrome only. Back in the days, this took about 4 minutes to load from cassette tape... or 1 minute if you had the extension EPROM with fast tape routines :)
Attachment:
clear4.jpg
clear4.jpg [ 53.02 KiB | Viewed 1437 times ]


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sun Mar 24, 2013 1:58 pm 
Offline
User avatar

Joined: Mon Apr 23, 2012 12:28 am
Posts: 760
Location: Huntsville, AL
Pretty neat.

You really know you've been around electronics too long when you recognize DIP resistor packages such as those in your image.

_________________
Michael A.


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sun Mar 24, 2013 2:15 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
I got the image from this collection. I didn't realize they were resistors, but now that you mention it, I can see the 4.7K and 10K markings on there. Funny to think that those huge DIP packages were once used as convenient space savers.


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sun Mar 24, 2013 3:09 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8520
Location: Southern California
I expect it was really more about saving work and reducing manual-stuffing errors, and easing inspection. When we were still doing thru-hole, I was packing 1/8W resistors in tighter than that in our designs. It was one of the things that held our competition at bay. I do have a bunch of surplus resistor DIPs and SIPs here though. I did use a few SIPs to increase density.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Sun Mar 24, 2013 5:19 pm 
Offline

Joined: Tue Nov 18, 2003 8:41 pm
Posts: 250
GARTHWILSON wrote:
I expect it was really more about saving work and reducing manual-stuffing errors, and easing inspection. When we were still doing thru-hole, I was packing 1/8W resistors in tighter than that in our designs. It was one of the things that held our competition at bay. I do have a bunch of surplus resistor DIPs and SIPs here though. I did use a few SIPs to increase density.


I expect you're correct.
We used SIPs to save space.
But they also made (make?) special purpose
networks with matched resistors (binary ladders
and stuff)


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Tue Mar 26, 2013 9:52 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Screen shot from Acornsoft game 'Dodgems'. Works in graphics mode 4.
Attachment:
dodgems.jpg
dodgems.jpg [ 28.09 KiB | Viewed 1394 times ]

The game itself doesn't work. I guess because it's directly reading the keyboard matrix, and that's not supported in my hardware model because I only have a serial port right now. That's why I'm planning to add a USB interface in rev2.


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Wed Mar 27, 2013 7:00 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Hmm.. I was thinking I can emulate a true keyboard interface using some software help on the PC side. I could make a small PC program that captures raw keyboard events when a key is pressed or released, and translate these events to a byte (1 bit for press/release, 7 bits scancode), and send that over the serial interface to the sandbox board. The FPGA can then decode the events and present an accurate I/O interface for a keyboard matrix on the 6502 bus.

This would also allow some PC keys to be mapped to special keys or functions on the target. For instance, pressing an (unused) function key on the PC keyboard could pull down the RESET signal on the 6502.


Top
 Profile  
Reply with quote  
 Post subject: Re: 6502 Sandbox
PostPosted: Thu Mar 28, 2013 8:21 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
I've implemented the keyboard matrix emulation, and now I'm running with unmodified Atom ROMs. The Dodgems game also works now.
Attachment:
dodgems2.jpg
dodgems2.jpg [ 36.5 KiB | Viewed 1321 times ]

The Atom had very poor keyboard support. No n-key rollover, so you have to type slowly and in staccato fashion, otherwise it would skip the keys. Another problem is that the Atom keyboard layout does not match a modern PC keyboard. Not only are there different keys on there, but some keys are also in strange places, or work differently when combined with 'shift'. This is a tricky problem because for games you'd like to have the keys mapped based on position, but for text entry, you'd like to have the keys mapped according to meaning.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 76 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: