Jump to content

Asmusr

Members
  • Content Count

    4,000
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by Asmusr

  1. I'm thinking about building a hydrid TI-99 with CPU emulation and hardware graphics card using a Raspberry Pi, an Adafruit Prototyping Pi Plate Kit <http://adafruit.com/products/801>, a F18A video board and a modified version of MESS that replaces the 9918A emulation with something that can talk to the F18A. I have no idea if this would be possible - just came up with the idea today - but I think it would be fun to do and a great platform for experimenting with the new F18A features. Any thoughts?
  2. Hi sometimes. Glad you like it. I have removed the 'beta' and included the source code. I would like to do some more work on it at some point, e.g. to add a better copy/paste function, but for now I think version 1.6 is finished. magellan-1.6.zip
  3. Like this? magellan-1.6.zip
  4. Yes the jar file is the Java program. On my system you just have to double-click it. I have compiled it using Java 6, but it runs fine under Java 7, which is the current version. You don't need the JDK - just the JRE.
  5. New beta version with larger character images and improved performance. magellan-1.6.zip
  6. I'm also having problems with the first volume being wiped out from time to time. My card is a 256MB Sandisk Ultra II. After reformatting volume 1 a few times I just stopped using this volume. I also purchased a 2GB Sandisk Ultra (not Ultra II) card, but I stopped using it after a few times because multiple volumes were corrupted (and in reality I only need a few volumes).
  7. Has anyone tried to build a 4 Bank 8K Supercart using this particular chip? http://www.jameco.com/1/1/25278-43256-12l-sram-5v-32k-x-8-120ns-dip-28-memory.html
  8. Thank you sometimes99er and nanochess for guiding me in the right direction. I have been playing around with scrolling for a few weeks, and here is my first demo of pixel smooth scrolling in half bitmap mode: http://www.youtube.com/watch?v=XGc_ZwbnXQ4 Note that the video is doing a bad job of showing how smooth the scrolling really is: the screen moves only 1 pixel row at a time - even at the highest speed of 60 FPS. The attached disk contains the E/A 3 file (SCO). Use the joystick to control the speed and move the sprite. On emulators it looks pretty good and on a real console it's even more smooth. However, on the console the top of the screen is flickering - at least on my console with the F18A. If this was to be used in a game I think you could use the top of the screen as text/status area to prevent the flickering. Scrolling.zip This is basically just pattern updating and name page flipping, and it only works with relatively simple graphics. If you're interested in more details I can write some notes... The map/graphics was made in Magellan 1.6: http://atariage.com/...n/page__st__275
  9. Here's the first beta version with bitmap mode color support. Note that I have implemented this as a global option (Options / Bitmap Mode Colors) rather than an attribute of a map project. You need to switch it on before you import any data with bitmap colors. I think all features work, including import of half bitmap mode VRAM Dumps (included a Rock Runner example, which other games are using half bitmap mode?). Let me know if you find any problems or have suggestions for improvement. I'm holding on to the source code for now until any bugs have been fixed. [Edit] Forgot to mention that in order to edit a character you first left or right click in the color panel to select the foreground or background color. You then use the same mouse buttons to draw in the grid. It takes a while to get used to that all the foreground/background pixels in a row change their color together. magellan-1.6-beta.zip
  10. Looks reasonably easy to do. I think I can have a test version ready within a week.
  11. I will take a look at the code to see how difficult it is to implement half bitmap mode color support.
  12. I see. For some reason I thought that the masking was for both read and writes, but it's clearly more useful if it's only for reads done by the VDP.
  13. In relation to sprites and half bitmap mode, I was wondering if the VDP memory areas that are masked off by this mode (>0800->17FF) and (>2800->37FF) - and are therefore impossible to write to - can be used for sprite pattern tables if you copy your data into VPD memory before enabling the half bitmap mode? It seems to work fine on Classic99. Could the sprite bug have anything to do with where you place your sprite tables?
  14. I was also thinking about about half bitmap mode, but I wasn't aware of the sprite issue.
  15. Isn't this his website? http://www.dreamcodex.com/
  16. Hi sometimes99er, are you planning to add support for bitmap mode colors to Magellan? If not then I think I will do it.
  17. Perhaps a crazy idea, but would it be possible to run an assembler on the F18A GPU? Being able to assemble fast would reduce the pain of programming on a real TI considerably. But I guess it would be difficult to fit an assembler and the source code into the 16K VDP memory + 2K, or what? This bring me to my actual question: If you want to run some code on the GPU that uses branch instructions and not just jump instructions, how would you produce and 'upload' that code? Thanks.
  18. Ah yes, unrolling the loops, I forgot about that old trick. But actually a quick test shows that it doesn't help much, only about 20% faster. What is the best way to profile you code in Classic99, is there some way to count how many cycles an entire subroutine call takes? Thanks for your advice.
  19. Drawing lines in CPU RAM and sending the entire 6K image to the VDP for every frame: http://www.youtube.com/watch?v=xPudgJISSfc&feature=youtu.be Result: 2-3 frames/second. Hmm, need to improve the speed before this could turn into a game... lines.txt
  20. Does anyone know how the smooth scrolling in Warzone 2 was done? Are there other examples of games using smooth scrolling?
  21. Thanks for all the replies. Regarding the bitmap page flipping, I see two alternatives to the option proposed by Tursi. One is to use the bitmap + text mode with only two character sets - otherwise there is not enough room for the screen image table within 8K. The problem with that is that the F18A doesn't support this mode according to this link: http://www.msx.org/forum/msx-talk/hardware/v9938v9958-tms991829-pcb-adaptor?page=1 Another option is to use standard graphics mode with only a 16x16 characters (128x128 pixels) area for bitmap drawing, but that would be rather lame.
  22. I'm new to TMS9900 assembler (bought my second TI-99/4A a few months ago after a 30 years break) and I have been reading this thread with great interest. I only had a console with XB and a tape recorder those many years ago - no E/A, 32K, PEB, disks, etc. - and it's really exciting to come back and explore all the things I missed (thanks to the nanoPEB). As my first project I have managed to write a pretty decent bitmap mode line drawing routine in assembler following the advice in this thread, however, I have a mixed bag of questions that I hope someone can answer: 1. The VDP read routine provided by Matthew in this thread does not have the delay prescribed in the E/A manual between sending low and high byte. Is this a mistake or is it not really necessary? I know the F18A does not need the delay, and since I have one of those great boards installed in my console it's difficult to test. How about emulators, do they care about the delay? Is there a window after vsync where the delay is not needed? VSBR MOVB @R0LB,@VDPWA * Send low byte of VDP RAM write address MOVB R0,@VDPWA * Send high byte of VDP RAM write address MOVB @VDPRD,R1 * Read byte from VDP RAM B *R11 2. Is there a clever way to read a VDP byte, modify it (e.g. OR with a bit mask), and write it back without having to set the write address twice? (like temporarily disabling auto-increment) 3. There doesn't seen to be any bit instructions in the instruction set. If I want to set bit n (variable) in a register I can set it to >8000 and shift right (n-1) times. Is there a faster way? 4. Is immediate addressing, e.g. LI R1,>0001, faster than memory addressing, e.g. MOV @ONE,R1? What if ONE is in scratch pad? 5. Are byte instructions, e,g. MOVB, faster than word instructions, e.g. MOV? 6. Is it possible to construct a full screen monochrome bitmap mode with double buffering (by flipping between two character tables)? My research so far says no, but I thought I would ask the experts. This old post is the most promising I have found, but according to Thierry's tech page the described mode is not available: https://groups.google.com/forum/?hl=en&fromgroups=#!topic/comp.sys.ti/r1ZZPxkqZwI 7. Can anyone point me to a good alternative to the KSCAN routine? The one in the ROM is pretty lousy as far as I understand. 8. What is the easiest way to place a small routine in scratch pad? I don't suppose you can use AORG? Thanks, Rasmus
  23. Could you post a list of the updated built-in GPU support functions?
×
×
  • Create New...