Kabuto information 67 glöps
- general:
- level: user
- personal:
- demotool musicdisk SEGA Genesis/Mega Drive MDMOD Player by Titan [web]
- RWL: yes, we plan to make a bugfix release at some point to fix bugs we found so far. I will look into all the bugs you (and others) post, tackling one after another.
Regarding the files that were not acepted: This was just meant to be a player for Amiga ProTracker MODs. Those 2 that were rejected are PC MODs that use period values (notes) not supported by ProTracker. I might or might not add support for them. But it's a can of worms - just allowing for more frequencies could break Amiga MODs that rely on ProTracker's limits. Also, effects in PC MODs might work differently, someone with more experience would need to help me with this. And I'm not aware of any reliable way of detecting what platform a MOD file was made for in the first place.
Temple of Sun Remix has a related issue, it seems to be a PC MOD as well - even though it stays within ProTracker's note range, its highest note (B-3) is out of range of notes that OCS Amigas can reliably play so I also restricted my player to that. This one is easy to fix in my player, but I really hope that there are no songs that rely on the glitchy playback of B-3 and would thus break...
The volume limit you saw is indeed a technical limitation. Mega Drives have 10 sound channels, only one of which is used (the one that can play PCM). Emulators probably set 100% = the theoretical maximum of all 10 channels at peak, so a single channel will be at 10% amplitude = -20 dB. And even then many MOD files don't exceed 50% of the theoretical maximum amplitude. But some do so better play it safe ;)
Btw there are tricks for boosting the volume on Mega Drives via an undocumented register. But it comes with drawbacks - increased jitter and 5x ladder effect distortion on MD 1. Just turning up the volume a bit is probably the better choice IMHO. - isokadded on the 2022-10-09 20:55:19
- demotool musicdisk SEGA Genesis/Mega Drive MDMOD Player by Titan [web]
- PAL or NTSC does not matter - if you add a region switch to your MD, it will only change the video standard, not the internal clock rates; the internal player runs independent of the video output so it'll sound exactly the same.
MDs that were originally PAL and those that were originally NTSC however have slightly different master clock rates and so pitch/speed will be slightly different between both, just like a record spinning a little bit faster/slower. The number of samples per song tick will still be the same for both of course so songs that use long samples with vocals etc. exactly synced to song ticks it will still work fine in either case.
I did not add a PAL/NTSC check for adjusting song pitch since many MDs are region modded these days and while you can detect the current region, it's impossible to detect the master clock frequency. Any auto adjustment could thus end up going in the wrong direction. - isokadded on the 2022-10-06 13:27:21
- demo Raspberry Pi 420 years of Teletext by AttentionWhore
- The teletext demo many sceners have been waiting for, and you nailed it perfectly!
Special thanks for the write-up. - rulezadded on the 2022-08-22 18:23:02
- 64b Commodore 64 rainbow49 by Genesis Project [web]
- Wertstahl: brute-force search that emulates a number of potential useful opcodes :-)
19-byte 🏳️🌈 - no more LOAD ERROR but this "waves" a bit, couldn't find a way of stabilizing this without increasing its size:
Code:* = $7c SEI loop: SRE $ECBE,X AND $EDA9,X STA $D010,Y LAX $D012 ASL TAY BVC loop
Hex: 7C 00 78 5F BE EC 3D A9 ED 99 10 D0 AF 12 D0 0A A8 50 F0
1st run: starts with A=$52, X=$FF, Y=$01. Will end up writing $20 to $D011 to disable the screen.
Further runs: ASL / TAY ensures that Y is always even (-> will never write $D011 again) and writes go to the border register every 32 rasterlines. - isokadded on the 2020-09-28 15:18:13
- 64b Commodore 64 rainbow49 by Genesis Project [web]
- 23 byte version, might or might not be rule-bending:
Code:* = $7c SEI loop: LDA $D012 AND #$E0 TAX STA $D011,X LDY $A355,X SRE $A651,Y STA $D020 BNE loop
Hex: 7c 00 78 ad 12 d0 29 e0 aa 9d 11 d0 bc 55 a3 5b 51 a6 8d 20 d0 d0 ec
Load normally, ignore the load error (it overwrites system variables in the zeropage which confuses the system), start with RUN.
This abuses the ROM as a source of pseudo randomness for computing the intended color from the current rasterline. Plus a few tweaks for stabilizing the timing so it does not flicker. - rulezadded on the 2020-09-28 12:42:44
- demo SEGA Genesis/Mega Drive MD-NICCC by Titan [web]
- gligli: of course it's easy to do fullscreen with 3 MB of streamed pixels instead of 640 KB of mostly vector data ;)
- isokadded on the 2019-05-02 17:01:20
- 64k Amiga OCS/ECS My Lucky Number by Loonies [web]
- Also, thanks for the technical write-up. I appreciate that very much.
- isokadded on the 2018-02-13 17:34:21
- 64k Amiga OCS/ECS My Lucky Number by Loonies [web]
- That's some crazy use of boolean logic! And very good presentation too. This is one of those few cases that really got me wondering "how on earth did they do it?"
- rulezadded on the 2018-02-13 17:33:28
- invitation Windows Electric Forest by Still [web]
- totally loving that design
- rulezadded on the 2017-04-23 20:13:00
- 256b Commodore 64 A Mind Is Born by lft [web]
- awesome amount of music + progression packed into 256 bytes on a platform that doesn't make extreme sizecoding easy
- rulezadded on the 2017-04-23 20:11:35
account created on the 2009-02-04 12:29:51
