Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

366 Excellent

About freetz

  • Rank

Recent Profile Visitors

5,523 profile views
  1. 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...
  2. 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.
  3. 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:
  4. 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).
  5. 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):
  6. Got mine yesterday, but haven't had time to try it out - looks great and thanks for this great service!
  7. I'm still interested in one, please send me the details!
  8. 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).
  9. 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
  10. 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
  11. 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...
  12. Yes, that would work, but I would still need to press the key again (whether it's HELP or ESC or whatever) and not just release it. If that's the only way it can be done, then it has to be that way (and no, START, SELECT and OPTION are no alternative as they have other uses already). I just wanted to make sure I haven't overlooked a possibility as I think I have seen a program implementing it that way...
  13. Thanks, I tried this, but this results in screen flickering due to the switching between main and help screen, at least with HELPFG (732) because I clear the register and when reading it again, it is still cleared or has just been set to 17 (HELP key pressed) again. As for KBCODE, is there a way to clear it? As its hardware register is "dual use", poking a zero there will start some POKEY timer, IIRC...
  14. Hi folks, I'm currently struggling with displaying a help text in a machine language program that should only be displayed as long as the HELP key is pressed. Afterwards, the previous screen should be restored. Displaying the help screen upon pressing HELP works, so far, I only got it working to the point that you had to press another key to exit the help page. This seems to have to do with the fact that both querying memory locations HELPFG as well as KBCODE keep the last value stored until it is cleared (HELPFG) or a different key is pressed (KBCODE). But I don't want people having to press a key which then might execute a program function they don't intend to. So far I can only think of a workaround like ("press ESC to return to main screen"), but if possible, I'd like to avoid that. Thanks in advance for any pointers, F.
  15. I know that this is not a noob process, but people who have experience flashing JTAG devices, such as AVRs, should not have any significant problems. All these include installing (often times huge) IDEs, drivers for the flashing device etc. Of course it would be necessary to be able to identify the correct firmware, but there would probably be some kind of identifiers such as serial number or something like that which would make it possible. Like Sleepy said, people will do this at their own risk, be it because people just want to have the newest firmware, of if they just want to get it fully functional in the first place (as in my case). As for the availability of the firmware, at least the version for v1, which participated in the ABBUC hardware contest, should be available for ABBUC members as provided by the contest rules so that people can build their own device. While this does not oblige you guys to publish the other firmwares as well, it would of course be nice to do so.
  • Create New...