Jump to content
IGNORED

TI-99/4A Megademo


orbitaldecay

Recommended Posts

I think it's been covered, but just to be clear, the bank switching captures the address bits when you write to cartridge space (so it doesn't matter if you write a value or clear it). The least significant bit is ignored, because every access becomes two 8-bit accesses. Classic99's naming convention is documented in the PDF manual shipped with the emulator, although it doesn't go into detail on the banking itself.

 

Just to help with the ini, though, when you are specifying type 8 or type 9 in the INI, you actually are providing addresses in EPROM space rather than TI memory space. So your one example should have worked like this:

 

[usercart0]
; *** Lena
name="Lena"
; this would become the first bank on the EPROM
rom0=8|0000|2000|mods\lenac.bin
; this would be the second
rom1=8|2000|2000|mods\lenad.bin
; this would be the third
rom2=8|4000|2000|mods\lenae.bin
And Classic99 would end up with a 32k EPROM (rounding up to the next power of 2) with data in the first 24k and the last 8k unused. Since it's type 8 for non-inverted, >6000 would select the '0000' bank, >6002 the '2000' bank, >6004 the '4000' bank, and >6006 the empty '6000' bank.

 

Sorry it's so obtuse... it's a format that has grown too slowly over far too long a time. :)

 

I took a quick look at the Lena GIF too.. I got good results with the default options in Convert9918A, but the one change I'd recommend is change the "Fill Mode" to "Middle". This makes it zoom the image up to fill the screen and drop the edges ('left/top' and 'bottom/right' crop based on the listed position instead of the middle of the image). Having just a few extra pixels to work with makes a big difference. :)

 

attachicon.giftest.png

 

 

Thanks for the clarification, Tursi. I also managed to get better results with the Lena pic by tweaking the Luma and turning on the histogram.

 

 

 

Yep, something like this. Either that, or use 8K of the 32K for the actual control routines (which aren't overwritten) and then use the other upper 16K for data in/out of the cart. We've proven that copy routines from ROM to RAM are pretty darn fast by implementing the "copy to 32K and run" cartridges.

 

I know it gets dicey when copying into lower 8K due to other stuff that's expected to be living there, but you might be able to get away with that as well if you can not stomp on whatever's expected to be there.

 

So, bottom line, something like:

 

Lower 8K: Maybe some character sets and other static stuff?

8K >A000, Control program

8K >C000->FFFE, data being copied from cart

 

Yeah, that's pretty good thinking. Right now I'm toying with keeping the control code and various common routines in lower 8k (like the music player -- there is also plenty of space leftover for character sets and what not) and then keeping the currently playing song in the upper 24k. This will make it easy to have one song play over multiple screens (and it's pretty much the only place a song will fit contiguously). Depending on the song, there will probably be some memory leftover for various screens to tinker with.

 

Edit: Also, Tursi, any clue why the following code isn't working when I have a psgmod 2.04 example song loaded at >A000?

       LI R0,>A000
       BL @SGPLAY       

SPIN   LIMI 2
       LIMI 0
       JMP SPIN
Edited by orbitaldecay
  • Like 1
Link to comment
Share on other sites

SGPLAY is the PSGMod player, which I haven't actually looked at for many years. ;)

 

I downloaded and took a peek, though, and it looks like it should work. Do you have interrupts enabled in the VDP? Is SGTICK getting called at all?

Link to comment
Share on other sites

SGPLAY is the PSGMod player, which I haven't actually looked at for many years. ;)

 

I downloaded and took a peek, though, and it looks like it should work. Do you have interrupts enabled in the VDP? Is SGTICK getting called at all?

 

For anyone else who may be wondering, I was making two mistakes:

 

1. I was using a PSGMOD file when I should have been using an EPSGMOD file (there is a difference)

2. VDP register one didn't have interrupts enabled!

Link to comment
Share on other sites

Hey all, time to dust off my account here. I'm a demoscene musician and was Orbitaldecay's collaborator on this demo among other things; I'm one of the poeple he mentioned in the first post about discussing doing something on the TI. ;) I haven't gone through the whole thread yet but it looks like some great ideas here, will read through better when I have more time.

 

FYI I did some musical experiments last year with DefleMask in VGM format. It's a great little tracker and I'd love to work in that if possible but could easily switch to something else if easier. I also call myself an artist and have done pixel gfx / ASCII/ANSI stuff for various projects before so I'm happy to get involved on the art side of things too.

 

For hardware, I have a badly under-used complete "dev" system including a silver console, RS232-type NanoPEB, several cart PCBs including a 512kB Ubergrom board, an EPROM burner, and an original E/A cart for running stuff. So there's that!

 

The TI isn't the most graphical or musical oldschool system out there but I really think we can make something cool on it. Should be fun. :D

Edited by xjas
  • Like 6
Link to comment
Share on other sites

Pretty much all discussion of this project has moved over to the (very active) slack page at https://ti-994megademo.slack.com. If you're interested in contributing art, music, or code then shoot me an e-mail at orbitaldecay@gmail.com and I'll get you hooked up with a login.

Is the site open for those who are interested in reading the discussions?

Link to comment
Share on other sites

Is the site open for those who are interested in reading the discussions?

 

The site cannot be accessed without an invitation. The unspoken demoscene rule is to remain quiet about what we're working on until it is finished for maximum wow factor :) Code is being actively developed at this time and I don't want it distributed (yet). But you can expect some screen shots to get posted here as progress is made.

Edited by orbitaldecay
Link to comment
Share on other sites

 

The site cannot be accessed without an invitation. The unspoken demoscene rule is to remain quiet about what we're working on until it is finished for maximum wow factor :) Code is being actively developed at this time and I don't want it distributed (yet). But you can expect some screen shots to get posted here as progress is made.

That makes sense ;) With a small community, learning how things work is as important as the wow factor, so I hope some of the tricks and code can be shared after the fact to help raise the bar for us all ;)

  • Like 1
Link to comment
Share on other sites

  • 8 months later...

Nice. Looking forward to seeing it.

 

What are hardware specifications and/or requirements ?

 

32K RAM is required. There is a bit of speech that you will only hear if you have a speech synth attached. The demo will be released as both a 180K disk image (stuffed to the last sector) and a 512K cart image. The cart is recommended since it eliminates the loading time, but it still requires 32K RAM. The disk has two loaders: one that loads between effects, which is kind of disruptive - especially on slow floppy disks, and another that loads everything into SAMS at the beginning and then runs as smoothly as the cart version. Using the latter requires a SAMS card with at least 512K.

 

Edit: Regarding emulation, it runs in MAME/MESS, JS99er.net and the latest version of Classic99. The requirement is that the emulator must allow code to be executed while the screen is drawn.

  • Like 7
Link to comment
Share on other sites

  • 3 weeks later...

The Megademo "Don't mess with Texas" has just been participating in the Synchrony 2017 demo compo. The result of the compo is, at the time of writing, a bit unclear to me. :-)

 

 

http://www.pouet.net/prod.php?which=68783

 

The attached zip archive contains the files and instructions required run the demo on emulation or real hardware. For the best experience, we recommend either the ROM or the SAMS option.

 

Enjoy!

DontMess.zip

  • Like 17
Link to comment
Share on other sites

Please note that you need a memory expansion in MAME; either you have to turn on the internal 32K mod (OSD menu), or you have to insert a 32K card in the PEB. By default, MAME starts the unexpanded console.

 

Very cool work, indeed.

 

Or, for my lack of appropriate words to reflect my emotions, using my mother tongue, I'd say:

 

Sehr, sehr geil.

Edited by mizapf
  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...