danwinslow
-
Content Count
2,767 -
Joined
-
Last visited
Posts posted by danwinslow
-
-
I'm keen on getting some help with the firmware. Is anyone capable/willing to take on the role of 'main firmware developer'? So I can focus on purely the hardware side.
It can be written in any language, but since code size needs to be small, and the existing firmware is written in it, I propose C. Debugging will be via gdb and a jtag connection to the eclaireXL.
The firmware currently provides the following features:
i) USB HID joystick and keyboard decoding
ii) SD card reading, fat decoding
iii) SIO drive emulation
iv) Cartridge emu setup
v) OS/BASIC rom loading
vi) Video settings
I'm in the process of changing the core to be more a 'modern system' with the 6502 and antic as additional bus masters. Previously the 'ZPU' was bolted on top of the Atari as an afterthought.
The plan is to use the VexRiscV CPU (can compile with GCC, debug via GDB) and a crossbar wishbone interconnect. All the atari custom chips, USB hardware, SD card, will be mapped into a large linear address space. Then the 6502 and antic will access this via an address translation layer. With possibly a 2nd PIA to allow the 6502 to access some of the additional hardware and settings (e.g. turbo!).
I'm busily working on the hardware changes for this, which will take some time to build. After which I'll need to port or rewrite the firmware for the new setup. I think it needs a significant rewrite to be 'good' but I don't think I have the time/motivation for that. Is anyone up for the challenge?
I doubt if any one person would be able to take all of this up. Phaeron, Flashjazzcat, the many excellent german & polish coders, all come to mind. I am actually very experienced with C and I've done some simplistic USB HID work before, so I might be able to help with item i. I would need a lot more details about the USB input architecture and probably would eventually need a test system.
-
1
-
-
I would sure buy one or two of these.
I'd also like to say I find it amazing that Atari never died at all, it just went underground and is being carried forward by us. The thing that calls itself Atari now is of no account. I know of no other community that has as much activity and expertise still working. Commodore 64 folks might be close, but as far as I know they don't have the kind of push forward that we do. Really amazing.
-
Practice on stuff you don't mind destroying and watch some YouTube vids...
This is exactly what I just did. For years I was afraid to do even simple installs. Although there's some great folks like Steve Tucker and Ken Jones that still do custom install work in the U.S. for very reasonable prices, packing, shipping, and waiting for what actually are very simple soldering jobs seemed like a real bother. Plus to be honest I just felt kind of lame about it. So I bought a soldering setup, some 60/40 rosin core, and spent some time watching youtube vids and soldering various wires together. Then I practiced on some old 130xe and 800xl boards I had that were already broken. I was then able to do a Rapidus install (3 wires, 2 to freddy and 1 to the MMU) with no problem. Of course, that's about as simple as it gets, but it felt like a real victory. Harder stuff that involves DE-soldering chips and putting sockets in I am working on now, and I expect it will take a while to get that down and I'm sure I'll wreck a board or two. Having a good desoldering station, chip puller, multimeter and various other tools like crimpers and snips makes a big difference I think. I have a tool that has a magnifying glass and a couple of arms with alligator clips that you can position to hold stuff in place, and that was really helpful. It was sort of expensive to put it all together, probably in the 300-400$ range, but it was just something I felt like I wanted to be able to do. You probably don't need to spend that much to get a basic setup. It's like anything else, practice is required.
-
Yes, thanks Draco!
-
So, I managed to solder 3 wires. My first soldering attempt, went OK and I only had about 300$ of soldering equipment ('professional' soldering/desoldering station), so I was roughing it.
I now have a 130xe with what appears to be a functioning rapidus in it. It boots (using RealDos). I can hit inverse key/reset to bring a menu up. It's just a panel of settings, and I'm not sure what they all mean. By jiggering around with them, I could tell that the rapidus was on (REALLY fast IO during boot and screen writes noticeably faster). but RealDos croaks just as it's finished loading. Does RealDos not function with Rapidus? Do I need to be using Sparta or some custom '816 dos?
So now what? I can't seem to find any decent docs on rapidus, so if someone could point me to any I'd appreciate it. I think I need to upgrade the core, and the software is available at Lotharek's so I can handle that. I know there's several HUGE threads here but wading through them I'd like to skip if there are some kind of docs somewhere. Mostly I am looking for:
What do all the settings in the setup panel mean? Found them in long thread.What DOS's work?
What are the various speedup modes available?Same place. -
Well, not being hardware handy, I just want to put it out there that I would definitely buy several completed kits, should someone produce them.
-
2
-
-
i've PM'd you re the strange red-buttoned atari and the percom, and additionally any US sports disks in the disk collection
thanks
I'm guessing that's a separate keyboard for the 400, and not a console on its own.
-
Apologies if this has been asked before - Is anyone planning on selling assembled versions of the board and/or casing?
-
Worrying about 80 column support is way down the list if you ask me.
Just as an aside, the original reason for 80 columns as opposed to other amounts was that the traditional IBM format punched card had 80 columns. Character TTYs and early monitors were basically still card punch machines at first, just with electronic data instead of actual punched cards, and so the 80 column display was an important feature.
-
1
-
-
I have a giant box full of sinclair stuff. Multiple zx80's and zx81's, some keyboards, some ram packs and memotech thingies, some wierdo breadboard things that claim to be modems, etc. A bunch of tapes too. I need to look through it all at some point.
-
3
-
-
I liked valforth for the Atari. I wrote a couple of simple games in that, was MUCH faster than BASIC.
-
I wrote a 'Simon' game in ValForth, I liked it a lot and it was extremely fast.
-
http://www.coolmath.com/algebra/08-lines/06-finding-slope-line-given-two-points-01
You will probably find this in any drawline code in some fashion.
-
Drac is exactly right, it is not good practice. You can, but you shouldn't.
-
Seems right to me. If you know your load is going to need BASIC space, you'd need to turn it off before the whole of your program loads, so a separate segment to do that before the rest loads is probably the general case.
-
I am not super-sure that .define is intended for what you are doing with it. I thought it just defines the presence or absence of a particular value for use in .ifdef statements...you seem to be using it to hold named values:
.define scrval ScreenAdr+BytesPerLine*8
I always just use an equate for that kind of thing -
scrval=ScreenAdr+BytesPerLine*8
-
Me. One.
Talk him in to putting an ethernet chip on it, cs8900a or W5500, such as http://www.wiznet.co.kr/product-item/wiz850io/. Super cheap and easy to integrate.
-
Wow this is looking good.
-
Yep. You have to arrange things carefully. Obviously the bank switch routine must be outside the $4000-$7FFF boundary, but so must all library functions that get called during the time the original bank is switched out. If you are using the banked memory just as data storage, it's somewhat easier to handle, but if you are switching to code that runs in extended then you need to make sure any functions that get called are either completely within the bank or completely outside the bank. A development environment that allows code segments to be placed as desired is really helpful, I don't recall whether Action gives you that kind of control or not.
-
Basically, get the byte from PORTB, bitwise AND it with hex C3, and then bitwise OR it with the values in lines 2-6 below, depending on what bank you want. You can put them in an array (30,20,23,28,2C) and index them with 0 for normal bank, 1 for first extended bank, etc.
0xC3, //banking_mask 11000011 0x30, //main_bank 00110000 0x20, //first_bank 00100000 0x24, //second_bank 00100100 0x28, //third_bank 00101000 0x2C //fourth_bank 00101100
These values are for an unmodified 130XE. -
Your routine is probably switching part of itself out. If any part of your program exists in the bank you are switching out, and you happen either be directly in that or use a library call that has code in that bank, then BOOM. Running it differently with different amounts of code present can re-arrange the way its laid out in memory, and that is why it works one way and not the other.
-
1
-
-
type:
print fre(0)
-
Nice! I always liked that language.
-
I remember being young and listening to my friends' dad who was all into crystal radios and ham radio and morse code. Him and his little band of ancient lamers kept trying to interest us in how cool it all was, producing much eyerolling on our part as we played missile command.
Yeah. I just had 'that' conversation with my grandson, showed him my stuff, and HE THINKS ATARI'S ARE COOL! Of course, he's only 5, so he thinks anything is cool. When he's 15 he will probably need medical attention from spraining his eyerolling muscle.
-
1
-

Developers/testing required for mini-itx clone system - ÉclaireXL
in Atari 8-Bit Computers
Posted · Edited by danwinslow
OK, Thanks Santos.
So. Santos or foft-
1. Will I need a JTAG cable? Can I upload through the serial port?
2. Is there a native OS or something on this board, like a linux or whatever?
3. What dev tools will produce the correct binaries? GCC? Visual C++? Either?
4. Any docs that relate to the process of getting new firmware onto the board? If the board is an FPGA, and that only, I assume the only way to get new firmware on it is with the JTAG or serial?
5. Besides JTAG, do I need any special hardware/software to upload or talk to the board?
5. Is it too late to talk you into adding a cheap Ethernet solution to the board?