6502 Sandbox
Re: 6502 Sandbox
I second that! I fired up the Atomulator the other day, and the keyboard mapping flummoxed me. Plus, the rollover problem...
Cheers
Ed
Cheers
Ed
Re: 6502 Sandbox
But this is terribly impressive, for all the emulated limitations of the Atom.
Have you considered emulating an Electron instead? Not necessarily all the hardware oddities, but the keyboard and OS story seem to be better.
Have you considered emulating an Electron instead? Not necessarily all the hardware oddities, but the keyboard and OS story seem to be better.
Re: 6502 Sandbox
The attractive part of the Atom is its simplicity. There's only the CPU, memory, a (simple) 6847 video generator, and a 3 port PIA, and there's plenty of documentation on the web, including schematics, datasheets for all the components, and commented ROM code. Plus the fact that the Atom was my first computer makes it interesting to see it again, as well as all the old software that I used to have. The Electron was actually my second computer (didn't have the money for a Beeb), but except for Elite, I don't remember owning any software for it, and I really don't have much memories of the machine.
The Electron OS would be an improvement, but in order for it to run you also need to emulate all the hardware, and I'm not sure how much work that is, or how well organized the documentation is. Also, if I were to go that route, maybe it would be better to emulate a Beeb instead. It's the same OS, but with better hardware. And I do have fond memories of playing 'Planetoid' on the Beeb at the local computer club I used to go to.
The Electron OS would be an improvement, but in order for it to run you also need to emulate all the hardware, and I'm not sure how much work that is, or how well organized the documentation is. Also, if I were to go that route, maybe it would be better to emulate a Beeb instead. It's the same OS, but with better hardware. And I do have fond memories of playing 'Planetoid' on the Beeb at the local computer club I used to go to.
Last edited by Arlet on Fri Mar 29, 2013 11:26 am, edited 1 time in total.
Re: 6502 Sandbox
Yes, certainly a simple machine has attractions. Is it practical to tweak just the keyboard handling in the OS?
Re: 6502 Sandbox
BigEd wrote:
Yes, certainly a simple machine has attractions. Is it practical to tweak just the keyboard handling in the OS?
Re: 6502 Sandbox
Ah, of course.
How about a front end which does denounce/rollover before the atom sees it - does that make sense?
How about a front end which does denounce/rollover before the atom sees it - does that make sense?
Re: 6502 Sandbox
Actually, I already have most of that front end. I now have: PC keyboard -> PC app -> UART -> FPGA -> Hardware scan code to matrix conversion -> Atom OS matrix to scan code conversion.
The scan codes I get from the PC are already cleaned up, so I could just put the scan codes for each pressed key in a hardware register that the 6502 can access. The Atom OS code can then be patched so that it just grabs the scan code from that register, instead of scanning the keyboard matrix itself. This is a very small patch, so I can leave most of the absolute address the same. Code that tries to access the keyboard matrix directly would still work, but code that goes through the 'official' entry points would benefit from the accelerated path.
The scan codes I get from the PC are already cleaned up, so I could just put the scan codes for each pressed key in a hardware register that the 6502 can access. The Atom OS code can then be patched so that it just grabs the scan code from that register, instead of scanning the keyboard matrix itself. This is a very small patch, so I can leave most of the absolute address the same. Code that tries to access the keyboard matrix directly would still work, but code that goes through the 'official' entry points would benefit from the accelerated path.
Re: 6502 Sandbox
The classic Space Invaders works too, but it's unplayable because it's too fast, running at 8 MHz instead of 1. Some of the other games run at normal speed because they look at the vertical sync, but apparently this one is timed in software. For retro compatibility, I'll have to look into adding an option to slow down the clock.
The pac-man clone "snapper" is also too fast, and the screen is messed up because it uses a color mode, and I don't have support for color modes yet.
Added support for the color modes by implementing them as 4 tone grayscale (just random values, so probably not same as original).
Re: 6502 Sandbox
Great job, Arlet! I dropped the ball with 6502 Playground, and am very happy that you are continuing along the same path.
Have you gotten to the point where you can sell an extra board?
Have you gotten to the point where you can sell an extra board?
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut
Re: 6502 Sandbox
I have one empty board left from my first order of prototypes. If you want it, I can send it to you (no charge). If you prefer it with the components on it, it'll take some more time and I'll have to figure out what it would cost. Let me know what you want.
I'm still planning to finish rev 2, but I'm busy with real work right now, so it's on the back burner.
I'm still planning to finish rev 2, but I'm busy with real work right now, so it's on the back burner.
Re: 6502 Sandbox
Eagle design files available here
Re: 6502 Sandbox
Arlet wrote:
Eagle design files available here
Re: 6502 Sandbox
jds wrote:
Arlet, would it be possible to have a look at the Verilog files you used for this project? I'm building something similar and am just starting out with Verilog so I'm sure I could learn from your code for this.
I'm working on my R2 attempt, which is a little bit similar. I'm also just beginning with Verilog and would like to see how it's done properly.
Re: 6502 Sandbox
Code is a mess, but if you really want to see it, send me PM.
- barrym95838
- Posts: 2056
- Joined: 30 Jun 2013
- Location: Sacramento, CA, USA
Re: 6502 Sandbox
I'm not sure, Arlet, but it looks like you might have forum PMs presently disabled in your dashboard.
Mike B.
Mike B.