-
Content Count
4,006 -
Joined
-
Last visited
-
Days Won
13
Posts posted by Asmusr
-
-
56 minutes ago, GDMike said:I'm looking for what isn't listed that I'm not aware of though. I didn't want to push it to vdp RAM, I was hoping to just have my data in high Mem where it is already and mov it from there.
You have to move your data to VDP RAM before you can save it. And you can only load data from disk into VDP RAM.
-
1
-
-
Now with speech and a talking chest. 😃
raycaster.dsk raycaster.rpk raycaster8.bin
The guards, being very polite, recognize that you're one handed.
-
8
-
-
1 hour ago, Omega-TI said:Perfection is for the Borg
Is that the Omega directive?
-
2
-
2
-
-
Thanks for the comments and suggestions. Just to explain, for a fast raycaster I think I'm well covered by the one I already made. If I decide to make another, texture mapped one, I'm well aware that it wouldn't run fast enough for an action game, but for a turn based RPG game it could be fine. See this video where I have set the speed to 2 FPS. It's moving 1 block at a time and turning 90 degress. I think that would be doable on the TI. I'm a big fan of RPGs like Might and Magic III.
[video deleted by mistake]
-
1
-
-
1 hour ago, speccery said:Thanks for sharing your thoughts, interesting discussion here. When you say that the bandwidth is around 2k per frame on the TI, what is the frame rate you're assuming? Probably not 60fps, more like 30fps?
That's for 60fps. But 2k is if almost all your instructions are movb to the vdp, which is difficult to achieve in practice.
-
1
-
-
2 hours ago, TheMole said:Not sure if this is correct though. Even looking at the thumbnail of the video, your horizontal resolution seems higher than what the 9918a can display using the 4x1 macropixel method. Look at the slope of the leftmost block. That looks like it uses a 1x1 pixel resolution to me. I think you've only applied the 4x1 limitation to the textures themselves.
This version has a superimposed 8x8 grid. Where do you see that slope?
-
2
-
-
7 hours ago, PeteE said:I was working on a websockets interface for TIPI as a goal for emulation. Let me clean up the code a bit and I'll share it.
That would be helpful since I have not programmed in Python before. My concern is that if it differs too much from the master branch it would no longer be emulating the TIPI.
Doesn't the current programming model mean that the RPi is running with high CPU load 24/7? I wouldn't want my emulator to do that.
-
1
-
-
There is no issue on the TI/emulator side. The problem in on the python side where I need to use something like https://websockets.readthedocs.io, which is event driven/asynchronous. It's not possible to poll a websocket, so it doesn't plug into TipiMessage as it is.
-
Yesterday I looked into implementing TIPI support in JS99er. My idea was to use websockets as the interface between JS99er/TI and the python code, which would be slow, but I don't think that would matter for the emulation. I got stuck because the python code is implemented as a polling loop instead of being event driven. What would it take to reverse control so that TipiMessage is notified when a byte has been received instead of polling for it? For the normal code branch I guess it would mean moving the polling loop into libtipi.
-
This video is made on a PC, but it's showing graphics that the TI-99/4A would be capable of if it was fast enough. It's using the 4x1 fat pixel bitmap mode of the 9918A that you get by setting the pattern table to a fixed 11110000 pattern and only updating the color table. I'm pretty sure it wouldn't be fast enough on a TI for a first person shooter, but for a dungeon crawler game it might be fine.
-
8
-
-
9 hours ago, speccery said:Thanks to the tip from @Asmusr I used classic99 to measure the speed of my code. With some simple changes I was able to get the time of a one bit left shift for 16 scanlines down from around 135K cycles to about 97K cycles. Only modifying the pattern tables, not touching color tables. There are in total 32*16=512 VDP RAM reads and and the same amount of writes. Come to think go it, my code actually probably reads one extra strip at the end. Anyway, in the big picture that's around 100 cycles per each VDP access and processing.
If you want to speed things up you should look into how to avoid any VDP reads and how to avoid settings up the VDP write address more than once.
-
1
-
-
1 hour ago, speccery said:Overall it was fun to do some assembly programming after a while. One question which came to mind was that how would one easily do cycle counting, does classic99 for example support it? I.e. reset cycle counter at a break point, and read the count at another breakpoint?
Just add a "breakpoint" like T(start-end), e.g. T(A000-A030) to count the cycles between >a000 and >a030.
-
3
-
-
2 hours ago, artrag said:Now you could add doors that slide up or down
I think sideways would be a lot easier.
-
5 hours ago, Vorticon said:Does this require the F18A?
No it doesn't. It even runs on MAME 🙂.
-
1
-
1
-
-
I agree that the floor color has to change, so I have used the yellows that I don't use anywhere else. And I have fixed the gun movement.
-
11
-
1
-
-
I'm experimenting with various things. One is the floor pattern, as you will see.
You can also shoot the baddies now, but the baddies can't shoot you.
SpoilerAnd for fun you can also shoot the walls. That means you can break out of the map. I'm displaying your current memory address at the top right corner. You can walk out of lower RAM and into DSR space at >4000. When you reach the cartridge area at >6000 you may experience "black ice" in the shape of immutable memory. Maybe you can find you way into the busy >8300 region, and travel on to the >A000 region and kill the evil program?
-
5
-
-
I have always been fascinated by Zaxxon, and it would be a nice challenge to make a port for the F18A. For the 9918A I think the MSX1 version is already as good as it gets.
-
4
-
-
There is a Zaxxons Trainer in the GameBase. It only has some sprites.
-
1
-
-
I never found out where the DSRLNK that BASIC uses is located, and why we don't use that from assembly. Is it because it's written in GPL?
-
1
-
-
The thing with GPL DSRs is that they only work from BASIC because assembly programs generally don't look for them.
-
1
-
-
1 hour ago, LASooner said:If you're working on sprites, If we could define a range as a flip book to work on sprite animation that would be useful
ie, select sprite 3 as the first frame and sprite 8 as the last frame and have it cycle through all sprites "frames" at a defined frame rate.
It's not high on my to-do list because you can click manually through the sprites. Actually my to-do list is empty at the moment. 🙂
-
54 minutes ago, PeteE said:Please don't truncate the number of characters. The .mag files are in an easily-to-parse text format, which makes it possible to extract the data directly using awk or a custom tool as part of my build script. I rarely use the export features in Magellan. I don't think you should worry about files saved with super character set to be loadable in older versions of Magellan.
I thought so. I have uploaded the new beta version with more sprites and even more characters to https://magellan.js99er.net/
This version also includes an 'Open recent' feature.
-
2
-
-
If you're running Magellan in Windows 10 and it looks blurry, you can disable the scaling by opening the properties for the Magellan.exe file, click Compatibility, click Change high DPI settings, check Override high DPI scaling behavior, and choose Application from the list.
-
I have a question about how mag files should work with the super character set. Internally Magellan will always use the super character set, so you can change character set size freely without losing and data. But when a mag file is saved, should the number of characters be truncated to the current character set size? The former has the advantage that mag files are compatible with older versions of Magellan if you don't use the new feature. The latter has the advantage that you never lose data even if you changed to a smaller character set. The beta version is doing the former, but I'm leaning towards the latter. What do people think?

Supernotes
in TI-99/4A Development
Posted · Edited by Asmusr
Deleted.