Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

369 Excellent

About freetz

  • Rank

Recent Profile Visitors

5,915 profile views
  1. Just a short note: I have been using and loving JAC's WUDSN for years now, but since all of my coding is now done in VS Code, I searched for and found a solution that works on my Mac. In case anyone is interested, here's how I did it:
  2. Thanks a lot for this really cool extension! It works perfectly on my Mac :)! I have been using Eclipse with WUDSN for a long time, but since I use VSCode for all my other coding projects, I'm really happy to be able to move my workflow here. Since a few people here have been looking for a way to get this working on a Mac, here's what I did: - Install Wine.app: -- Install brew (if you haven't done so before): /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -- Install wine: brew tap homebrew/cask-versions brew install --cask --no-quarantine wine-stable - Download and extract Altirra from https://www.virtualdub.org/altirra.html - Test if wine works with Altirra from the terminal (adjust paths to your configuration, but make sure you always use the 64 bit versions), ignore the complaints that "Mono" is missing (just hit cancel) and go through the initial configuration: /usr/local/bin/wine64 ~/Downloads/Altirra-4.01/Altirra64.exe - Optionally: Install MADS from https://github.com/tebe6502/Mad-Assembler/releases brew install fpc fpc -Mdelphi -vh -O3 mads.pas cp mads /usr/local/bin - Install the Atasm Altirra Bridge extension in VS Code - Configure the extension to your liking but make sure to configure Atasm-altirra-bridge > Emulator > Altirra: Path to this: /Users/<YOUR USERNAME>/altirra.sh - If you want to use MADS, set the corresponding setting and fill in the full path to the MADS assembler. - Then create altirra.sh with this content (again, adjust paths like above): #!/usr/local/bin/bash /usr/local/bin/wine ~/Downloads/Altirra-4.01/Altirra64.exe [email protected] and change the permissions to executable: chmod 755 ~/Downloads/Altirra-4.01/altirra.sh Now create/open a assembly file and press SHIFT + COMMAND + P to open the command palette and search for "Atasm: Assemble source code and run in Altirra" and execute this command. Upon first execution, it will create a atasm-build.json file. It looks like this: { "comment": "Altirra configuration file.", "_1": "Which asm file is to be compiled?", "input": "theapp.asm", "_2": "Array of folders that will be searched when files are .include(d)", "includes": [], "_3": "Which folder will all the output files be written to. 'out' by default. Always in the workspace!", "outputFolder": "out", "_4": "Additional atasm parameters:-v -s -u -r -fvalue", "params": "", "_5": "List of symbols to be set via the parameter list", "symbols": [], "_6": "If debug is enabled then symbol table and listings are generated for Altirra debugging", "withDebug": true } - You have to change "input" to the primary file you want to compile and replace "theapp.asm" with it. - You have to change "outputFolder" from "out" to "." Then you can press SHIFT + COMMAND + P again and run "Atasm: Assemble source code and run in Altirra" again and now it should compile, fire up Altirra and run your compiled program in it. Happy coding :)!
  3. freetz

    HOKEY demo

    Thank you for the explanation, that of course makes sense.
  4. freetz

    HOKEY demo

    This is awesome news, but what I don't understand so far is why a version for the 8-Bit Atari would be different from the Basic version? I thought the POKEYs used in e.g. Ballblazer were the same as the ones built into the 800 XL for example?
  5. With Midi I hope this will change once MidiJoy is allowed to be sold after the ABBUC hardware contest. Given the demand for "normal" MidiJoy, I assume that chiptunes musicians will be quite interested...
  6. On the PCB, there is a spot for a Schottky diode. If you solder in this diode, the board will be powered from the joystick ports when connected. You can then still flash the Teensy microcontroller whenever you want using a PC/Mac, but you should no longer use USB Midi (for example a sequencer program on the PC/Mac as I did in the video), because then power will be supplied from two sides: Atari joystick port and USB port. The Atari will be protected through the Schottky diode, and my Mac also has not complained yet when both the Atari and USB was plugged in, but of course I cannot say that this is the case for every Mac, let alone every computer. Therefore, it is not recommended to connect the board to USB when it is powered at the same time through the joystick ports. The safest way would be to use a simple USB power supply to power MidiJoy. Then you don't need a PC/Mac, but could still use it when you feel like it. But for purists, the Atari-powered way is always an option.
  7. MidiJoy 2.0 for PokeyMax is now ready and has been submitted to the ABBUC Hardware Contest 2020. Here's a video showing some of the features: For more information on MidiJoy, visit the dedicated thread here:
  8. The USB connection is used for three functions: - To power the board (which can be done via Joystick ports as well if you don't want to use a PC sequencer at all) - To flash the Teensy microcontroller (and thereby the configuration) - To get MIDI input from a PC MIDI sequencer If you only use "classic" MIDI (in the way that I connected the keyboard) and power the board via the joystick ports, then you don't need USB. On the keyboard, I'm using 10 voices at the same time (that's the maximum amount of fingers on my two hands ), but PokeyMax was configured with 16 voices at that time. On the SID, the first six voices are SID and thereafter 10 POKEY voices (if you listen closely, at one point you can hear that a few notes don't sound SID-like, that's when more than six notes are played at the same time and the subsequent notes are played by POKEY).
  9. For the last weeks and months, I have been working on MidiJoy 2.0 for PokeyMax which supports @foft's awesome POKEY substitute that brings 16 POKEY voices as well as optional 6 SID and 6 PSG voices. MidiJoy 2.0 now supports these three soundchips as well as pitch bend wheels and also brings added stability in the note data transmission. It will run on previous MidiJoy hardware without any modifications and will be made available after the ABBUC hardware contest in which it is participating. Here's a video (in German only, but the sound examples should speak for themselves):
  10. Got mine yesterday, but haven't had time to try it out - looks great and thanks for this great service!
  11. I'm still interested in one, please send me the details!
  12. I'm not a big fan of running down Wikipedia; yes, the quality of the articles vary, also depending on what language you use, but in many cases there is hardly a better source except for outright expert sources which often are hard to find or freely accessible. Of course you need to apply common sense and double-check important information, but having said that, atariwiki.org has the same error, so even with double-checking it would not have been easily possible to know that the meaning of this Bit is exactly the other way around. If it is now confirmed that Bit 2 is 0 when a key is still pressed, I'll sign up on these two pages and correct the error (which, by the way, anybody can do).
  13. Thanks, corrected. And as for the meaning of Bit 2, that seems to be a general misconception as I found the same information on its meaning here as well: https://atariwiki.org/wiki/Wiki.jsp?page=SKCTL and here as well: https://en.wikipedia.org/wiki/POKEY#SKSTAT_$D20F_Read
  14. Wonderful, that was the information I was hoping for - but the strange thing is that at least on my Atari Bit 4 in SKCTL ($D20F) is set when there is NO key pressed and it's zero if a key is pressed. This is the code that displays the contents at "HelpText" if HELP is pressed and at "INTRO" when HELP is not pressed / released: lda KBCODE ; $D209 cmp #$11 ; Keyboard code for HELP key bne exitvbi ; if not, then exit lda SKSTAT ; if it is HELP and #4 ; mask out Bit 2 of SKSTAT ($D20F) bne showMenu ; if set, key seems not to be pressed, so show main window showHelp lda #<HelpText ; otherwise sta ScreenMem ; get contents from "HelpText" lda #>HelpText ; and put into sta ScreenMem+1 ; screen memory location bne exitvbi ; and exit VBI showMenu lda #<INTRO ; get contents from "INTRO" sta ScreenMem ; and put into lda #>INTRO ; screen memory location sta ScreenMem+1 exitvbi jmp $e45f ; and exit VBI
  15. Currently, I'm doing the check and screen memory location changes inside an immediate VBI, so it should always happen every 1/50th second. I'll try to set the check to every other VBI and see if that helps...
  • Create New...