Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by drac030

  1. 1 hour ago, DjayBee said:

    1: 65-65 [$0041-$0041] (1) $00 "00000000" ====> disable SIO sound
    91: 65-65 [$0041-$0041] (1) $03 "00000011" ====> enable SIO sound
    -: 54116-7552 [$D364-$1D80]

    I think these can be safely removed, especially that crap's at the end only purpose seems to be just obfuscating things, if I am not mistaken.


    1 hour ago, DjayBee said:

    2: 743-744 [$02E7-$02E8] (2) -> 27136 [$6A00] ====> MEMLO=$6A00

    This could be moved to the end, just before the last init, perhaps; otherwise the binary does not load in SDX. The result of the operation:




    This one loads under SDX and appears to run:




    • Like 5

  2. IMHO the best is to start programming as on 6502, then gradually get used to new features.


    I can observe that the thing which perhaps is most challenging are the variable-size registers: if the program does not work while it "definitely" should, then it is almost certainly the register size set different than expected in a place. It takes some time to get used to that. Therefore it is best to start off with some default size selected for the entire program, and change it only for particular tasks (subroutines), until remembering what is currently selected becomes automatic.


    New ELSA version on my site, by the way.

    • Like 2

  3. 7 hours ago, 576XE said:

    3. 4. - Can not be formatted...

    Error 160 is "invalid drive number". My guess is that not enough buffers have been declared to handle more than drives D1: and D2: (yup, it is not SpartaDOS, which handles this automatically).

    • Like 2

  4. 17 hours ago, Stephen said:

    Is anyone else having trouble with SC 1.07 (and the new SDX 4.49g) and the "Move" command?  Tagging multiple files works fine if I do a Copy, or Delete.  When I try Move, I get an error 156.

    I just checked it quickly, move works here. SCMAIN.OVL 15849 bytes, 15 Oct 2021 21:33. So more information is needed. BTW. 156 is Bad parameter, a weird error indeed. Could you try reflashing the ROM?


    15 hours ago, reifsnyderb said:

    The programming guide isn't too helpful, unfortunately.

    Its intention is to provide information on how to write application programs rather than drivers. I hope that the next version will contain that section too. What you seem to need is a sector I/O driver, the chapter dealing with that is to be found in this thread, here:


    There are few minor inaccuracies, which I fixed already, but they should not impair anyone much.


    11 hours ago, Kyle22 said:

    I found a typo early on in the Preface of the manual: "It is also assumed that terms such as "PORTB" are do not need to be explained."

    Yup, fixed, thanks.


    11 hours ago, Kyle22 said:

    Also, headers still say 4.48.

    That is to be fixed too, thanks.

    • Like 3

  5. IIRC, to access more drives in DOS 2, you first have to declare more buffers for disks. If you have 4 disk drives, you have to declare 4 buffers. If fewer buffers have been declared, expect problems.


    DISKFIX.COM is a tool to verify the continuity of the files and the integrity of the VTOC (aka disk bitmap).

    • Like 4

  6. On 1/5/2022 at 8:30 PM, ivop said:

    It's not about being compatible, it's about being as small as possible, and then do something neat.

    Something neat that does not work :D


    It is cheating IMHO. A 256-byte intro, which uses illegal OS calls, is not really equally the same as another 256-byte intro which does not use that. They should not be in the same category.

    • Like 2

  7. 5 hours ago, 576XE said:

    Is it possible to say MyDOS what disk will be bootable (FE D5:) while boot process in IDE+ 2.0 env?

    I think it needs patching MyDOS. IIRC, it loads DUP.SYS from "D1:DUP.SYS". So the thing to try is to binary edit the drive number in that string on the booted MyDOS in the memory, then write DOS files to the required disk. It may work. Did not try :)

    • Like 1

  8. The low level formatting is being done by the disk drive's firmware. The floppy is divided into tracks and sectors. After that, the disk is empty (all sectors contain zeros).


    The directory structure is created and written to the disk by the DOS. It is its internal fuction. XIO 255 and friends usually do both things, i.e. send a command requesting physical formatting to the drive, then write out bootsectors, directory sectors, VTOC and other things if applicable.


    The logical disk structure (directory, VTOC etc.) is completely up to the DOS.

  9. There is a new beta version of SpartaDOS X available on the relevant website: 4.49f, dated 31 December 2021. It can be downloaded from here: http://sdx.atari8.info/index.php?show=en_download_beta


    The list of changes relative to the previous beta, 4.49e, is available in the file whatsnew-4.49f.txt


    Perhaps the most important change in this release is that the CAR: device is no longer limited to 8176 bytes per file. The new limit is 7*8176=57232 bytes per file. To take advantage of that, you have to use the new SDXImager, which handles both formats (the new and the old one). The new imager program can be downloaded from here: http://sdx.atari8.info/index.php?show=en_addons


    Sorting the directories should now be much improved, as SORTDIR.COM now uses a new, much faster sorting routine. By "much" I mean 40-50 times faster than the old ICD code. The same sorting routine is used by Sparta Commander to sort directories in real-time for display.


    The ED text editor can now run on VBXE 80-column text console as well as on the software-driven 80-column text console (provided by RC_GR8.SYS).


    Besides, there were bugfixes and minor improvements all around.


    65C816 support


    Also, this version comes with improved 65C816 support, which is now centralized in a form of unified driver, 65816.SYS (this one is for Rapidus OS, and there is another instance for AltirraOS/816, named 65816A.SYS). Owners of Rapidus and Antonia machines may want to put that driver onto the CAR: device before flashing the SDX ROM, along with the SIO816.SYS - these are available on the Toolkit disk, among few others which can be loaded from the HDD. The immediate effect of configuring the system to use these is that much more conventional RAM would be free - as the new drivers load to the RAM past the first 64k. All this is also usable on Altirra.


    The 65816.SYS driver, among other things, contains the binary loader able to load relocatable binaries in SpartaDOS X format to the RAM past the first 64k. Such binaries can be built using the assembler ELSA http://drac030.krap.pl/pl-elsa-pliki.php


    Below I am attaching some small demo program which may help to test, if the 65816 support stuff is properly configured. It requires VBXE. The source code is included.


    Have fun.



    • Like 11
    • Thanks 2

  10. 10 hours ago, phaeron said:

    I'd avoid using Atariki for register/variable names, which has a bunch of strange names like GTIACTL instead of PRIOR for $D01B.

    The alternative names Atariki lists beside (not "instead of") those have been in circulation in Europe (or at least in Poland) for more than 30 years now. I think most/all of them come from the reverse-engineered XL OS listings which were published here in printed form around 1989. So you may say that they were made up by someone (as if Atari's official names were not), but still, GTIACTL actually makes much more sense than "PRIOR".

    • Like 1

  11. 1 hour ago, zbyti said:

    The more poetic something is, the more difficult it is to understand.

    Actually, the poetry is difficult to understand only in two cases:


    1) the poet was/is bad and it is bad poetry,

    2) the poetry is good, but the reader does not understand the language.


    And I do not mean the language of the words, but the language of simple images being used to invoke other images in the reader's mind. Simple example: one could be confused when encountering a phrase like "the one who can see everything", unless we first learn the language of (this specific kind of) poetry and therefore know that this must be Helios, or the Sun.


    The same counts for sculpture or painting, a painted or carved figure will be completely anonymous, unless we know the language. E.g. if you find a sculpture of a woman in ancient dress and with an attic helmet, you would not need any caption to know that it is Athene. Similarly, if you see a religious picture of a man who defeated a dragon, it must be St. George, unless that man is winged, then it is Michael the Archangel.


    So, the principle here is as everywhere else: if something is difficult to understand, then it is either gibberish or you do not understand the symbols.

    • Like 1

  12. 12 minutes ago, Wrathchild said:

    I see it as highlighting the inflection.

    'e' in 'per' is more an 'uh', so sounds like purr' but in the 'se' its more like the 'ey' in 'hey', sounding like 'say'.

    You are right pointing out that "e" in "per" is short, whereas in "se" it is long. But still it does not really need emphasizing in script.


    PS. I now feel guilty for derailing the topic. And yet I cannot blame anyone else, than myself, for that. I probably should report myself to the administration and get banned :D


    • Like 2

  13. 4 hours ago, Kaj de Vos said:

    I have to make choices, the website is not a mind reader.

    That is perfectly understandable. However, the website's title says:



    A New, Human-Friendly Programming Language

    And so, whereas "new", or "programming language" are not obviously striving for strict definition, "human-friendly", for the reasons specified above, may need some explanation on the top of the website, at least as long as the rest of it suggests in a veiled way that "human-friendly" = REBOL-like.

  14. 16 minutes ago, Kaj de Vos said:

    I agree about the confusion, so I added many qualifications to the website.

    Maybe some of these qualifications could be moved to the beginning of the explanations in the website, such as:


    It's a project for REBOL fans



    REBOL has a human-friendly syntax of great clarity and is highly productive.

    because these two are greatly clarifying your definition of "human-friendly" :)

  15. That declared "human-friendliness" seems to cause much confusion here, perhaps it would help if you defined it more precisely. Because, as stated several times already, pretty much everything in this world is human-friendly, even king cobra, once you have already learned how to deal with one.


    From the mere declaration one expects the language to be intuitive, but it apparently is not your intention, for nobody needs to learn things which are intuitive (that is the definition of intuitiveness). So what does this mean really?


    • Like 2

  16. 16 minutes ago, TGB1718 said:

    As $A000 is affected I think SDX is doing something

    $A000-$BFFF is normally occupied by the SDX cartridge. If you want RAM there, use X command (as you did).


    17 minutes ago, TGB1718 said:

    the 16K memory window for the switched RAM blocks is having some effect, I thought it may be U1M

    but again SDX uses RAM through this window

    Yes, "USE BANKED" configuration, as you said, uses the Ext RAM, doing the memory banking at $4000-$7FFF. Any I/O call will result in the memory being banked, so if you put your interrupt routine there, expect a crash.

  17. Quote

    Speed-optimized MD5 hashing for MOS6502.


    Just as the title says. I tried to strike a balance between code size and performance, which resulted in around 2KB of code and around 1750 bytes/s when hashing on a Commodore 64.


    MD5.COM to be found on SDX Toolkit collection hashes 25040 bytes (the first file I grabbed as an example) in 6.94 sec (8.38 including loading from HDD), which gives about 3600 bytes/s. Sure, Atari is faster, but not twice as fast ;)



    • Like 2

  18. 1 hour ago, Kaj de Vos said:

    Not really, because that took the chance discovery of the Rosetta stone.

    Rosetta stone is not very relevant here, because now we are living in the times after the Rosetta stone (so one can learn hieroglyphs from a textbook), and also there were times when the knowledge of the hieroglyphs had not been lost, and you were able to learn them from a teacher. So for the sake of a better analogy, we can say that it is Greek instead of hieroglyphs (because the knowledge of Greek has never been lost).


    The point, at least as I understand it, may be somewhere else. You are claiming that Meta has "Human-friendly syntax" and is "Closer to human language than most computer languages". Perhaps it is so. But for the untrained eye, the examples available in this thread contain much too many usual code symbols (=, [], ~ etc.) to be recognized as a human language: perhaps it is "closer", but still not does not look like close enough.


    For example:


    unsafe!!! constant reference volatile byte! [
      RTCLOK=  ~14


    In human language it would be rather something along the lines of label volatile byte number 20 as "RTCLOK".


  19. 19 minutes ago, Stephen said:

    I believe all the files you need including documentation explaining how to use them and programming manuals are linked on Lotharek's website.  Go to the VBXE page and click the files tab.  Everything you need is there.

    So far he has not even been able to explain this:

    19 hours ago, wildstar87 said:

    I'm not even necessarily complaining about the fact that these things don't work, it is just the expectation when people say, "yeah Spartados supports it.." That stuff should just work if it's part of the OS, and when it doesn't, that's just one more thing to detract from the product.

    Basically, "nothing works, see, how bad it is", but when asked about details, then "oh, I do not know exactly". Gosh.

  20. 2 minutes ago, wildstar87 said:

    I think it might have been like Fdisk

    What FDISK? FJCs FDISK works on VBXE in 80-column mode.


    3 minutes ago, wildstar87 said:

    Date/Time bar

    True, it is about just the only program which does not display itself in VBXE 80-column mode.


    4 minutes ago, wildstar87 said:

    the menu system

    What is "the menu system"? SpartaDOS X MENU _does_ work in 80 column VBXE mode.

    5 minutes ago, wildstar87 said:

    some other stuff

    Program names of that other stuff, please? Even approximately.


    • Like 1
  • Create New...