Jump to content

danwinslow

Members
  • Posts

    3,034
  • Joined

  • Last visited

Posts posted by danwinslow

  1. My two cents - leave the vbxe and other fancy hardware out of it for now. Finish the original core base, leaving things set up so that folks  can reasonably easily add features - i.e., APIs are present for the core system and for a device driver layer.

    • Like 5
  2. So, I'm wondering how to create a custom stream. I would like new (unread) content from Atari 8-Bit Computers and the Atari ST/TT/Falcon Computers together in one stream. It's not clear to me how to do that...it's probably really simple but for whatever reason I can not see how to do it. I see the 'My Activity Streams->Create Stream' option, but that just takes some viewing attributes and does not seem to let me set which forums I want involved. What am I missing?

    • Like 1
  3. Well, you have to write things such that all of your 'processes' get called in the game loop and they all just do a piece of what you want, then save where they are at and return back out to the game loop for the next thing to do. It generally means more time and memory keeping track of where everything was so it can do the next step. So for your back ground drawing that you mentioned, it would do only a part of the pixels each time it is called. You have to be sure that you don't lock up too long in any one operation.

    You can't really use BASIC with VBI, unless you want to write that part in assembler. Writing in a lower level language like Action! or C or Mad Pascal you could do more of what you're talking about.

  4. 5 hours ago, reifsnyderb said:

    I've got a FujiNet board figured out.  Somebody contacted me about working on the software.  But, he wanted a 100% parallel solution and I don't think was interested in what I designed.  I designed the board as a serial board using a register on a 1090XL card.  Doing so, saves a lot of space on the board, is cheaper, and should work with fewer software changes.  In theory, the PBI is supposed to do over 100k per second.  Doing this serially may reduce the speed to less than 10k per second....which is still really fast.  MULE would load in 5 seconds.  🙂

    My point was not about loading software, it's the ability to play action games with others, requires a lot of fast packets. Serial anywhere in the chain makes that too slow.

    • Thanks 1
  5. The way to say it is:

    In the CC65 Atari library, the Atari "IOCB" construct has been completely abstracted under the C standard 'File Descriptor' concept. It is still possible to use either or both in a program, but mixing the two in the same program can lead to problems.

     

    In my opinion, the memory cost of pulling in a bunch of stdio stuff supporting the file descriptors is too high, and I just wrote a thin utility layer over IOCB's and used that. Where the CC65 stdio library really comes into it's own is for quick utilities and also when cross compiling non-Atari c programs.

  6. I've used a system similar to what's been mentioned above. With CC65, I used the linker config to setup named code banks (bank1, bank2, etc.,) all at $4000, and used segment names to organize code and data into each one, each in it's own file. Then I had a small loader function that would load the banks one by one, flipping banks as necessary. I also had a table of metadata about the bank locations of various functions and data, and a function caller that would change bank as necessary, and call the function. It's much better to organize groups of related functionality so that most of the calls are within the same bank. Even duplicating sets of functions, for instance, utility functions across the banks can help a lot with the switching overhead.

    • Thanks 1
  7. Yeah, casting is a way to tell the compiler 'shut up, I'm doing this on purpose'.

    memcpy is, under the hood, just using the same kind of memory move that you would roll up yourself in machine language. I thought there were separate memory areas for each PMG, so it wouldn't be that they are overwriting each other in actual ram...more likely that you need to look into the way that the color priority works if they do overlap on the screen. Check out documentation around GPRIOR...I'm no expert but I expect it's somethign to do with that.

     

    Never mind, I missed the 'missiles' part in your question. TGB is probably right...you could still use memcpy, but you need to figure out things about what exactly you are moving and when. I think its not about whether you are using specfically memcpy or not, its more about how you are using any memory move capability. YOu didn't give a real full explanation as to what you meant by 'cancelling each other out' so its hard to say.

  8. 1 hour ago, bkumanchik said:

    And is there any way to get rid of this Warning:  Warning: Pointer conversion to 'void *' from 'const unsigned char *' discards qualifiers

    Well, you could maybe use explicit casting, something like something=(void *)yourconstpointer....but really  its just a warning, saying essentially "Hey man, you told me this is const, but I can't protect that const-ness once you make a void * out of it". You could also reconsider making your little char arrays const, in a small program it really shouldn't matter much. Also, I bet there is an option in CC65 to make it be quiet about that particular warning.

  9. 2 hours ago, bfollowell said:

     

    Ok, Atari BASIC is fully supported in Altirra BASIC, which is fully supported in BASIC XL, which is fully supported in BASIC XE. So, for personal use, without the intention to distribute, and not wanting to compile, it sounds like BASIC XE would be the most advanced BASIC on the ATARI 8-bits. Or at least a toss-up between BASIC XE and Turbo BASIC XL.

     

    Also, I had to idea that Turbo BASIC XL was later adapted and became GFA BASIC for the ATARI ST line. Very interesting.

     

    Yep. I wrote a commercial (uh, well sort of) game in that.

  10. I have always used one of these: https://www.atarimax.com/sio2pc/documentation/
    The $34 one, to be precise. But, you need to have a PC physically connected, so I am just mentioning in case the location of your PC changes. You use the provided software to load up ATR files on your PC and then they look like Atari drives to the Atari.

     

    Never mind, should have read entire thread.

×
×
  • Create New...