Jump to content

invisible kid

Members
  • Posts

    653
  • Joined

  • Last visited

Posts posted by invisible kid

  1. Wow, thank you so much for this detailed answer! I agree, I've used atari800 for quite awhile, and I remember correct SIO sounds at one point. I tried recreating old builds to determine when it changed but it was too difficult due to OSS being deprecated nowadays, and ALSA drivers being moved to the linux kernel(no aoss wrapper script exists as far as I know). Back then I was also building different versions before SDL became the standard(svgalib+oss, x11+oss I believe). One thing I encountered by adding debug statements is in my build of 5.2.0 is the code doesn't flow through SERIO_SOUND paths at all, but through CONSOLE_SOUND, but still generates the SIO sound, so I was being misled at times.

     

    Thanks again! I will chew on this for a bit and might be able to develop a strategy! Or maybe someone more familiar with the code base will be able to use it to come up with something. Thanks again, I'm in awe.

  2. Sorry if this is a bit of a necro bump and slightly off-topic, but might be better than starting a new thread since it is closely related. Currently, the great atari800 emulator does not get the SIO load beeps or ack "fart" sounds quite right. I don't think many people notice because they use it in fast SIO mode where no SIO sound is heard. There are only a couple of us interested in waiting and listening to the SIO noises. If I "remember" correctly, even when doing reads, there is also a simultaneous write verify "clicking" type noise. I think the clicking type noise comes through, but not the happier beep sounds. The ack "farts" also sound a bit off. A bit thin or "trebly."

     

    Well anyway, I'm going through the code and seeing if I can come up with a "fix" or workaround, so if anyone can help or has any input, it would be much appreciated! Probably best if I start with original hardware and documentation related to the original hardware before deep diving into the code. Here is the issue thread on github if anyone wants to interact there:

     

    https://github.com/atari800/atari800/issues/110

     

    The issue also includes adding additional sounds like drive seeking and grinding, but I'm just concentrating on the SIO beeps.

  3. One area where Atari computers seemed more accessible than others that I tried at the time was BASIC and the editing capabilities. A new user could start writing BASIC programs with straight-forward access to the sound and graphics capabilities. Could also incorporate machine language subroutines. Editing programs was easier than on some of the other platforms, you would not need to re-enter lines, you could just edit existing lines and update. I'm not saying all other computers at the time had these issues, but definitely at least a couple did.

    • Like 3
  4. I took a quick look at cleaning them up. It looks like cr/lf's were replaced globally with tabs. So now, some tabs are supposed to be tabs, and some tabs are supposed to be line feeds. I hope I am wrong because it would be difficult/impossible for a script or command to be able to tell the difference and clean them up. Or maybe like someone else said, all cr/lfs were just stripped out, which would be equally hard to replace by script or command.

  5. I tried running M-COIL.XEX from atari800 emulator and got sound only. I was looking at the webpage, so I built and installed blink on linux, but was still unable to run it. It looks like there were some bootstrap instructions at https://language.metaproject.frl/#other but there was no executables created called run or compile. Not looking for help, just wanted to say I'm trying to get it going. I'll still keep hacking at it. Just throwing it out there in case someone has already overcame these difficulties.

  6. So if I remember correctly(don't have time to look at the code right now), the machine code only calculates and updates the screen data, and the BASIC portion just randomly places starting cells. If that's the case, you might improve it by creating an interface where you can enter the cells via joystick, then press START or something to start/stop the cell calculations. Maybe have SELECT only run one generation per press. Then the next BASIC type improvements you could make are saving/loading cell layouts.

     

    If you want to just mess around with the generation rules, like you said you would have to modify the machine language subroutine. The Wikipedia page(I think) would have rule variations and certain patterns that would work well under the new rules.

     

    Another improvement would let it run in different graphics mode, but that would also require messing with the machine code.

     

    You could also remove the machine language routine and perform the cell calculations in BASIC. It would run slower, but it would be much easier modify on the fly.

  7. A segfault will generate a core dump file unless there is a configuration set to not produce one. Then you can open the core file with gdb and it will show a trace of what code it went through and the crashpoint. You can also command gdb to create a core file manually. This page is for a specific distro, but the information looks general. https://wiki.archlinux.org/title/Core_dump

     

    https://stackoverflow.com/questions/5115613/core-dump-file-analysis

  8. I took a quick and dirty stab at converting it to atasm and building it. I was able to make some changes and get it to build. It does run, but I don't think it's running as it should, which is expected, due to the quick and dirty nature of the attempt. I'll attach the files here in case they are useful to someone.

     

    DEMO39-A DEMO39-A.ATR DEMO39-A.SRC

    • Like 1
    • Thanks 1
  9. I couldn't get ImHex going. I don't run a popular linux distro so I need access to the source. I could only find binaries of ImHex even though it said the source was a available. I read in a thread that building it requires a late version of C++, so I would have to update gnu c++, which I'm not sure I would want to do anyway. I did try the binary, but after installing multiple requirements, it needed a later version of libc. I'm sure it works fine on its targets though!

  10. Awesome! Built fine, As a quick test I tried it on the xegs rom, but I guess this falls into the "It will behave badly if a binary load file uses an init routine and then overwrites it with new data."

    $ disasm XeGS.rom
    BOOT_INI = $0000
    BOOT_SECS = $0001
    BOOT_ADDR = $0002

    Thanks again! Very cool.

×
×
  • Create New...