Elkino Posted April 4, 2021 Share Posted April 4, 2021 (edited) Glad to show an emulated MAC/65 environment with DDT, that can be use from a web page when you want to do some assembly in your free time : https://eahumada.github.io/AtariOnline/mac65/mac65-mame.html Example: ENTER #D:SPRITE1.LST ASM DDT G 500B (You can use the numeric keypad as joystick and some times when you have a game-pad and MAME recognize that is connected you can move the sprite) Sadly, JavaScript MAME is not an accurate emulator, but I have the hope than in the future some other JavaScript/WebAssembly emulator emerge (jsAtari800 maybe? jsAltirra?) to allow to publish Atari interactive 8-bit content Here is the page for the work in progress Project, please feel free to fork and use to create your own content: https://eahumada.github.io/AtariOnline/ Credits to '@8-bit and more' for the inspiration, when I see his videos I don't have and Atari with Mac65/DDT cartridge at hand, then I get this idea and also thinking how the authors of 8-bit content can share their creations live online, for teach and learn 6502 Atari programming. Edited April 5, 2021 by Elkino Fix typo mistakes 2 Quote Link to comment Share on other sites More sharing options...
funkheld Posted April 4, 2021 Share Posted April 4, 2021 Thank you. finally a new language with a breath of fresh air and the internet. greeting 2 1 Quote Link to comment Share on other sites More sharing options...
Elkino Posted April 4, 2021 Author Share Posted April 4, 2021 (edited) Of course an expert can configure a modern IDE and use a cross-assembler. But I think in fact that this can be usefull for beginners, many people study 6502 assembly today: https://codeburst.io/an-introduction-to-6502-assembly-and-low-level-programming-7c11fa6b9cb9 That is the main reason to create a page in that you can experience from first and how is assembly some code and get direct results. Also the are old books that remember the old Atari editors, as atari roots: You can take the AtariRoots book, and practice directly in a live machine: https://eahumada.github.io/AtariOnline/assembler/assembler-mame.html The main motivation is for learn and teaching (apart of historical reasons and nostalgia) and fun! I wonder if you remember that many of us enter in programming, just for the fun that it gives. Just I want that somebody that see a video like this in the future, have the chance to google for some Atari emulator page where to practice. The alternative is have to configure eclipse and install an assembler and emulator to get some result and can be frustrating for a noob. Edited April 4, 2021 by Elkino Quote Link to comment Share on other sites More sharing options...
Elkino Posted April 4, 2021 Author Share Posted April 4, 2021 (edited) Also, if you have a customizable and embed-able emulator, you can create tools and content like this: https://8bitworkshop.com/v3.7.1/?file=joyas.bas&platform=atari8-800xl.mame Additionally, I wish that in the future the javascript/webassembly emulators have internet suppport (emulating fujinet with websocker or R: o N: device), then it can make possible to play your old games (o new ones) online just simple as opening a page. Well..., you may say I'm a dreamer, but I think that I'm not the only one There is a lot of browsers where is possible to take all the great Atari 8-bit apps that the hobbyists create, just for fun. Edited April 4, 2021 by Elkino 1 Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted April 4, 2021 Share Posted April 4, 2021 Had a quick look, doesn't really work for me, the keyboard mapping is all wrong so can't even load a file from disk, also cursor keys don't work. 1 Quote Link to comment Share on other sites More sharing options...
Elkino Posted April 4, 2021 Author Share Posted April 4, 2021 (edited) 6 hours ago, TGB1718 said: Had a quick look, doesn't really work for me, the keyboard mapping is all wrong so can't even load a file from disk, also cursor keys don't work. Hello! thank you very much for your feedback, very appreciated! About your comment yes, your are right, as this is the first version you need to have some patience as it use the default emulator keyboard mapping, then you have to spend some time at beginning looking for the keys where are located in the original Atari, and put your keyboard layout on US-ENG. The break for example is located in the backspace key and you must look where the ctrl+* is located for left arrow, etc. This is the main issue but expecting to fix it. What is your language of your keyboard? What keys are displayed if you press A, B, C, shift-1, shift-2, etc? That can be very useful to me to solve the problem. I will solve that it in the future, if I found out how to indicate custom mappings on MAME. Edited April 4, 2021 by Elkino Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted April 4, 2021 Share Posted April 4, 2021 SHIFT 1 through 0 give !"#$%'@() I'm using a UK keyboard layout. I found 3 of the cursor keys, UP/DOWN are CTRL-[ and CTRL-] and LEFT is CTRL-# not found RIGHT, would be nice if you do what Altirra does which is use cursor keys without having to press CTRL If you press <CAP LOCK> no keys work until you press a second time, so no lower case available [ is - ] is = @ does nothing # is + Shift [ is _ shift ] is | shift , is [ shift . is ] BACKSPACE moves cursor down 2 lines - is < + is > shift - clears screen shift + Inserts a line Can't find the inverse character key 1 Quote Link to comment Share on other sites More sharing options...
Elkino Posted April 4, 2021 Author Share Posted April 4, 2021 (edited) I think that Altirra have 3-modes and the mode that MAME use is more similar to the raw native mode. Could be useful a photo from your keyboard. You detailed list is very helpful, appreciated and a photo of your keyboard can help me to create a set of mappings.That confirm that the keys are mapped based on the location of the US keyboard, as BACKSPACE is located where the Break key used to be. That is exasperating, I taken a look in to the MAME atari400.cpp original source code and found that [del] key should be used for delete, but it not work on my Mac. By the way, I have the intention to fix it. Attached is a picture of the original Atari layout, at the moment the keys are located near to the original location. Edited April 5, 2021 by Elkino Quote Link to comment Share on other sites More sharing options...
Elkino Posted April 5, 2021 Author Share Posted April 5, 2021 (edited) Creating a fork, I have done some fixes on MAME key mappings, compiled the code with emscripten and generated the js files and copied it into to the page. This means that all the mappings can be modified in the future (may be). I also see that using a CFG file it is possible to modify the mappings, muy seems that the JavaScript MAME not parse the file. The mappings now are as follows: BACKSPACE: Delete the previous character. F7: is break. F2,F3,F4 maps to Start, Select, Option. Left ALT is Atari / Inverse mode key. CTRL+Insert: Inserts an space CTRL+Backspace: Delete the next character. The last two mappings happens due that the Shift and Ctrl keys are in fact inverted from the original layout to make easier use CTRL and SHIFT with the other keys. You need to press several time CAPS LOCK to change beetwen upper case to lower case, seems that is a bug in MAME atari400 code. All the other mappings remains the same. At this point, I also added the keyboard image under the emulator to make easier to locate the original key positions. I need to take some time to figure how the mappings are implemented under the hood in order to be able to implement additional features. Also, it is possible also review other mappings in the code. Thanks for your help. https://github.com/eahumada/mame/blob/master/src/mame/drivers/atari400.cpp // Mapped to F2, F3, F4 as in Altirra static INPUT_PORTS_START( atari_console ) PORT_START("console") PORT_BIT(0x04, 0x04, IPT_KEYBOARD) PORT_NAME("CONS.2: Option") PORT_CODE(KEYCODE_F4) PORT_BIT(0x02, 0x02, IPT_KEYBOARD) PORT_NAME("CONS.1: Select") PORT_CODE(KEYCODE_F3) PORT_BIT(0x01, 0x01, IPT_KEYBOARD) PORT_NAME("CONS.0: Start") PORT_CODE(KEYCODE_F2) INPUT_PORTS_END // ... 2021-04 EA: - "BackS Delete" from BACKSPACE is mapped to 'DEL' - "Break" from F7 is mapped to MAMEKEY 'F1' (As pause in not present in MacOSX) */ static INPUT_PORTS_START( atari_keyboard ) PORT_START("keyboard.0") // ... PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Break") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F1)) //... PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Atari") PORT_CODE(KEYCODE_RALT) PORT_CHAR(UCHAR_MAMEKEY(F3)) //... PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("BackS Delete") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(DEL)) Edited April 5, 2021 by Elkino Quote Link to comment Share on other sites More sharing options...
atarialoha Posted May 1, 2021 Share Posted May 1, 2021 Hi. With the MAC/65 web emulator, the key mappings are not for the standard US keyboard. So unfortunately it is going to be impossible for me to use. I finally discovered that the * (asterisk) is typed using \ Maybe a selection for keyboard type is needed, if you wish this to be used by people from around the world. It's a really great and convenient idea! I was so excited to see it, except for the pretty mission critical key mapping problem haha Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.