Jump to content

Xuel's Photo

Xuel

Member Since 21 Aug 2008
OFFLINE Last Active Yesterday, 10:35 AM

#4135862 Altirra Extended BASIC

Posted by Xuel on Wed Oct 17, 2018 3:46 PM

Cool! I found that the PAL version of Cavern10 works both in PAL And NTSC under ATXBasic. It exceeded the frame time under TBXL so I had to make a trimmed down NTSC version. So ATXBasic appears to be faster than TBXL at least in this case.




#4135845 Altirra Extended BASIC

Posted by Xuel on Wed Oct 17, 2018 3:23 PM

Very nice!

 

I was able to get my ten-liners to work just by adjusting memory locations to avoid the A000-BFFF range.

 

Attached File  CAV10AXB.LST   2.06KB   17 downloads

Attached File  JUMPAXB.LST   1.01KB   15 downloads

 

Cavern10 needs temp space to assemble the compressed data. I was able to move this from $A000 to $9000. This new version works on TBXL and AXB.

 

Jump foolishly assumes the display list and screen are at fixed locations. So this new version only works on AXB and the original only works on TBXL.




#4126653 OT: Sad news for retro music fans, Ben Daglish RIP.

Posted by Xuel on Wed Oct 3, 2018 5:11 PM

Sad news. Enjoying this nice collection of his tunes now:

 




#4119962 What would a PRIOR statement look like in hex?

Posted by Xuel on Mon Sep 24, 2018 11:23 AM

Thanks for introducing me to the 6502/6510 disassembler.  I tried to get that running under dos prompt in Wine (have a Mac) and so far no luck.  However I have worked with Distella on the 2600 and got that to work.  So with a bit more effort I should be able to get this to work too.

 

On Mac, you should be able to run it from the shell. You don't need Wine. You may need to add execute permissions with "chmod +x dis". Then just type "dis".




#4119957 What would a PRIOR statement look like in hex?

Posted by Xuel on Mon Sep 24, 2018 11:18 AM

Yeah, you're not looking for the sequence 82EA but rather looking the byte at that address. In the ROM it will be at location 2EA since the ROM starts at $8000.

 

The sequence A9 11 is broken down as:

 

A9 = LDA IMMEDIATE

11 = VALUE 

 

And 8D 1B D0 breaks down as:

 

8D = STA ABSOLUTE

1B = Low byte of absolute address

D0 = High byte of absolute address

 

Here you can see that PRIOR is located at address $D01B.

 

You can kinda break down the instruction bytes like you showed since generally all opcodes that start with A are some kind of LD instruction, e.g. LDA, LDX, etc. and all opcodes that start with 8 are some kind of ST instruction. But that's doesn't fully generalize. For example $A8 is TAY, i.e. transfer register A to register Y. This is a single-byte, 2 cycle instruction whereas LD instructions are all at least 2 bytes and 3 cycles.

 

The Altirra Hardware Reference Manual is the definitive guide. Trevin's page is a decent quick reference.

 

To get the players to blend you need to set bit 6 of PRIOR but note players 1&2 blend only with each other and likewise for players 3&4.




#4119873 What would a PRIOR statement look like in hex?

Posted by Xuel on Mon Sep 24, 2018 9:23 AM

Here's a quick disassembly of your ROM using my disassembler, dis:
 
Attached File  moon-dis.zip   106.11KB   15 downloads
 
Looks like PRIOR is set at 82E9:
 
    lda #$11            ; 82E9: A9 11
    sta PRIOR           ; 82EB: 8D 1B D0

 

So you can edit location 82EA to change the PRIOR setting.




#4092401 Altirra 3.10 released

Posted by Xuel on Wed Aug 15, 2018 9:42 PM

Thanks for the new release.

One feature request: Could you please add a keyboard shortcut for muting sound?

 

P.S.: I know this is low priority, but I just wish you used the updated app icon that I had sent you over a year ago :-)

 

This already exists:

  1. Tools -> Keyboard Shortcuts
  2. Select Audio.ToggleMute from the Available commands list
  3. Click on the text input box above the "Key up" box
  4. Press the key that you want to bind (for example I use Page Down)
  5. Click on Add



#4083713 FujiConvert 0.1

Posted by Xuel on Wed Aug 1, 2018 2:28 PM

FujiConvert 0.2.4:

  • Fixed issues found by Microsoft Edge

 

 

 

it do not work in my browser :( I change settings as i need, and nothing happens after mp3 choose. than i click to reconvert and stil nothing happens. and in the version desription in the left down corner i have only version X.X. iam using Edge, win10 (and it do not work on Chrome and IE too:( )

 

It works for me in Chrome, Firefox and Edge on Windows 10. Are you using the github.io site or running a local copy? If running locally, Chrome doesn't allow web workers when using the file:// interface so you'll need to use an HTTP server or run Chrome with --disable-web-security. If it still doesn't work for you, can you open the developer console and see if it reported an error?




#4082665 FujiConvert 0.1

Posted by Xuel on Mon Jul 30, 2018 10:56 PM

Some quick fixes:

 

FujiConvert 0.2.3:

  • Fixed PCM4+4 initialization after pause/resume
  • Removed CSS-animated progress bars that slowed down the browser
  • Fixed 7800Hz on Firefox



#4081976 Space Invaders UFO Sound Fix?

Posted by Xuel on Sun Jul 29, 2018 9:50 PM

Thank you, and thank you for the explanation too.  I'll give this a shot tonight.

 

So why does it work correctly on the 400/800 though?  Because of the different OS?

 

Correct. The 400/800 OS initializes AUDCTL to 0.




#4081751 Space Invaders UFO Sound Fix?

Posted by Xuel on Sun Jul 29, 2018 3:12 PM

Fixed:

 

Attached File  inv-fix-audctl.rom   8KB   48 downloads

 

The problem is that the code doesn't initialize AUDCTL so it ends up being 00 after a cassette load and 28 after cart load. So I added code to initialize AUDCTL to 0.




#4081452 Using Pulse Density Modulation for 8-bit PCM

Posted by Xuel on Sat Jul 28, 2018 11:17 PM

Just a small request: Would you guys consider posting a video or audio file, even attach an MP3? I have an NTSC and I can't run the PAL stuff that I would so like to hear.

 

Thanks.

 

The PAL files should work on NTSC. They'll just sound slightly higher pitched than they should. Vice versa going from NTSC to PAL.




#4081446 FujiConvert 0.1

Posted by Xuel on Sat Jul 28, 2018 11:03 PM

FujiConvert 0.2.2:

  • Added sinc resampling (super slow)
  • Added SIC! cart support
  • Added preview wave file (always 8-bit regardless of method)

I'm using Ron Nicholson's Quick & Dirty Simple Slow ReSampling technique which is indeed brute-force and slow as advertised. Set resampling effort to "None" to disable.

 

Using "High" effort is enough to get a pretty clean chirp with a pretty clean cutoff. "Ultra" does a bit better. I'm using the sample from the Chirp Wikipedia page.

 

Attached File  Linchirp.ogg.zip   67.21KB   25 downloads

Attached File  Linchirp pcm4+4 mono 7800Hz sic pal high.zip   57.43KB   25 downloads

Attached File  Linchirp pcm4+4 mono 7800Hz sic pal ultra.zip   55.36KB   24 downloads

 

The resampling effort just determines the window size for the sinc convolution:

  • Low = 16
  • Medium = 128
  • High = 256
  • Ultra = 1024

The cutoff frequency is hard-coded at 0.45 * output sample rate.

 

I would love (easy) suggestions for how to speed this up.

 

I added the preview wave file download to verify that the resampling was working. Playing the result in the browser via WebAudio ("Play" and "Stop" buttons) doesn't give a true picture because WebAudio doesn't resample so you get artifacts. That's the whole reason that I added explicit resampling in the first place. See also this post.




#4081421 Using Pulse Density Modulation for 8-bit PCM

Posted by Xuel on Sat Jul 28, 2018 10:12 PM

Here is a video of M.I. by E. converted with Fuji Convert by me into a (alas, extremely noisy) PDM file, intentionally shortened, so the record companies cannot complain. Is the amount of noise normal for a PDM (PCM 4+4) file ?!? Or did I choose wrong settings in Fuji Convert ?
 
attachicon.gifM_I_as_PDM_file.zip
 
video container: AVI with MPEG4 / XVID


I suspect two things are happening for soft clear tones like this: 1) 8-bits is not enough dynamic range and 2) The imperfections of PDM are accentuated.

Even Covox has some noise. Compare these stereo conversions:

Attached File  imm-trim pcm4+4 stereo 31200Hz atarimax pal.zip   837.94KB   23 downloads
Attached File  imm-trim covox stereo 31200Hz atarimax pal.zip   661.91KB   21 downloads


#4071779 Altirra 3.00 released

Posted by Xuel on Mon Jul 16, 2018 9:26 AM

Is this right place for Altirra related questions ?
I need to log memory writes .. just PC, destination address, and value. I found how to log tons of thing, but not this.
Thanks !


You can use the bx command. For example, this will log all writes to ANTIC:
 
bx "write>=$D400 and write<=$D4FF" "r; g"

Example output during Self-Test:
 
(200:105, 17) A=20 X=2C Y=00 S=FA P=35 (   I C)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:112, 79) A=00 X=7A Y=00 S=FA P=37 (   IZC)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:128, 74) A=00 X=7A Y=00 S=FA P=37 (   IZC)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:144, 75) A=00 X=7A Y=00 S=FA P=37 (   IZC)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:248, 51) A=00 X=00 Y=00 S=F9 P=76 ( V IZ )  C026: 8D 0F D4          STA NMIRES   [$D40F]
(200:249, 73) A=51 X=F9 Y=00 S=F9 P=75 ( V I C)  C13A: 8D 03 D4          STA DLISTH   [$D403]
(200:249, 81) A=34 X=F9 Y=00 S=F9 P=75 ( V I C)  C140: 8D 02 D4          STA DLISTL   [$D402]
(200:249, 89) A=21 X=F9 Y=00 S=F9 P=75 ( V I C)  C146: 8D 00 D4          STA DMACTL   [$D400]
(200:251,105) A=E0 X=FF Y=00 S=F9 P=F1 (NV   C)  C178: 8D 09 D4          STA CHBASE   [$D409]
(200:251,113) A=02 X=FF Y=00 S=F9 P=71 ( V   C)  C17E: 8D 01 D4          STA CHACTL   [$D401]
Type ".help bx" for more info.