Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by drac030

  1. Not that I figured out, how to use that program under MS-DOS (I am still lost here), but, relying on the fact that this is supposed to be something similar to what the "New" option makes in Windows, I guess what it is supposed to do. Namely, it probably "creates new files" (i.e. stubs, or empty files, of the type desired by the user) in current directory, "from old files", i.e. templates stored in some central template database.


    It is like when I want to create a new ODT document in Windows, I right-click on the desktop background or a desktop window, then, from the menu that appears, I select "New", then "OpenOffice Writer document". Then in the place where I had clicked an empty ODT file is created.


    In DOS it could be done similarly, e.g. with a command like NEW or CREATE or whatever. E.g. the user types NEW FOOBAR.BAS, then the program invoked copies an empty BASIC program (stub) from its database to the current directory, and names it as the user wanted (FOOBAR.BAS in this case). Then the user can open the file in a BASIC editor and start editing.


    The new file created does not necessarily need to be empty, e.g. a C stub could already contain #include <stdio.h>, int main() { return 0; } or whatever of this type.


    So the idea might be not bad in itself.

    • Like 1

  2. 54 minutes ago, Harry Potter said:

    I don't know why my program is not working

    But I do:






    56 minutes ago, Harry Potter said:

    I have the Mapping the Atari e-book and perused it for usable Low Memory addresses.

    The addresses listed there for the area $0700-$1FFF are only valid for DOS 2.0s, which means that they are not "contractual", as they say. But even for DOS 2.0s, as it was already said to you, Mapping the Atari gets the address $15A4 wrong: it is not a procedure of "loading MEM.SAV if it exists". It is the binary loader.

    • Like 3
    • Haha 1

  3. 6 minutes ago, Harry Potter said:

    File Type is the name given to the file extension; Template is the long name of the file, and Group is a category: basically a way to organize several templates in one location.



    8 minutes ago, Harry Potter said:

    It doesn't have an AutoMount feature, so I have batch files to mount a disk, run a program, then unmount a disk.  I use TmpCreat to create the files

    To create what files?


    8 minutes ago, Harry Potter said:

    then edit the results

    What results?


    8 minutes ago, Harry Potter said:

    to the programs on the disk.

    To what programs and why?


    9 minutes ago, Harry Potter said:

    If you program on DOS or Windows, you could create a module that you might need again and again, add it to the TmpCreat database, then create new files from it.

    What do you mean by "module"? As in the "C language source module"? Why do I need the TmpCreat to reuse it?


    10 minutes ago, Harry Potter said:

    You can treat an .ATR file as a template and create new images from it.



    11 minutes ago, Harry Potter said:

    Does this help?

    No and it never will until you provide at least one real-life example on how it can be used, also demonstrating why it is superior to the systems without that solution.

    • Like 1

  4. 12 minutes ago, Harry Potter said:

    Click Add, then add the file types you're using and the group names to the list.  The resulting dialog boxes should be self-explanatory.

    They are not. What files "I am using" under MS-DOS? Can this be an ATR file? What is a "group" in this context? If this asks me to select between "File type", "Template" and "Group", what is the difference?


    I will ask again: could you please be so kind and provide a real-life example of the use of this program? What YOU use this (or would use this) for under MS-DOS? Step by step.


    • Like 1

  5. 16 minutes ago, Harry Potter said:

    Read the readme.txt file.  If you still don't understand, come back here.

    The readme.txt file says:



    To use this program, type TMPCREAT from the DOS prompt.





    Select the file type and template name you want.


    Not possible, both "File type" and "Template name", when clicked, open empty lists, there is nothing to select from them. And neither option accepts keyboard input. What now?



  6. 37 minutes ago, Harry Potter said:

    I just want it to be available to other programmers to increase the RAM available to a program.

    So you basically seem to think that you are the first one to discover the cassette buffer, the LBUFF and the sixth page, and just wanted to inform us that they exist? Well, how to put it gently, we sorta already had some intuition that they are there. :D


    Second, I may be wrong, but you seem to believe that there is some other treasure of free RAM at $15A4, 348 bytes long. So let us lookup the source code of DOS 2.5: "$15A4 - the binary file loader". That is the code which loads and executes programs, incluiding your program. Overwriting it in the process probably would not help.


    Of course, you do not use DOS 2.5, the problem is, that we have many DOS-es on Atari, so going below $2000 with your binary file is basically guaranteed to stomp on some DOS in some setup. That is why people who want to use as much memory as possible and to avoid a conflict with a DOS employ relocators and other means to do not overwrite anything below the low memory pointer (aka MEMLO); and SDX, which has that pointer particularly low by default, even employs own binary format to be able to load programs at MEMLO and do relocation/fixing-up in place.


    49 minutes ago, Harry Potter said:

    the OS should be able to load it in place.

    The OS is perfectly able to load a binary block at $0400-$06FF or so. Your problem seems to be that you are not able to generate a valid binary file.

    • Like 1
    • Haha 1

  7. 35 minutes ago, Harry Potter said:

    It works directly from normal DOS.  (...)  Actually, it is little more than a copy program which provides an organization to the templates.

    Ok, so suppose that I now have the TMPCR02 upacked and I am under MS-DOS. I ran SETUP.EXE and it said "Path/File access error creating directory. You may not be able to save new templates", but it nevertheless created a subdirectory named T. If I now want to "create a new file from an old file" using this software, what I am supposed to do? Starting TMPCREAT.EXE brings a menu called "Template creator selector" which does not seem to contain anything or make an obvious sense otherwise What now?

  8. 21 minutes ago, Wrathchild said:

    because he's rolling his own, the linker doesn't know what type of binary he is producing, could be a cart, but cc65 doesn't know that should be 8K, 16K etc or plus 16 bytes if you have a header, why should it?

    Maybe providing some switch or even a template to the linker could help it to detect errors in configuration, just as a sort of safety checks. Then you could say to the OP: "add --std-executable to the linker switches and see what it says". This would stop the whole process at the stage where the executable cannot be created, and not at the stage when it is executed and crashes the system.


    In assemblers you are on your own too, but it actually takes effort to convince an assembler to produce a messed-up binary, as the regular executable is usually the default.

  9. I guessed that it may be adding itself to the "New" in Windows, but the question is why you did not write that in the documentation? "A utility that allows you to create a new file from an old file" means nothing, COPY also does "create new files from old files".


    The other question is, if it adds itself to the "New" in Windows, what does the MS-DOS version do? As far as I can tell, MS-DOS does not have any "New" menu in its shell. But maybe I am wrong.


  10. 23 hours ago, Faicuai said:

    I think the "museum" posture is more geared towards those rightfully seeking to preserve (as much as possible) the residual value of the equipment, by focusing on pristine / mint units, avoiding butchering them inside/out, etc. That of course limits the adoption of some vital HW updates

    There is no problem with that. The problem begins, when someone, on one hand, spends time boosting e.g. "original chipset", "original bit-by-bit OS", "no upgrades", "this upgrade makes Atari not Atari" etc. - and on the other hand the same individual(s) only use(s) a modern PC, which means no Atari chipset (but PC chipset), no Atari OS (but Windows) and no "Sally" (but Intel or alike). Dude, I could say to him, you are grumbling at people who upgraded to 65C816, whereas you have yourself "upgraded" to Intel!

    • Like 1

  11. 9 minutes ago, Irgendwer said:

    Why are you here then in the first place?

    Because this is a public thread on a public forum and I am taking advantage of the freedom of speech. Are there any possible inconveniences with that?

  12. 58 minutes ago, ivop said:

    but for me the charm to retro computing is doing things within the existing limitations.

    IMHO it would be pretty cool if it would not lead to developing things on PC "because retro computing is to stick to existing limitations" - but the existing (in fact, not "existing", but "original") limitations (aka "you cannot write a program on Atari conveniently") are unbearable, thus the switch to the PC. This is double-fold hypocrisy: a) insisting on (self-proclaimed) orthodoxy, which b) the individual is himself not able to observe. Hence the "truly retro computing" performed all on current-year PCs. Yeah, that is truly the retro computing in all its charm, indeed.


    58 minutes ago, ivop said:

    Adding high speed CPU's, even if they are the natural successor to the NMOS 6502, is stretching it IMHO.

    IMHO it is not. Not more than adding 256 KB of memory to 65XE, when you have come to the conclusion that 64k is not enough. In 80s and 90s it was done without much thinking, the actual obstacle was the money only. Have the money? Go for it (that, besides, has done the Atari platform much more interesting than others, and more challenging in programming: you have to take into account that there is more than just one memory config, more than one OS, more than one BASIC - sometimes no BASIC - more than one disk drive etc.)


    Now aside of adding memory we can also add video extensions (VBXE, Sophia), audio extensions (Evie, PokeyMax), CPU accelerator boards. All this is done by the same logic as in the old days: because the computer can be made better and we want it to be better, faster, more capable. THIS is, IMHO, the true spirit of the days when the 8-bit machines were mainstream. Not the spirit of a museum. As someone once said, "for you, Atari is a vintage computer, for them [e.g. me], Atari is a current computer". That is the whole difference: no museum, but a living computer platform.


    58 minutes ago, ivop said:

    I don't see the point in running a Spectrum emulator on an Atari that basically sports SNES-like hardware (65c816 + VBXE).

    I do. By the above logic, once you installed an extension, it would be pointless to not use it. Just as to get a 130XE to run 48/64k programs ONLY. With an accelerator new things are possible just as with any other extension (e.g. on 800XL you cannot replay as long a sample as on 130XE, and on a 130XE - as with an 1 MB extension - you do not see the point?).


    EDIT: BTW. VBXE is optional in that emulator :)


    58 minutes ago, ivop said:

    Running C64 BASIC and KERNAL on a stock XL (which has been done recently) I think is pretty cool.

    This is what I consider cool and interesting for the developer, but otherwise pointless. Just as having a port of ZX BASIC to C64 (yes, there exists such a thing): nice toy, but you cannot even run all BASIC programs with it, because they often contain machine code subroutines.


    58 minutes ago, ivop said:

    Or simulating SID on stock hardware.

    This is cool beyond discussion. But expanded hardware opens new possibilities here. This is what has always made Atari different from Spectrum/C64 - extensions. I have been an Atarian for more than 33 years now and what baffles me is this quite recent museal attitude which seems to be prevailing now. Quite contrary, I do not think that Atari 8-bit computing platform is SO COMPLETELY dead that the only thing which remains is a showcase and a display cabinet.


    • Like 2

  13. 3 minutes ago, ivop said:

    That's as much an Atari as putting a 400MHz FPGA in a real Atari.

    What really baffles me in this type of argumentation, is that it is often raised by people who only use x-GHz PC and an emulator, and still seem to consider that an Atari, eventhough there is no Atari custom chips there, no Atari hardware at all, just some kind of historical documentary real-time movie they can replay on their PC.


    But, on the other hand, an actual extension board for an actual Atari computer with actual 6500-line CPU on it is apparently "not Atari enough". Heh.

  14. 40 minutes ago, Faicuai said:

    I will lit every candle and go to every Church I find on the road... I promise. 8-))

    Just, as above, let me know, once you succeed ;)


    In any case, I surely do prefer what exists to something what currently is vague wording only.


    "Virtualize"? I.e. run in virtual time? So, have CPU running at 400 MHz (1.773 x 225), and generate VBL 11000 times per second? And DLI accordingly faster? As I said, just have it built and coded, then we will see what we are talking about. For now, just try to lit candles and visiting churches. I recommend praying to St. Anthony at these occasions ;)

  15. 23 minutes ago, Faicuai said:

    a fully-equipped expansion board for the 400/800 and XL/XE

    Just let me know, when you will have this built and coded around.


    23 minutes ago, Faicuai said:

    would like to run any session of SDX or a dedicated GUI? Advanced networking? Faster rendition of older titles? Exploring OTHER 8b-bit platforms from your A8 keyboard? Access to all your legacy or existing peripherals, those that most of us have collected? No problem, ANYONE could enjoy it!

    Most of this is already theoretically possible even now, with existing accelerators. The "only" problem is that we are not Microsoft with unlimited budget to employ enough skilled programmers full-time. Once you remove this little obstaculum, that vision will have chances to become reality.


    And by the way, re "faster rendition of older titles" - you probably have no idea, how much "older titles" rely on delay loops. For one example, phaeron's XEP80 driver - if it does not work at 20 MHz, you think it will at 400? Accelerating the CPU opens a can of worms most people do not expect to see creeping out. "Advanced networking" - will the TCP stack write itself? Exploring other platforms - will the support code write itself? Etc.

    • Like 2

  16. 16 minutes ago, Faicuai said:

    When we talk about 100Mhz, 200Mhz or even 400 Mhz... at genuine 6502 code-level, that's when we'll go to places...

    For me 10, 20 and 40 MHz are enough (these are the options I have now). Especially that with 16 MB flat memory you get additional gain by avoiding bank switching, you can setup code in the memory as it suits you, lookup tables, if necessary, can be 64 KB or a multiply of that etc. Long story short, once you learn to use the memory past the address $FFFF, there is no return.


    By the way, there is a problem finding RAMs which are fast enough to cope with 65C816 CPU running at 20 MHz. At 40 MHz even SRAMs can have a problem. And you are speaking of 400 MHz. Well, this could certainly be solved, but forget about deterministic timings and the principle that 1 clock cycle = 1 memory access; therefore also about cycling, delay loops and such old techniques.

  17. The poll lists things which I either already have (CPU accelerator, 80-column solution, audio expansion) or can write myself (the software part) or do not need (pretty much the rest). This leaves me without options to vote for :D

  18. Just now, Harry Potter said:

    I will have to experiment to see which sections are really usable.

    Just stick to $80-$FF and $0400-$06FF, if you really really need. Otherwise just use the regular and extended memory. By loading stuff into the OS locations you are only praying for problems. Experimenting may lead to obscure problems which will get difficult to debug in the future.


    Also, the golden rule: write a working program first, optimize later.

    • Like 4

  19. 30 minutes ago, Wrathchild said:

    Loading program ... to 0349-1ED0

    No wonder. Everything from $0349 onwards deemed "locations used by BASIC and OS but not needed by program". Including the IOCB #1 MyDOS binary loader uses, along with the MyDOS binary loader itself and the entire MyDOS.

  20. 12 minutes ago, Harry Potter said:

    Parts of the file are to be loaded into sections of low memory as per my Cubby-hole optimization technique.

    I have an optimization technique called theCubby-Hole technique. This puts code and data in locations used by the BASIC and OS but not needed by the program.


    This probably is the reason for the bizzarre behaviour you are observing: you are overwriting vital system areas then are wondering why the system does not work.


    Just post a binary file you are trying to run, it will probably get clear quickly, why it does not work.

  • Create New...