Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

109 Excellent

About moulinaie

  • Rank
  • Birthday 03/23/1966

Contact / Social Media

Profile Information

  • Gender
  • Location
    France, Burgundy
  • Interests
    Programming, Retrocomputing, Guitar, Singing

Recent Profile Visitors

5,344 profile views
  1. If you want to test the actual DMA soudnfrequencies on one particular machine, you can use my little tool ! Guillaume. dmasound.zip
  2. I remember that I tested the DMA sound on different machines and that the actuel frequencies were not exactly the same on a TT and on a STE. I made tests (a large sound that I played with DMA measuring the time). It appeared that on a TT (compared to a STE): remplace 12517 with 12584, remplace 25033 with 25169, remplace 50066 with 50337. Then, I went on investigating... The DMA sound seems to be driven by a clock derived from the CPU clock. On the TT, the crystal is at 32 215 906 Hz (the double of the VME clock that is documented to be 16.107953 MHz). and: 32 215 906 / 2560 = 12584 32 215 906 / 1280 = 25169 32 215 906 / 640 = 50337 That looks correct to me. So, the DMA on the STE must derive from the CPU clock, something like: 8 010 880 / 640 = 12517 A CPU clock at 8,01088 MHz. Guillaume.
  3. If I remember well, to reinder a sound at a given frequency, you must sample at least at the double frequency. So, as the human ear can detect up to 20kHz (i think..), sampling at 40kHz or a bit higher is correct. Guillaume.
  4. On your page, you're wondering is some SW use this kind of techniques. In MP_STE and M_PLAYER, I have to change sounds from the PC world (11025, 22050 and 44100 Hz) to the Atari World (12517, 25033, 50066 Hz). I use a very dirty trick to get the max speed: I take 8 samples from the source and copy them to 9 samples in the destination just by repeating the last sample twice. So 11025 * 9 / 8 = 12 403 very close to what is needed on Atari. And that's the same for 22KHz to 25KHz and 44kHz to 50kHz. Guillaume.
  5. Hi ! Here are the results: Atari TT/32MHz with ST Ram 100 = 0.05 1000 = 2.01 3000 = 15,96 Atari TT/32MHz with TT Ram 100 = 0.05 1000 = 1,89 3000 = 14,93 MegaSTE/16MHz 100 = 0.13 1000 = 8.23 3000 = 70.73 That's it ! Guillaume.
  6. I use a CPX from the control panel that allows you to set the flags for an executable file (PRG/TOS). It is called PRG Flagsetter in the Control Panel. Guillaume
  7. Hello, Here are the results on the TT 32MHz with and without TT-Ram. And you're right, the PAK68/3 is faster!
  8. For the TT 32MHz: using ST-RAM : 15,97 (both versions) using TT-RAM : 15,18 (both versions)
  9. For the FALCON CT60/100MHz: Using ST-RAM: 2,64 (version 68000 or 68030) Using TT-RAM : 1,70 (both versions)
  10. Yes, you're right! I swapped to Version 3 and here are the results: (What is strange is that the version for 68000 and for 68030 have exactly the same timings! See the screen shots) FOR THE MEGA STE: 16 MHz+cache : 70,72 8MHz, no cache : 140.39
  11. Yes I think you did! Your result is on my page, a line with: Stacy PAK68/3 68030 50 MHz TOS ST Ram 4mn 5.77s for the calculation of 16384 digits. Do you still have the same result? Guillaume.
  12. Hello, This is the HELLO WORLD adapted for output to screen or to a file. Attached you'll find the source code and the TTP program. If you leave the parameter box empty, then it displays on the screen and waits for a key. If you write a filename as the parameter (such as OUTPUT.TXT), it will create it and write to it. Back to desktop without key press. OUTPUT "redirect.ttp" move.l 4(sp),a0 ; basepage lea 128(a0),a3 ; the command line move.l $18(a0),a1 add.l $1c(a0),a1 ; end address of my used space add.l #$200,a1 ; room for the stack move.l a1,sp ; stack ! sub.l a0,a1 move.l a1,-(sp) move.l a0,-(sp) clr.w -(sp) move #$4a,-(sp) trap #1 ; MSHRINK, reduce space lea 12(sp),sp moveq #0,d0 move.b (a3)+,d0 ; command line length beq.s no_file ; if zero, then no filename specified clr.b 0(a3,d0.w) ; else, make sure that the command line ends with zero clr -(sp) ; standard attribute pea (a3) ; the name in the command line move #60,-(sp) ; fcreate trap #1 addq.l #8,sp move d0,handle ; saves the handle bmi.s no_file ; if negative, then creation has failed ! move d0,-(sp) ; my file move #1,-(sp) ; standard output handle move #70,-(sp) ; fforce -> redirect standard output to my file! trap #1 addq.l #6,sp st mode bra.s common no_file: sf mode common: pea text(pc) ; my text move.l #text_end-text,-(sp) ; number of bytes move #1,-(sp) ; standard output move #64,-(sp) ; fwrite trap #1 lea 12(sp),sp tst.b mode ; display to the screen? beq.s no_file2 ; yes! so just wait for a key and quit move handle,-(sp) ; else, my file move #62,-(sp) ; fclose trap #1 addq.l #4,sp bra.s common_end ; don't wait for a key, just quit no_file2: move.l #$20002,-(sp) ; wait for a key trap #13 addq.l #4,sp common_end: clr -(sp) trap #1 ; pterm, back to TOS data text: dc.b "Hello World !" text_end: even bss mode: ds.w 1 ; MSB = 0 for screen, FF for file handle: ds.w 1 even end Guillaume. redirect.zip
  13. Hi, You can write a program that will read the command line. If it is empty, then it displays on the screen. If there is something, it is supposed to be a filename and the programe creates/writes/closes this file instead of using the standard output. You would call it this way: hello (output to screen) hello mytext.txt (output to file mytext.txt) And as suggested by @ParanoidLittleMan, your program can use the same routines for display or save to file. Only the start would be different. Guillaume.
  14. Hello, I made the tests again without the TT RAM (TT 32MHz, ST RAM): pi-st.tos : 15,97 sec pi-st30.tos : 18,95 sec Guillaume.
  • Create New...