Jump to content

danwinslow

Members
  • Content Count

    2,767
  • Joined

  • Last visited

Posts posted by danwinslow


  1. Hi Folks.

    So, as I continue to divest my 8-bit stuff, I find I have a large amount of stuff that probably isn't worth the effort selling on Ebay, but I hate to throw away as trash. I took a shot at this a while back, but I stalled out. This time I'd like to just list by general content the stuff, and ask if anyone might be interested in paying postage and getting it otherwise free. Stuff like:

     

    1. I have about 25 mixed 800xl/1200xl's, and about 10 or so 130xe's - I think some work but some may not and if they do work all have some problem like bad RAM, bad display, bad keyboard, etc. The case conditions are mostly fairly good, some are kind of dusty. The XL's are so heavy it's expensive to mail, I bet I am looking at about 100 pounds worth in total. I don't really feel like cleaning them and mailing them out one by one, so if someone wants a bulk lot of them for local pickup let me know. I'm in Omaha Nebraska. I am willing to bulk mail but like I said it'll be expensive.

     

    2. I have a giant box full of Sinclair/Timex stuff, 4-5 TS1000's, a couple 2068's, a couple zx80's, a printer, a bunch of different memory packs from 16-64k, memotech keyboards, weird boards I have no idea about, etc. Also up for free local pickup or mail with postage paid.

     

    Or, if you'd be interested in taking the whole Atari and/or Sinclair piles, just let me know and I'll get a weight and a shipping estimate. Still free, just pay shipping.

     

    3. I have about 6 1050's and an 810 or two and an Indus. No SIO cables, but the drives look good and work as far as I know. Also free bulk pickup or if you want to get it mailed bulk let me know.

     

    4. 50 or so mixed Atari cartridges, no rares as far as I know, also free for pickup or mail if postage paid.

     

    If you are interested in one of the options, let me know and I will give you exact item counts and give you a postage amount.

     

     

    Thanks,

    Dan

    • Like 1

  2. Do you plan to produce another batch soon?

    If the game is received as well as I hope, you may get quite a few inquiries...

     

    For Altirra setup, see: http://8bit-slicks.com/?topic=how-to-setup-altirra-with-dragoncart

    I was mostly the money, Mark Dusko was the actual hardware guy. He has his design up on his website, though. I am sure he would have no problem if someone wanted to make another run. I have not heard from him in some time, but his atariage handle is puppetmark. I would imagine that dropcheck or one of the other folks still producing boards would be able to handle it. I think a pass-through cart would be much better, and/or a PBI device. The CS8900A is hard to source in 5 volts. Lots of people seem to think that a 'all in one' with its own TCP stack is the way to go, but unless it has a memory mapped transfer bus it won't work very well. SIO is not capable of handling it. And, as you've seen, a dedicated single purpose stack is very doable on the eight bits, especially to support UDP.

    • Like 1

  3. So, I have a functional falcon motherboard, but the floppy connector has been pulled off of the MB. It doesn't look like a normal connector...it has a bunch of little teeth that look like they are supposed to pierce the flat cable, possibly with a bar or other fastener along the top side clipped into place. What kind of connector is this, and is it possible to reconnect a floppy cable to the motherboard?

     

    Thanks

    Dan

     


  4. My very first computer was a zx80. I wrote my very first program on it too, a BASIC version of "Lunar Lander" with an 'M' for the lander and a landscape of periods and dashes. Makes me mist up just thinking about it.

     

    Fast forward to now - alongside all my atari stuff I have a giant box filled with Sinclair/Timex stuff.

    • Like 1

  5. I recently had responses delayed by 2 months or so. They weren't important, just questions...but I had kind of given up on getting a response. On the other hand, I've had about 10 or so transactions involving services over the last 5 years, and while they weren't particularly speedy, they were no where near that slow and they all wound up great.


  6. The only thing I would say about encapsulation is this: it tempts you to write more code in order to get the architecture "right". But "right" is often a moving goalpost. Try to avoid the temptation to write more code/encapsulate just for the sake of it. Code should be able to justify its existence. If it can't then it is gratuitous and should be removed, otherwise performance may degrade, more memory may be required, and, contrary to popular belief, it will be harder to debug. Maybe not tomorrow but I guarantee it will be in six months as you battle against yourself as you struggle to pick apart the beautifully crafted but highly intricate code.

     

    There be demons :-)

     

    Yes, he's right. Abstraction has a cost. Taken too far it's often worse than the original problems. Unless you know you will be working with a team of programmers on a large project it's mostly not worth taking it too far.


  7. The essence of encapsulation is that everything is done via interface specification. If your code in one spot 'knows' anything about how code in another spot does something, you are not doing it right.

     

    For instance, your getsuit call is a mapper. It maps an integer onto a symbolic value expressed as a string. It may or may not use an array internally to do a lookup, but as long as external code doesn't have to know about that detail, your encapsulation is good. You could swap out the lookup array with a read from a file, and you wouldn't have to change anything else in the program. The simple act of putting it behind a function instead of leaving it as a bare global array is doing it right. Your TYPE declaration is extra points.

     

    You also seem to be thinking about exactly how to represent the thing that holds the keys (integer) and values(string suit name). An array is the natural way to do this, but there are some options. I am rusty on my Pascal, but there is an Enumeration type, which you could use (http://wiki.lazarus.freepascal.org/Enumerated_types) that comes with the ability to get the string form of the enum value...but I don't know if the pascal you are using has that.

     

    Anyway, so you have to init this array somewhere, and that's just a fact. If your pascal supports it, that's what the implementation and initialization sections of a unit is for:

     

    unit advancedunit;
    interface
    
    implementation
    
    initialization
    begin
    (* here may be placed code that is *)
    (* executed as the unit gets loaded *)
    end
    
    finalization
    (* code executed at program end *)
    
    end.
    

     

    That makes a 'private' unit level var and a chance to run code against at startup. In your case you could just put your array in the implementation section and use an array initialization literal.

     

    If your pascal does not support this, then my advice is to not worry about it being 'global'. You have the concept down, so whether or not you leave a global in your code or not doesn't matter unless you expect teams of programmers using your code in the future to create large systems. In this case, they will make fun of you.

     

    The other option is to use a function level declaration to 're init it every time'. It's probably not that much impact on runspeed unless you call getsuit constantly. Many compilers are smart enough to realize that they can make that kind of completely static initialization something that just happens once.


  8. Pascal, or to be more precise, Turbo Pascal was used in commercial product dev. especially communication software for some reason. But mostly it was used in education because it's a strongly typed and structured language. It was the one of the languages that I learned in college, that and Cobol (yeah, I'm old...). When I got to university it was replaced by Ada.

    I really liked Ada, I was in the DoD world when it got started. In fact, I participated in the Ironman tests on the Honeywell/Bull team. Most people wound up not liking it, mostly because the compilers just could not handle it very well, it was WAY ahead of it's time.

     

    Turbo pascal eventually turned into Delphi I think, but that's not used much anymore.


  9. In another thread:

    http://atariage.com/forums/topic/267084-understanding-and-using-graphics-mode-with-cc65/

    tschak909 said:

     


    You really need to read the hardware manual regarding ANTIC modes 4 and 5. Seriously, go to atarimania.com, into the atari 800 books section. We'll be right here.

    But in case that's TL:DR:

    Basically, in ANTIC modes 4 and 5, bit 7 of a character determines whether or not the fifth color is used.

    -Thom

     

    The (only?) ways to get a 'fifth color' are all using the ANTIC char modes 4 and 5. It's a GPRIOR bit setting as I recall, but as advised you might want to check out the Atari system docs.

    Your quest to write for many computers using CC65 TDI is probably not going to work out very well. You should design your own version of a TDI-like interface and do special implementations for each computer.

    If you must stay in mode 1 then check out PMG overlays for more color.


  10.  

    C is worse as a beginner language than Java in that C will give you a gun and let you shoot yourself in the foot and not give you much indication what you did wrong other than "segmentation fault" or some such error. Plus if you want to work with strings.. Java is much easier there.

     

    I like and use C a lot. It is powerful, but the price of that is it will not hold your hand in any way.

     

    Yes Java is OO, but when you are just learning, you can put everything in a single class and it will behave similarly to a non-OO language.

     

    I get it, but I don't agree. It's not about what's easy or safe, it's about understanding. I've been a professional developer for almost 40 years, and this is my opinion.

    • Like 1

  11. Yeah, I expected someone to say this. You're not wrong in fact, but I personally feel like Java and the other OO languages can put a burden of extra complexity in when all you are doing is just to try and learn programming basics, especially when your stated target is 2600 programming. I figured BASIC would be a good way to prepare for Batari. BASIC has this rep for 'spaghetti code' but let me assure you you can freely create pasta in any language, and people often do. Using a language that doesn't prevent you from doing it in fact is a good way to learn the importance of certain hygienic programming practices. Use of goto is not in and of itself bad, and there are situations even in modern languages where it is an appropriate choice.

     

    Actually, I always recommend plan ANSI C as the proper introductory language for a serious computer education. If you learn C well, you will learn everything you'll ever need to know and stuff that most people don't ever know, and you will appreciate the modern languages much better.

    • Like 2

  12.  

    Sincerely, I get what you mean. My problem is, I am illiterate when it comes to programming anything.

    I live in a rural area in Ireland, there aren't a wealth of night classes available to me, so at least if I give this Java thing a bash, it may help me better to understand programming/coding in general, would you think?

    At least if I do it then I may have a better understanding of the tutorials you mention above, no?

     

    It's only ten classes, plus it will help keep me out of the pub on a thursday :)

     

    I'm going to sign up and see how it goes, and will be back in ten odd weeks!

     

    Well, Java is a fine language in general, but it is not applicable hardly at all to 2600 programming. As was mentioned, the very basic rock-bottom concepts like data, if/then,looping, etc. are able to be learned in any language.

    If that's the only course you have, then sure give it a shot, but keep in mind that Java is NOT an introductory language, no matter what the colleges seem to think. It is an advanced subject, so if you find yourself baffled and overwhelmed it does not mean that you have some kid of problem understanding, it means that even basic Java it really hard without any prior experience programming. Or, maybe you have a knack for it and you'll do great, I don't know, but I expect you'll have some trouble. I do have some other suggestions for you:

    1. Google for online courses. There are probably some free ones even, like 'introduction to programming' on you-tube or whatever.

    2. Learn BASIC instead. BASIC was created to be easy to learn ( Beginners All-purpose Symbolic Instruction Code). If you have an actual 8-bit Atari, you can use that, or you can grab the Altirra emulator and use that.

    3. You can grab tons of different kinds of BASICS for use on your home computer. This, for instance : http://www.nicholson.com/rhn/basic/. Assuming you're on Windows, you could even download the free Visual Basic Express stuff (which I think is now called 'Visual Studio Community' or something dumb like that). Tons of on-line course material on all of the BASICs.

     

    I would not try Batari first unless you are a genius. The language is fine, but that 2600 machine is so bizarre and restricted and low-level it's like trying to program a toaster.

    • Like 1

  13. 1) Need a USB blaster

    2) No, not even libc. No malloc, just use the ram. There is a small printf and lightweight fat and sd card library. Also a USB library.

    3) Currently zpu gcc. I plan to switch to vexriscv. There you have gcc, gdb and openocd to debug. Can use eclipse as an ide (I don't). Linux is easiest for the tool chain. I use virtual box on my windows laptop if you don't have a Linux box.

    4) Currently built into rom on core file - can update rom without full rebuild. On vexriscv can load via jtag and I'd like to get code loading from sd and spi flash.

    5) Altera quartus free edition.

    6) If you can convince Panos! Price and board space are potential issues.

    OK, thanks. Just read up on ZPU, interesting. I assume vexriscv is a similar situation?

     

    I was thinking of putting things like this in the large linear space. The 6502 could bank it in with a 2nd pia. Would that work?

    Well, that would put it into address space at some spot, so yep as long as the device has a memory mappable command/data bus. PBI would also work.


  14. On the Ethernet subject, I can recommend one if you get to that point. Most convenient would be a CS8900A compatible as I already have a driver, but anything with an 8-bit mode would be fine. You may want to consider a chip that has its own TCP stack already on it, too, although that would be a big change. The crucial point there is that it's got to be interfaced via PBI or something, or even mapped in memory. Reading from SIO serial won't work well.

    • Like 1
×
×
  • Create New...