Jump to content

Photo

spectra2 (HW checker)

spectra2 f18a speech

17 replies to this topic

#1 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,698 posts
  • Location:Germany

Posted Mon Dec 25, 2017 2:39 PM

Could someone please try the attached binary on the real deal?  It's an 8k cartridge ROM that runs on the unexpanded console.

 

I've been working on enhancing my spectra2 library with some new routines and would like to check if the Hardware is recognized in a reliable way.

 

It should test the below:

 

1. Check if F18A is installed

2. Check if speech synthesizer is available

3. List the VDP refresh rate 50/60Hz

 

 

Thanks.

 

Attached File  test1c.bin   8KB   12 downloads


Edited by retroclouds, Mon Dec 25, 2017 2:44 PM.


#2 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,095 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Mon Dec 25, 2017 5:30 PM

OH OH OH!!!



#3 Vorticon OFFLINE  

Vorticon

    River Patroller

  • 3,726 posts
  • Location:Eagan, MN, USA

Posted Mon Dec 25, 2017 7:20 PM

Sounds interesting! How will it enhance the unexpanded console?

#4 digdugnate OFFLINE  

digdugnate

    River Patroller

  • 2,339 posts

Posted Tue Dec 26, 2017 7:57 AM

i can mess with this today- i'll try on my 994A and report back.



#5 retroclouds OFFLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,698 posts
  • Location:Germany

Posted Tue Dec 26, 2017 8:33 AM

Sounds interesting! How will it enhance the unexpanded console?

 

 

Not quite sure where I'm going with this.

 

Basically I'm trying some new ideas, which even some of them aren't even game related.

But hey, if it's good enough for games it should be good enough for doing some "serious" work on the TI-99/4a  ;-)

 

Also doing some bug-fixing as I want to use spectra2 for a game in the game contest. 

 

I always saw spectra2 as some kind of "mini"-os and want to enhance it a bit further. 

Unfortuantely not that much has happened in the last few years. So I'm really sticking to a plan now, that is doing really small steps (as time permits) and see what I can get out of it in 2018.


Edited by retroclouds, Tue Dec 26, 2017 8:34 AM.


#6 Sinphaltimus OFFLINE  

Sinphaltimus

    River Patroller

  • 2,521 posts
  • Distracted at the Keyboard
  • Location:Poconos, PA

Posted Tue Dec 26, 2017 4:11 PM

On my real iron 99/4a - F18A detected 
Speech Synth detected

VDP refresh rate 60Hz

 

All correct for this console.



#7 retroclouds OFFLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,698 posts
  • Location:Germany

Posted Tue Dec 26, 2017 4:13 PM

On my real iron 99/4a - F18A detected 
Speech Synth detected

VDP refresh rate 60Hz

 

All correct for this console.

 

 

ok, looks promising   :) and thanks for trying.

 

Here is a slightly updated version that should also show the F18A firmware revision.

 

Attached File  test1c.bin   8KB   11 downloads


Edited by retroclouds, Tue Dec 26, 2017 4:14 PM.


#8 Sinphaltimus OFFLINE  

Sinphaltimus

    River Patroller

  • 2,521 posts
  • Distracted at the Keyboard
  • Location:Poconos, PA

Posted Tue Dec 26, 2017 4:59 PM

Yep - works - (newer version with F18a version reporting)



#9 Asmusr ONLINE  

Asmusr

    River Patroller

  • 3,112 posts
  • Location:Denmark

Posted Tue Dec 26, 2017 5:03 PM

In JS99er the F18A is not detected after refreshing the browser, but then it's detected after subsequent resets, which means there must be some kind of inconsistency in JS99er. Which method do you use to detect the F18A?



#10 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,095 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Tue Dec 26, 2017 5:15 PM

You including routines to manage the F18A, as well?  Looking forward to the update.  Might spur me to actually finish my project.



#11 digdugnate OFFLINE  

digdugnate

    River Patroller

  • 2,339 posts

Posted Tue Dec 26, 2017 5:32 PM

on mine without F18A, all three work.

 

Sorry for takihg so long to report back.



#12 retroclouds OFFLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,698 posts
  • Location:Germany

Posted Wed Dec 27, 2017 9:00 AM

You including routines to manage the F18A, as well?  Looking forward to the update.  Might spur me to actually finish my project.

 

Yes, I'm adding a couple of F18A functions as well.

 

Do note that due to some of the changes I'm doing there is no full backwards compatibility with the previous release.

But all in all, these should be rather small changes.   

 

One thing to note is that for this release I'm switching from WinAsm99 to Ralphs' xas99 assembler.   

Being able to do most of my work in a linux-like environment just gives me a better workflow. I also like that Ralphs' source code is available on GitHub.


Edited by retroclouds, Wed Dec 27, 2017 9:01 AM.


#13 retroclouds OFFLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,698 posts
  • Location:Germany

Posted Wed Dec 27, 2017 9:07 AM

In JS99er the F18A is not detected after refreshing the browser, but then it's detected after subsequent resets, which means there must be some kind of inconsistency in JS99er. Which method do you use to detect the F18A?

 

That is interesting. I'm basically running Tursi's solution (GPU code that clears itself) as described in the F18A documentation page 3.



#14 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,095 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Wed Dec 27, 2017 9:40 AM

 

Yes, I'm adding a couple of F18A functions as well.

 

Do note that due to some of the changes I'm doing there is no full backwards compatibility with the previous release.

But all in all, these should be rather small changes.   

 

One thing to note is that for this release I'm switching from WinAsm99 to Ralphs' xas99 assembler.   

Being able to do most of my work in a linux-like environment just gives me a better workflow. I also like that Ralphs' source code is available on GitHub.

 

Well, I can change what needs to be changed in my program to make up if I do not stick with the older release.  And modify what I need in the new release like I did before :)

 

Now, will it still assemble in WinAsm99?  I do not run Linux and I am not keen on fussing with Cygwin (damn thing gives me a migraine, but only half as bad as QuickBooks.)



#15 retroclouds OFFLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,698 posts
  • Location:Germany

Posted Wed Dec 27, 2017 11:37 AM

 

Well, I can change what needs to be changed in my program to make up if I do not stick with the older release.  And modify what I need in the new release like I did before :)

 

Now, will it still assemble in WinAsm99?  I do not run Linux and I am not keen on fussing with Cygwin (damn thing gives me a migraine, but only half as bad as QuickBooks.)

 

At the moment it still does, but dunno if it'll stay that way. I'm splitting up the source code in multiple files so that I can include/skip features as needed.

 

BTW, I'm also on Windows. I'm using the Windows Subsystem for Linux which gives me a linux-like environment in Windows 10. The advantage ist that I till have the possibility to access the files with windows tools, which is important as I'm using classic99 for testing. MS has come a long way and that they are embracing linux is very nice. 

 

IMHO I would really encourage you to take a look at Ralph's assembler. It's very nice and as it's Python it should run in Windows natively. Also what I like is that it's a command line tool so it's very easy to integrate into your editor of choice. I'm using vi and have a shortcut key "F4" defined for assembling the current file and creating the binary on the fly. With classic99 I only have to reset the emulator and the cartridge is already loaded. So develop/testing cycles are very short.


Edited by retroclouds, Wed Dec 27, 2017 11:38 AM.


#16 OLD CS1 OFFLINE  

OLD CS1

    >OLD CS1█

  • 6,095 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Wed Dec 27, 2017 12:42 PM

Getting too old to keep changing...



#17 Asmusr ONLINE  

Asmusr

    River Patroller

  • 3,112 posts
  • Location:Denmark

Posted Wed Dec 27, 2017 1:14 PM

 

That is interesting. I'm basically running Tursi's solution (GPU code that clears itself) as described in the F18A documentation page 3.

 

OK, then I think I know what the problem is: my emulator doesn't run the CPU and GPU in true parallel, so sometimes the GPU won't get to run before the CPU tries to read the result. In my own code I'm usually reading the ID in status register 1 to detect the F18A, so that's why I haven't noticed this issue before. It doesn't happen after refreshing the browser but randomly every 8th time or so.



#18 Tursi OFFLINE  

Tursi

    Quadrunner

  • 5,638 posts
  • HarmlessLion
  • Location:BUR

Posted Thu Dec 28, 2017 8:26 PM

To work around that in Classic99 (which has the same issue), I just force a context switch when the GPUGO bit is set - throw away the rest of the main CPU's time and run the GPU now. Seems to work -- could be abused by software that hit GPUGO every couple of instructions, but I can't imagine that having a useful purpose. ;)







Also tagged with one or more of these keywords: spectra2, f18a, speech

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users