Jump to content

Search the Community

Showing results for tags 'midi'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Atari Systems
    • Atari General
    • Atari 2600
    • Atari 5200
    • Atari 7800
    • Atari Lynx
    • Atari Jaguar
    • Atari VCS
    • Dedicated Systems
    • Atari 8-Bit Computers
    • Atari ST/TT/Falcon Computers
    • Atari Portfolio
  • Classic Consoles
    • Classic Console Discussion
    • ColecoVision / Adam
    • Intellivision / Aquarius
    • Bally Arcade/Astrocade
    • Odyssey 2 / Videopac
    • Vectrex
    • Nintendo Entertainment System (NES) / Famicom
    • Super Nintendo Entertainment System (SNES) / Super Famicom
    • Sega Genesis
    • 3DO Interactive Multiplayer
    • Dreamcast
    • SMS High Score Club
    • TG-16/PC Engine High Score Club
  • Classic Computing
    • Classic Computing Discussion
    • Apple II Computers
    • TI-99/4A Computers
    • Commodore 8-bit Computers
    • Commodore Amiga
    • Tandy Computers
  • Modern Consoles
    • Modern Gaming Discussion
    • Sony Playstation 5
    • Xbox Series S/X
    • Atari VCS (Redirect)
    • Nintendo Switch
    • Microsoft Xbox One
    • Sony PlayStation 4
    • Microsoft Xbox 360
    • Sony Playstation 3
    • Nintendo Wii / Wii U
  • Gaming General
    • Gaming General Discussion
    • Arcade and Pinball
    • Emulation
    • Hardware
    • Prototypes
    • Gaming Publications and Websites
    • International
  • Marketplace
    • Buy, Sell, and Trade
    • Auction Central
    • Wanted
    • Free Games and More
    • User Feedback Forum
  • Community
  • Community
    • Events
    • Show Us Your Collection!
    • Member Blogs
    • High Score Clubs
    • Poll Forum
    • Contests
    • User Groups
    • AtariAge News Discussion
    • User Submitted News
  • Game Programming
    • Homebrew Discussion
    • Programming
    • Hacks
  • Site
    • Announcements
    • Forum Questions and Answers
    • AtariAge Store Discussion
    • Site and Forum Feedback
    • Rarity Guide
    • Archived Forums
  • PC Gaming
  • The Club of Clubs's Discussion
  • I Hate Sauron's Topics
  • 1088 XEL/XLD Owners and Builders's Topics
  • Atari BBS Gurus's Community Chat
  • Atari BBS Gurus's BBS Callers
  • Atari BBS Gurus's BBS SysOps
  • Atari BBS Gurus's Resources
  • Atari Lynx Programmer Club's CC65
  • Atari Lynx Programmer Club's ASM
  • Atari Lynx Programmer Club's Lynx Programming
  • Atari Lynx Programmer Club's Music/Sound
  • Atari Lynx Programmer Club's Graphics
  • The Official AtariAge Shitpost Club's Shitty meme repository
  • The Official AtariAge Shitpost Club's Read this before you enter too deep
  • Arcade Gaming's Discussion
  • Tesla's Vehicles
  • Tesla's Solar
  • Tesla's PowerWall
  • Tesla's General
  • Harmony/Melody's General
  • Harmony/Melody's CDFJ
  • Harmony/Melody's DPC+
  • Harmony/Melody's BUS
  • Harmony/Melody's CDFJ+
  • ZeroPage Homebrew's Discussion
  • Furry Club's Chat/RP
  • PSPMinis.com's General PSP Minis Discussion and Questions
  • PSPMinis.com's Reviews
  • Atari Lynx 30th Birthday's 30th Birthday Programming Competition Games
  • 3D Printing Club's Chat
  • Drivers' Club's Members' Vehicles
  • Drivers' Club's Drives & Events
  • Drivers' Club's Wrenching
  • Drivers' Club's Found in the Wild
  • Drivers' Club's General Discussion
  • Dirtarians's Members' Rigs
  • Dirtarians's Trail Runs & Reports
  • Dirtarians's Wrenching
  • Dirtarians's General Discussion
  • The Green Herb's Discussions
  • Robin Gravel's new blog's My blog
  • Robin Gravel's new blog's Games released
  • Robin Gravel's new blog's The Flintstones Comic Strip
  • Atari Video Club's Harmony Games
  • Atari Video Club's The Atari Gamer
  • Atari Video Club's Video Game Summit
  • Atari Video Club's Discsuuions
  • Atari Video Club's Concerto Games
  • Atari Video Club's AVC Games
  • Star Wars - The Original Trilogy's Star Wars Talk
  • PlusCart User's Bug reports
  • PlusCart User's Discussion
  • DMGD Club's Incoming!
  • DASM's General
  • AtariVox's Topics
  • Gran Turismo's Gran Turismo
  • Gran Turismo's Misc.
  • Gran Turismo's Announcements
  • The Food Club's Food
  • The Food Club's Drinks
  • The Food Club's Read me first!
  • The (Not So) Official Arcade Archives Club's Rules (READ FIRST)
  • The (Not So) Official Arcade Archives Club's Feedback
  • The (Not So) Official Arcade Archives Club's Rumor Mill
  • The (Not So) Official Arcade Archives Club's Coming Soon
  • The (Not So) Official Arcade Archives Club's General Talk
  • The (Not So) Official Arcade Archives Club's High Score Arena
  • Adelaide South Australia Atari Chat's General Chat & Welcome
  • Adelaide South Australia Atari Chat's Meets
  • Adelaide South Australia Atari Chat's Trades & Swaps
  • KC-ACE Reboot's KC-ACE Reboot Forum
  • The Official Lost Gaming Club's Lost Gaming
  • The Official Lost Gaming Club's Undumped Games
  • The Official Lost Gaming Club's Tip Of My Tounge
  • The Official Lost Gaming Club's Lost Gaming Vault
  • The Official Lost Gaming Club's Club Info
  • GIMP Users's Discussion
  • The Homebrew Discussion's Topics
  • Hair Club for Men's Bald? BEGONE!
  • Alternate Reality's Topics
  • Board games, card and figure games's Topics
  • please delete's Topics
  • StellaRT's Topics

Blogs

  • BinaryGoddess' Blog
  • Albert's Blog
  • MegaManFan's Blog
  • Ed Siegler's Blog
  • FireTiger's Blog
  • Atari Rescue Group's Blog
  • EricBall's Tech Projects
  • liquid_sky's Blog
  • Cybernoid's Blog
  • Lost Blog
  • shep's Blog
  • Trey's Blog
  • Boo
  • Kepone's Blog
  • Beware of Kiwi
  • Fun in the beer mines
  • PacManPlus' Blog
  • Atari 8-bit Moria port
  • Tim's Blog
  • Mindfield's Chewy-Centered Blog
  • The Long Dark Teatime of the Soul
  • TP's Blog
  • Adam Sessler's Brutally Honest Blog
  • Shut Up and Play Yer Atari
  • None
  • Atarinvader's Blog
  • Atari 8-bit archiving
  • Brunobits' Blog
  • ATARIeric's Blog
  • wrenchien's Blog
  • Trade-N-Games' Blog
  • wapchimp's Blog
  • Shared Words
  • Bastard's Blog
  • homerwannabee's Blog
  • Haydn Jones' Blog
  • The World According To Yuppicide
  • How I did It
  • Buck's Blog
  • atwwong's Blog
  • 1
  • sandmountainslim's Blog
  • Atari Jaguar Projects + More
  • StanJr's Blog
  • Schmutzpuppe's Blog
  • Bullitt's Blog
  • panda_racer's Blog
  • Inky's Blog
  • Lauren's Place
  • DanBoris' Tech Blog
  • atariauctions' Blog
  • Planet Bob
  • CSIXTY4.com
  • Robin Gravel's Blog
  • lestergame
  • Duke 4ever's Blog
  • Atari Haiku Blog
  • An7ron
  • glitch's Blog
  • Coleco-Atari Era
  • Kenfused's Blog
  • Ralph3's Blog
  • nester's one star gaming
  • Halt and Catch Fire
  • lizard's Blog
  • Laner's Classic Gaming Blog
  • Page 6
  • keilbaca's rants
  • SirWilliam's Blog
  • Birdie3's blog
  • MattG/Snyper2099's Blog
  • madmjennifer's Blog
  • Ablogalypse Now
  • Endless Quest
  • Greenious' Blog
  • wookie's Blog
  • Justclaws' Blog
  • VTAtari's Blog
  • SID CROWE TESTING THE blog softwareeee
  • Dutchman2000's Blog
  • Famicoman's Blog
  • scogey's Blog
  • Retro Gaming Obscuria
  • atarifan49's Blog
  • Chronogamer
  • flavoredthunder's Blog
  • Shernand's Blog
  • Robert M's Blog
  • albaki's Blog
  • BTHOTU's Blog
  • Zach's Projects
  • BuzzTron-451's Blog
  • The Occasional Coder
  • Joystick Lunatic Software on AtariAge
  • Zander's Blog
  • The randomness that is Mr. 8-bit/16-bit.
  • bluetriforce's Blog
  • ubikuberalles' Blog
  • Worm Development Blog
  • Eight Bit's Blog
  • mos6507's Blog
  • phaxda's Blog
  • potatohead's Blog
  • Mountain King's Blog
  • The Southsider
  • The World is Flat?
  • brianwolters' Blog
  • Bidouille's Blog
  • Zybex/Atariware Blog
  • JagDiesel's Palace 2
  • Sega_master's Blog
  • Deep into the Mind Game
  • Bob's Blog
  • Rockin' Kat's Blog
  • Push Me, Pullman
  • (Insert stupid Blog name here)
  • dgob123's INTV Blog
  • Random Terrain's Tetraternarium
  • Odyssey Development Corner
  • Pacmaniax
  • GPD Comics Blog
  • sergiomario's Blog
  • prorobb's Blog
  • Days Atari Events
  • gamester1's Blog
  • Shannon's Blog
  • Mord's Blog
  • liquidcross.com - blog
  • MIPS HEAVY INDUSTRIES
  • MayDay Today
  • javiero's Blog
  • Great Exploitations
  • Monster Angriff's Blog
  • Draikar's Blog
  • Random Acts of Randomness
  • TROGBlog
  • hex65000's Blog
  • Being Of The Importance Of Shallow Musing.
  • daclmi's Blog
  • 2600 in 2006
  • Sayton's Blog
  • For whom it may concern
  • Osbo's Blog
  • ataridude81's Blog
  • Wiesbaden Gaming Lab
  • SpiceWare's Blog
  • The Upward Spiral
  • Web-Frickin'-Log
  • Starosti 8bitového grafika
  • WWW.BUYATARI.TK
  • commodore & atari :)'s Blog
  • Dusk2600's Blog
  • GAMEBOT
  • Lynx 20 years
  • Songbird Productions
  • SpaceInvader's Blog
  • Retro point of view
  • VampyricDreams666's Blog
  • le geek's nonsense
  • Hardcore's Nostalgia
  • 4old-times-sake's Blog
  • shadow460's Blog
  • AtariJr's Blog
  • Memoirs of an X register
  • maximebeauvais' Blog
  • atari2600land's Blog
  • .:maus:.
  • PAM1234's Blog
  • Nabuko's Den
  • Paranoid's Blog
  • Culmins Development's Blog
  • Atari Joe's Flippin' Sweet Blog
  • When Robots Attack
  • Flack's Daily Smack
  • Jboypacman's Blog
  • neonesmaster's Blog
  • Classic Stories
  • Bruce Tomlin's Blog
  • Beetle's Blog
  • 5-11under's Blog
  • EricDeLee's Blog
  • TunnelRunner's Blog
  • jaymz887's Blog
  • fojy-harakiri's Blog
  • Shroo-man's Blog
  • Ataria51's Blog
  • Mr. Pac-Man's Blog
  • JellE's Dwelling
  • Gaming With Rogmeister
  • Pengwin's Blog
  • neotokeo2001's Blog
  • Arcade's Blog
  • R. Jones' Blog
  • payman84ce's Blog
  • Awed Thoughts
  • super mario 64 level editor
  • Christos' Blog
  • atari_collector's Blog
  • imtron's Blog
  • My Vintage Game collection
  • classicgamingguy's Blog
  • HP Atari King of Michigan's Blog
  • Unknown arcade titles from Fighter17
  • Ain't got time for no Jibbajaba
  • Wickeycolumbus' Blog
  • Ramblings of a moron
  • HatNJ's Blog
  • BlogO
  • ELEKTROTECK
  • bf2k+'s Blog
  • ParaJVE's Blog
  • Cody Rushton's blog
  • It's my life!
  • Bakasama's Blog
  • Dennis V's Blog
  • RaRoss' Blog
  • Collecting Demos
  • Dave Neuman's Blog
  • Borntorun's Blog
  • warren798's Blog
  • Tweety's Blog
  • -^CB^-'s Game Reviews
  • seekingarobiejr's Blog
  • revival studios
  • bust3dstr8's Blog
  • Rom Hunter's Blog
  • Shark05's Blog
  • Lord Helmet's Blog
  • ryanez1's Blog
  • kit's Blog
  • Burma Rocks
  • Bubsy Bobcat Fan Blog
  • Habaki's Blog
  • Dan's Road to 2600 nirvana
  • wccw mark's Blog
  • Hornpipe2's Blog
  • Phantom's Blog
  • Piggles' Blog
  • Dino Dash Derby
  • games_player's Blog
  • 1982VideoGames' Blog
  • Cabbage Patch Kids! Lookin' Great!
  • Confessions of an Aging Gamer...
  • theking21083's Blog
  • retrogeek's Blog
  • Liveinabin's scribbles
  • Cimerians' Blog
  • CollectorVision Blog
  • Ransom's Random Posts
  • www.toyratt.com's Blog
  • RonPrice's Blog
  • s0c7's Blog
  • doyman's Blog
  • DJTekid's Blog
  • EG's code blog
  • kiwilove's Blog
  • 8 Bit Addiction
  • Playing With History
  • simonh's Blog
  • Zereox's Blog
  • Draconland
  • chris_lynx1989's Blog
  • Phuzzed's Blog
  • 7800 NZ's Blog
  • Gamera's Reviews: E.T Coming Soon!
  • Iwan´s Irrational!
  • seemo's Blog
  • The Eviscerator Series
  • Noelio's Blog
  • 480peeka's Blog
  • For Next
  • Take 'Em To The Woodshed
  • bankockor Blog
  • Kelp Entertainment
  • 2600 Fun Blogs
  • PinBlog
  • IHATETHEBEARS' BLOG
  • Atari Fan made Documentary
  • Flashjazzcat's Blog
  • THE 1 2 P's Demo/Import/Gaming Blog
  • STGuy1040's Blog
  • enyalives' Blog
  • Mirage1972's Blog
  • blogs_blog_286
  • The Word Of Ogma
  • GC's blog
  • nanobug's monument of geekiness
  • dogcorn's Blog
  • I Can't Think of a Catchy Title
  • please help and share story
  • ivop's Blog
  • what is the chicago basment
  • Cheat Blog
  • zeropolis79's Blog
  • My video game library
  • the.golden.ax's "Oh my Blog"
  • ValuGamer
  • wolfpackmommy's Blog
  • Z80GUY's Blog
  • jwierer's Blog
  • kroogur's Korner
  • Verbal Compost
  • Frizo's Collecting Adventure!
  • Old School Gamer Review
  • ...
  • Rybags' Blog
  • BDW's Blog
  • tweetmemory's Blog
  • toptenmaterial's Blog
  • grafix's Bit Mouse Playhouse
  • S1500's Blog
  • hackerb9's blog
  • EricBall's Tech Projects (PRIVATE)
  • MagitekAngel's Blog
  • I created this second blog on accident and now I can't figure out how to delete it.
  • keilbaca's Blog
  • TestBot4's Blog
  • Old School Gamer Review
  • The Mario Blog
  • GideonsDad's Blog
  • GideonsDad's Blog
  • GideonsDad's Blog
  • Horst's Blog
  • JIMPACK's Blog
  • Blogpocalypse
  • simonl's Blog
  • creeping insanity
  • Sonic R's Blog
  • CebusCapucinis' Blog
  • Syntax Terror Games
  • NCN's Blog
  • A Wandering Shadow's Travels
  • Arjak's Blog
  • 2600Lives' Blog
  • 2600Lives' Blog
  • Kiwi's Blog
  • Stephen's A8 Blog
  • Zero One
  • Troglodyte's Blog
  • Austin's Blog
  • Robert Hurst
  • This Is Reality Control
  • Animan's Blog Of Unusual Objectionalities
  • Devbinks' Blog
  • a1t3r3g0's Blog
  • The 7800 blog
  • 4Ks' Blog
  • carmel_andrews' Blog
  • iratanam's Blog
  • junkmail's RDE&P Blog
  • Lynxman's FlashCard Blog
  • JagMX's Blog
  • The Wreckening
  • roberto's Blog
  • Incagold's Blog
  • lost blog
  • kurtzzzz's Blog
  • Guitarman's Blog
  • Robert @ AtariAge
  • otaku's Blog
  • otaku's Blog
  • revolutionika's Blog
  • thund3r's Blog
  • edweird13's Blog
  • edweird13's Blog
  • That's what she said.
  • Hitachi's Blog
  • The (hopefully) weekly rant
  • Goochman's Marketplace Blog
  • Marc Oberhäuser's Blog
  • Masquane's AtariAge Blog
  • satan165's Dusty Video Game Museum
  • lazyhoboguy's Blog
  • Retail hell (The EB years)
  • Vectrexer's Blog
  • Game Maker to Game Dev
  • Retro Gaming Corporation
  • Hulsie's Blog
  • Tr3vor's Blog
  • Dryfter's Blog
  • Why Are You Even Reading This?
  • Xuel's Blog
  • GamingMagz
  • travelvietnam's Blog
  • pacmanplayer's Blog
  • TheLunarFox's Blog
  • caver's Blog
  • Atari 2600 for sale with 7 games 2 controllers
  • A Ramblin' Man
  • toiletunes' Blog
  • Justin Payne's Blog
  • ebot
  • Markvergeer's Blog
  • GEOMETRY WARS ATARI 2600
  • LEW2600's Blog
  • Pac-Man Vs Puck-Man's Blog
  • Bri's House
  • Les Frères Baudrand's Blog
  • Secure Your E-Commerce Business With ClickSSL.com
  • raskar42
  • The P3 Studio
  • Bydo's Blog
  • defender666's Blog
  • TheSSLstore - SSL certificates Validity
  • Chuplayer's Blog
  • pacman100000's Blog
  • POKEY experiments
  • JPjuice23's Blog
  • Gary Mc's Blog
  • arkade kid's Blog
  • MaXStaR's Blog
  • SUB HUNTER in A8
  • ScumSoft's Blog
  • The Social Gamer
  • Ping. Pong. Ping. Pong.
  • kgenthe's Blog
  • mapleleaves' Blog
  • Dallas' Blog
  • bfg.gamepassion's Blog
  • Esplonky's Blog
  • Fashion Jewellery's Blog
  • Gabriel's Blog
  • CJ's Ramblings
  • Dastari Creel's Blog
  • dobidy's Blog
  • dragging through the retro streets at dawn
  • Please Delete - Created by Accident
  • Nerdbloggers
  • Algus' Blog
  • Jadedrakerider
  • Appliciousblog.com
  • frederick's Blog
  • longleg's Blog
  • Brain droppings...
  • Sandra's blog
  • Bastelbutze
  • polo
  • VectorGamer's Blog
  • Maybe its a Terrible Tragedy
  • Guru Meditation
  • - - - - - -
  • The 12 Turn Program: Board Game Addiction and You
  • Tezz's projects blog
  • chonglily's Blog
  • masseo1's Blog
  • DCUltrapro's Blog
  • Disjaukifa's Blog
  • Vic George 2K3's Blog
  • Whoopdeedoo
  • ge.twik's Blog
  • DJT's High Score Blog [Test]
  • Disjaukifa's Assembly Blog
  • GonzoGamer's Blog
  • MartinP's Blog
  • marshaz's Blog
  • Pandora Jewelry's Blog
  • Blues76's Blog
  • Adam24's AtariAge Blog!
  • w1k's Blog
  • 8-bit-dreams' Blog
  • Computer Help
  • Chris++'s Blog
  • an atari story
  • JDRose
  • raz0red's Blog
  • The Forth Files
  • The Forth Files
  • A.L.L.'s Blog
  • Frankodragon's Blog Stuffs
  • Partyhaus
  • kankan313rd's Blog
  • n8littlefield's Blog
  • joshuawins99's Blog
  • ¡Viva Atari!
  • FujiSkunk's Blog
  • The hunt for the PAL Heavy Sixer
  • Liduario's Blog
  • kakpu's Blog
  • HSC Experience
  • people to fix atari Blog
  • Gronka's Blog
  • Joey Z's Atari Projects
  • cncfreak's Blog
  • Ariana585's Blog
  • 8BitBites.com
  • BrutallyHonestGamer's Blog
  • falcon_'s Blog
  • lushgirl_80's Blog
  • Lynx Links
  • bomberpunk's Blog
  • CorBlog
  • My Ideas/Rants
  • quetch's Blog
  • jamvans game hunting blog
  • CannibalCat's Blog
  • jakeLearns' Blog
  • DSC927's Blog
  • jetset's Blog
  • wibblebibble's Basic Blog
  • retrovideogamecollector's Blog
  • Sonny Rae's Blog
  • The Golden Age Arcade Historian
  • dianefox's Blog
  • DOMnation's Blog
  • segagamer99's Blog
  • RickR's Blog
  • craftsmanMIKE's Blog
  • gorf68's Blog
  • Gnuberubs Sojourn Dev Journal
  • B
  • iesposta's Blog
  • Cool 'n' Crispy: The Blog of Iceberg_Lettuce
  • ahuffman's Blog
  • Bergum's Thoughts Blog
  • marminer's Blog
  • BubsyFan101 n CO's Pile Of Game Picks
  • I like to rant.
  • Cleaning up my 2600
  • AnimaInCorpore's Blog
  • Space Centurion's Blog
  • Coleco Pacman Simulator (CPMS)
  • ianoid's Blog
  • HLO projects
  • Retro Junky Garage
  • Sega Genesis/Mega Drive High Score Club
  • Prixel Derp
  • HuckleCat's Blog
  • AtariVCS101's Blog
  • Tales from the Game Room's Blog
  • VVHQ
  • Antichambre's Blog
  • REMOVED BY LAW AUTHORITY
  • Synthpop Universe
  • Atari 5200 Joystick Controllers
  • Top 10 Atari 2600 Games
  • Is Atari Still Cool?
  • Buying Atari on Ebay
  • matosimi's Blog
  • GadgetUK's Blog
  • The StarrLab
  • Scooter83 aka Atari 8 Bit Game Hunters' Blog
  • Buddpaul's Blog
  • TheGameCollector's Blog
  • Gamming
  • Centurion's Blog
  • GunsRs7's Blog
  • DPYushira's Entertainment Blog
  • JHL's Blog
  • Intellivision Pierce's Blog
  • Manoau2002 Game and Vinyl Blog
  • Diamond in the Rough
  • Linky's Blog
  • flashno1's Blog
  • Atari 2600 Lab
  • jennyjames' Blog
  • scrottie's Blog
  • Draven1087's Blog
  • Omegamatrix's Blog
  • MegaData Manifesto
  • Selling Atari on Ebay.
  • Unfinished Bitness
  • TI-99/4A Stuff
  • eshu's blog
  • LaXDragon's Blog
  • GozAtari8
  • Bio's Blog of Randomness
  • Out of the Pack
  • Paul Lay's Blog
  • Make Atari 2600 games w/o programming!
  • Rudy's Blog
  • kenjennings' Blog
  • The Game Pit
  • PShunny's Blog
  • Ezeray's Blog
  • Atari 2600 game maps
  • Crazy Climber Metal
  • Keith Makes Games
  • A virtual waste of virtual space
  • TheHoboInYourRoom's Blog
  • Msp Cheats Tips And Techniques To Create You A Better Gamer
  • Tursi's Blog
  • F#READY's Blog
  • bow830
  • Gernots A500 game reviews
  • Byte's Blog
  • The Atari Strikes Back
  • no code, only games now
  • wongojack's Blog
  • Lost Dragon's Blog
  • Musings of the White Lion
  • The Usotsuki Crunch
  • Gunstar's Blogs
  • Lesles12's Blog
  • Atari Randomness
  • OLD CS1's Blog
  • waterMELONE's Blog
  • Flickertail's Blog
  • Dexter's Laboratory Blog
  • ATASCI's Blog
  • ATASCI's Blog
  • --- Ω ---'s Blog
  • mourifay's Blog
  • Zsuttle's gaming adventures
  • Doctor Clu's Space Shows
  • TWO PRINTERS ONE ADAM
  • Atari Jaguar Game Mascots
  • Learning fbForth 2.0
  • splendidnut's Blog
  • The Atari Jaguar Game by Game Podcast
  • Syzygy's Story Blog
  • Atarian Video Game Reviews
  • Caféman's Blog
  • IainGrimm's Blog
  • player1"NOT"ready's Blog
  • Alexandru George's Blog
  • BraggProductions' Blog
  • XDK.development present Microsoft Xbox One Development
  • Song I Wake Up To
  • Jeffrey.Shamblin's Blog
  • Important people who shaped the TI 99/4A World
  • My blog of stuff and things
  • David Vella's Blog
  • Osgeld's Blog
  • CyranoJ's ST Ports
  • InnovaX5's Blog
  • Star_Wars_Collector
  • Alp's Art Blog
  • Excali-blog
  • STGraves' Blog
  • Retro VGS Coleco Chameleon Timeline
  • Geoff Retro Gamer
  • Geoff1980's Blog
  • Coleco Mini
  • Coleco Mini
  • 7399MGM's Blog
  • 7399MGM's Blog
  • doubledragon77's Blog
  • Ballblogɀer
  • pitfallharry95's Blog
  • BawesomeBurf's Blog
  • Fultonbot's Atari Blog
  • Dmitry's Blog
  • Kaug Neatos Crash Bandicoot Bandwagon
  • lexmar482's Blog
  • vegathechosen's Blog
  • Atari 2600JS
  • Doctor Clu's Dissertations
  • schmitzi's Blog
  • BNE Jeff's Blog
  • AverageSoftware's Development Blog
  • FireBlaze's Blog
  • Atarimuseum.nl
  • Vorticon's Blog
  • TurkVanGogH GameZ's Blog
  • bow830's Blog
  • Arcade Attack - Retro Gaming Blog
  • MrRetroGamer's Blog
  • GG's Game Dev, Homebrew Review, Etc. Log
  • dazza's arcade machine games
  • Alcor450's Blog
  • The Outback
  • -^CroSBow^-'s Hardware Videos
  • Captain's Blog
  • Memoirs of a Novelty Account
  • newcoleco's Random Blog
  • Second-Hand Shop
  • Doctor Clu's BBS Trotter
  • Lunar eclipse of the mind
  • simon2014's Blog
  • PhilipTheWhovian's Blog
  • Troff the Shelf
  • jacobus Indev
  • Pac & Pal for the Atari 2600 fan project
  • drawscreen then reset
  • Retrogaming Ramblings
  • G-type's Blog
  • Blog o' Buttons
  • DarQ Massacres' Atari 2600 collection
  • FireStarW's Blog
  • Bobbety_F's Blog
  • Rose-Tinted Recollections
  • Young Guy Experiencing Atari
  • Gray Defender's Blog
  • atasciiview
  • 2600 games worse then E.t
  • ZippyRedPlumber's Blog
  • game_escape's Blog
  • Jackel192's Blog
  • The UAV Blog
  • MykGerard
  • OS9Dude's Blog
  • FPGA video game console
  • darryl1970's Blog
  • Funkmaster V's Gettin' Hip with tha Atari 7800
  • AtariMI1978's Blog
  • AtariMI1978's Blog
  • vidak's Blog
  • 8-bit Computer System Colors in Food Coloring
  • WebSiteRing
  • The Best Assembly Computer
  • As time goes by ...
  • Atari 2600 Collection Bulk Box/ Cartridge Sale
  • T.R.A.S.H Blog
  • goodlasers' Blog
  • GauntletKing2878's Blog
  • My Inner Geek
  • A Raccoon's Retrocade Romp - AA Edition
  • homeboy's Blog
  • ThatAtomCat's Blog
  • Hawk's Blog
  • Bryan's Random Stuff
  • Developing Atari Programs on the Atari 800
  • Eltigro's Blog
  • Memories Limited to 640KB
  • my journey to completing the entire Atari libaray
  • Roblox
  • Question for Homebrew publishers
  • zilog_z80a's Blog
  • Return of the Bobcat
  • deepthaw's Blog
  • Little bit of this and little bit of that
  • Shannon's Blog
  • DoctorSpuds Reviews Things
  • Atari Portfolio Page On Facebook
  • azure's Blog
  • The Atari Kid
  • Alien Isolation Blog
  • Atari_Ace's Blog
  • AtariAdventure's Blog
  • AtariCrypt
  • acsabo's Blog
  • Bioshock Text adventure
  • AtariAdventure Reviews
  • Infinite Warfare Specialist
  • Karl's Blog
  • Bjorkinator's Babbles
  • DZ-Jay's Random Blog
  • CX40Hero's Blog
  • Heroes & Shadows Dev Blog
  • Empty
  • GoldLeader's Blog
  • Adventures in CC65
  • CS2X C# on Atari
  • pboland's Blog
  • Matts's Blog
  • orrko8791's Blog
  • orrko8791's Blog
  • Revontuli's Blog
  • Not Steve's Blog
  • Not Steve's Blog
  • SPACE ROANOKE
  • My life
  • skycop's Blog
  • cessnaace's Blog
  • Omegasupreme's Blog
  • Atari 2600 A/V Mods Wiki
  • Mike Harris' Blog
  • Skwrl63's Blog
  • sometimes99er
  • Mallard Games Development Blog
  • Regaining an Obsession
  • Psi-5
  • The Atari Journals
  • Herovania
  • TBA
  • Bluejay Records Co.
  • Running On Fumes
  • Mozartkügel's Midnight Retro Development
  • Alcadon
  • baktra
  • Flojomojo's Simple Mind
  • MarkO
  • Lazydead's Loose Ends
  • OldSchoolRetroGamer's Bloggy Nonsense
  • Magmavision After Dark
  • My Homebrew Devlog
  • BUBSY Blogs [blank]
  • Too young for Atari, too old for XBox
  • KC-ACE Blog
  • Brown Altitude Bar
  • Bubsy TV Pilot Wiki
  • Poltergeist
  • Projektstunde
  • bluejay's corner of random shit
  • SpornyKun
  • alex_79's Blog
  • Atari Label Reproduction/ Relabeling
  • Ephemeral
  • My opinion and story about Atari 2600
  • Sony PlayStation 5/PS5™ Development Kit (Dev Kit) for SALE
  • Delete
  • Superkitten
  • Doublediwn
  • Reindeer Flotilla
  • Intellivision hacks (.cfg files)
  • My Experience Learning 68k Assembly
  • My Atari Projects
  • Writing is hard
  • My Atari 2600 Collection
  • Jodi C. Kirby's blog
  • Power outage a few days ago
  • Sony PlayStation 5/PS5™ Development Kit (Dev Kit) for SALE
  • xNeoGeo1982Blogx
  • The Ivory Tower Collections 7800s
  • Incognito Atari 800 step by step pictorial install tutorial/guide including ATR swap button mod
  • Cree's Stories
  • Testing
  • NeonPeon's (Mark W's) Adventures in programming for Vectrex
  • Stories from the -: ITC :-
  • Gameboy & dress up games
  • BRP's random dev journaling
  • My PC-Engine/TurboGrafx-16 Projects
  • Ivory Tower Technical Notes
  • Programming a game..
  • Games People Play
  • Atari 8-bit Memories, Ideas, and Active Projects
  • WEATHER REPORT
  • Biff's Blasts
  • Programming Journey
  • CREE BENNET DOESN'T CARE
  • Mark W Plays Old Games on a Thursday
  • 35 Years, 9 Months and 16 Days in the Life Of...
  • IntellivisionRevolution's Blog
  • Atari BBS Gurus's News
  • On Duty's Blog
  • The official Robin Gravel's club's Archive
  • Bowling's Blog
  • Lawnmover's Blog
  • Null's null
  • Null's Blog
  • KC-ACE Reboot's KC-ACE Reboot Blog
  • Wizzy's Concept and Theme
  • Wizzy's Form
  • Wizzy's Moodboard
  • Wizzy's Space
  • Wizzy's Magical objects
  • Wizzy's Progress
  • Wizzy's At home
  • Wizzy's Halloween
  • Wizzy's Equipping
  • Wizzy's Mentor
  • Wizzy's World
  • Wizzy's Trials
  • Wizzy's Characters
  • Alternate Reality's Blog

Calendars

  • AtariAge Calendar
  • The Club of Clubs's Events
  • Atari BBS Gurus's Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


Facebook


Twitter


Instagram


YouTube


eBay


GitHub


Custom Status


Location


Interests


Currently Playing


Playing Next

  1. What Midi keyboards are you using with your ST's? What is a good beginner one (49 key min) that won't break the bank? Wade
  2. At least once a year a giant used book sale happens in a town near me. Gone are the days when you could find a table full of computer books to look over. Now even the music section is not large enough to keep me busy while my wife looks over the gazillion books that could end up in her shopping bag(s). This year three books were carried to the car. John Brimhall's Adult Piano Course Complete (going to take more then 20 min. every 3 months), Johnannes Brahms Complete Shorter Works for Solo Piano (already in the box for book re-donations), and Traditions by Maggie Sansone for Hammered Dulcimer. Traditions is a collection of Irish, Scottish, English, American, and French-Canadian Folk music for Hammered Dulcimer. The music includes Tremolo, Valley Roll, Grace note, Slide and Roll embellishments that give the dulcimer its unique sound. Programming them into the MIDI Music System (MMS) may present a a bit of a challenge. Not all these techniques are used in any one song and it should be possible learn the sequence of MMS commands. The Hunt - 2000.mp3 The Hunt The Hunt - looked like a fairly easy Irish Hornpipe to get started. I rarely find triplets in my sheet music but a quick look at the MMS manual to jog my memory got me through the first three notes of the song. Once the Melody was in, a base/harmony was programed into Voice 2. This was programed using one note of the cord triad shown for guitar accompaniment. This proved to be a very dull song and started the task of looking for a song a little more Irish sounding. Then this was found 10 pages beyond The Hunt. Made those changes and then looked for a synth patch that sounded close to a dulcimer. On the Proteus 2000 synth "gtr:The 12String" - Cmpsr,7,51 ended the search. It's all here in in the .MUS files for MMS. THEHUNT5.MUS without the control changes for the Proteus 2000. HUNT2000.MUS has the controls and sets patch. Maybe you can find better dulcimer. The Hunt .atr Files: THEHUNT.MUS - Part A and base - as written. THEHUNT2.MUS - THEHUNT + Part B THEHUNT3.MUS- {PartB and Base) V1PB.V01 - #3 as voice files V2.V02 - THEHUNT4.MUS - voice files and part A - complete as written. THEHUNT5.MUS - changed to dotted rhythm. HUNT2000.MUS - Added settings for Proteus 2000 gtr:The 12String - Cmpsr,7,51 (0-4,32-7,S-51) MIDI Channel 1
  3. After the MIDI Keyboard started working, the change channel, Radio buttons and adjusting the control values quickly followed. These were assembled into TEST15.APP and the video was recorded. The NTS-1 arpeggiator was turned on and the controls were adjusted. The control values were sent by moving the mouse pointer into the slide area. While the mouse was over the area, the value was displayed above the slide. While the button was pressed, the value was sent to the NTS-1 and displayed in the radio button area. An "XXX" indicates that the control hasn't been set. The patch evolved throughout the video. Near the end it started to produce a sound resembling an organ (I think). Now the LOAD and SAVE routines have to be written and a couple of minor changes need to be made. I think I'm going to start by writing a Save routine for the Random Patch Generator. Considering the last time I programed using the FILESELECT macro was 1993, I can use some practice. It seemed like yesterday until I looked at the 30 year old program listing.
  4. Once the radio buttons were shown to be a way to pick the MIDI controller to be adjusted, a demo of a method to make the adjustments was attempted. The objective was to use the mouse so that it could be moved to adjust the value and click to set the controller value. I also wanted the option of changing the controller value in real time as the value was changed. As it turned out, it will be a simple matter to implement…. next time. A touch area is drawn on the screen. When the mouse pointer is over this area it can be moved left or right to adjust a value between 0 and 127. When the value is set, a click of the mouse button will cause the MIDI CC value to be set and sent to the NTS-1. Also above the touch area, holding down the mouse button will change the CC value in real time as the mouse is slid left or right. I have been referring to this object as a slide( for lack of a better work). The ATR has the working demo and .Included files. The #Dn: most likely need to be changed before compilation. You can run SLIDE.APP from the Diamond desktop. Move the mouse over the slide. Press and hold the button to change the value as the mouse is moved. Press Q to quit demo. slide input.atr In the source code below that line 150 - 180 draws the slide area. Having it look like a musical staff was quite unintentional. The code to use the slide is within the event loop but not part of DIAMOND's EVENT call. Line 220 -460. Lines 220 - 350 checks to see if the mouse is within the slide area. If not the program jumps to perform the EVENT call at line 470 - EL1. Line 360 -370 sets the SCREENX value to an output value of 0-127. Line 390-400 displays the value of the slide Line 410 gets CLICK , 420 if 0 then go back and check if still in slide area. Line 430 show slide value in value(this is were the MIDI CC command will be sent) Line 440 force the CLICK VALUE to 1, it could be 2,3 if double clicked. Line 450 keep checking until mouse is outside slide. 10 ;SLIDER INPUT DEMO 20 ; MOUSE INPUT BY CREATING TOUCH AREA. 30 ;K. PACKARD 3/23/2023 40 *= $2000 50 .OPT NO LIST 60 .INCLUDE #D1:DMACRO01.M65 70 .INCLUDE #D2:SHOWINFO.JSR 80 .INCLUDE #D1:BYTE2DEC.JSR 90 QICON .BYTE 0,60,102,102,102,108,54,0 0100 VAL .BYTE 0 0110 ; 0120 START 0130 INIT 0 0140 INSTALLICON 0,10,10,1,8,QICON 0150 PLOTBOX 32,130,159,150,2,1 0160 PLOTLINE 32,135,159,135,2,1 0170 PLOTLINE 32,140,159,140,2,1 0180 PLOTLINE 32,145,159,145,2,1 0190 JSR SHOWINFO_JSR 0200 ; 0210 ELOOP 0220 ; CHECK SLIDER ROUTINE 0230 LDA SCREENY ;MOUSE Y POS 0240 CMP #130 ;ABOVE GO EL1 0250 BCS LOC1 0260 LDA SCREENX 0270 JMP EL1 0280 LOC1 0290 CMP #150 ;BELOW GO EL1 0300 BCC LOC2 0310 JMP EL1 0320 LOC2 0330 LDA SCREENX ;MOUSE X POS 0340 CMP #32 ;RIGHT GO EL1 0350 BMI EL1 0360 CLC ;MOUSE OVER SLIDE 0370 SBC #31 ;LOCATION TO VALUE 0380 STA VAL 0390 JSR BYTE2DEC ; SHOW SLIDE VAL 0400 SYSDRAW B2DSTRING,30,120,0 0410 LDA CLICK 0420 BEQ ELOOP ;MOUSE BUTTON UP 0430 SYSDRAW B2DSTRING,30,40,0 0440 LDX #1 0450 STX CLICK 0460 JMP ELOOP 0470 EL1 EVENT ;DIAMOND EVENT LOOP 0480 LDA EVENTTYPE 0490 BEQ ELOOP ;NOEVENT 0500 CMP #1 ;ICON EVENT 0510 BNE ELOOP 0520 EXIT 0530 EXECDESKTOP 0540 ; 0550 *= $02E0 0560 .WORD START
  5. After playing with RND(NTS-1), it became apparent that the patch editor is going to need some way of sending MIDI NOTEON and NOTEOFF commands from the computer. I tried to use characters to draw a horizontal keyboard, 2 keys per character. I was not happy with the visual results. Eventually the characters were rotated and used to create a keyboard Icon where the keys were orientated vertically. The improvement was due more to its orientation then it was due to it being displayed as an icon. It wasn't until I started programing the EVENTs that I realized how much easier my life got when the icon was used. When the EVENT procedure is called, 5 memory locations are filled with the icon event data. ICON event data $9A93 EVENTTYPE icon event = 1 $9A94 EVENTTYPE+1 icon#(0-31) $9A95 EVENTTYPE+2 # clicks $9A96 EVENTTYPE+3 X position $9A97 EVENTTYPE+4 Y position The EVENTTYPE locations are only changed when the EVENT procedure is called. These three locations are updated with some regularity and quite often: $9A80 SCREENX $9A81 SCREENY $9A82 CLICK 0=button up, 1=button down, 2 = 2 single click, 3 = double click KEY6.APP is the test program for the keyboard icon. There is nothing musical about it. The program just puts the icon on the screen and then displays the memory locations as they change. Clicking the "Q" in the lower right corner will return you to the DESKTOP. (Sorry no source code. I turned it into icon data with the press of a button.) This program demonstrates that when the mouse button was held down while the mouse is pointing to an icon, EVENTTYPE+2 and CLICK would both register 1. Then when released, CLICK became zero but EVENTTYPE+2 remained as one until the next EVENT call (Good to know #1) As expected, the SCREENX and SCREENY were not equal to EVENTTYPE+3 and EVENTTYPE+4. The EVENTTYPE X and Y is in reference to the origin coordinates of the icon (Good to know #2). Diamond does half the work of determining which key is being pressed within the icon. The Y position can then be scaled over the range of the keyboard. (NOTE#= -Y/4 + 81) MIDIKEY1.APP is the program to be used with a MIDIMAX compatable interface and MIDI sound synthisizer set to receive data on Channel 1. Click the infodialog box to access the almost 4 octave keyboard. Move the mouse onto the key you wish to play. Middle C (60) is indicated by a dot on the ivory. Hold down the mouse button to begin playing the note and then release for NOTEOFF. Double click to latch the NOTEON and then single click anywhere on the keyboard icon for NOTEOFF. "Q" is still in the same location. Don't expect to be playing Bach with this keyboard. Its going to work for turning notes on and off to test settings in the patch editor. I've included the MAC/65 source code 'cause there is always room for improvement. MidiKey1.atr
  6. I haven't abandoned the Diamond - NTS-1 patch editor project(yet). A Test of a display concept looked reasonable and thought if a set of random numbers for the CC# were created and placed on the screen they could be sent to the NTS-1 without much effort. All worthwhile routines to work out the bugs. I now have a platform to develop a method of adjusting the CC data before getting back to the official patch editor. So plug in your Korg NTS-1 into your MIDI interface, put your Diamond cartridge in the slot, boot up your Atari with the "M:" handler and give RND(NTS-1) a try. Set the MIDI channel number and then press the ? Icon. A set of random numbers is created and sent to the NTS-1. You can then play the keyboard or set the arpeggiator to hear the results. They are not all great patches so you may want to turn some knobs to make some adjustments. Due to the lack of a MIDI out port, the Atari can't show what the values are adjusted to. Click the "Q" icon to quit back to the Desktop. Where to go from here. I need to know how these patch settings can be saved to a file that is compatible with the MIDI Music System voice file format. In this way they can be imported and sent to the NTS-1. I'm 99% sure that it can but I took the long way around for this example. Below is a screen printout of a patch created with RND(NTS-1). The dump was accomplished with the SDUMP11.ACC loaded during boot-up. For me it completed the printout but don't be surprised if the computer locks up and you need to reboot. What do you expect from a <300 byte accessory. The printout of the CC#,values are then used to enter the values into MMS using the command P CC#,value (ex. P53,63). The example split the 26 CC# between 2 voices to show them in one screen shot. Voice 1 was played to move the numbers into the NTS-1. Do this once and you'll also want a SAVE function. For the Diamond programmers: The disk contains RNDPATCH.APP and all the source code including the INCLUDEd macro files. I've been using files for subroutines and macros Midway through the project I decided I needed a way to tell if the files contained macros(MAC), subroutines(JSR) or macro and subroutine(MAS). The files are RNDPATCH.APP - compiled Diamond application program RNDPATCH.M65 - Dropdown menu data, start up, and Event Loop. INFODIAL.JSR - Shows info dialog box when called ICONS.M65 - Icons for ? And Q icons SYSPRT.MAS - much like the SYSDRAW diamond macro but receives address of object table CCLAYOUT.JSR - uses SYSPRT.MAS to print screen data layout SETCHAN.JSR - called from EVENT loop. Unchecks old Channel#, saves and checks new. CCDATA.JSR - Tables for SYSDRAW, Uses data tables for X,Y, placement. Calls BYTE2DEC.JSR BYT2DEC - turns BYTE into 3 character decimal string for display. SYSEQU.M65 & IOMAC.M65 - Macros supplied with MAC65 DMACRO01.M65 - Diamond macros with some modifications. see comments. *.TXT - Listed code for view without MAC65 Cart. AUTORUN.SYS - M: device handler TEST.MUS - Midi Music File of patch data. RND PATCH for NTS1 project.atr
  7. Getting Started: Been thinking long and hard about programming a patch editor for the Korg NTS-1 synth. There are patch editors out there, but none will output the Continuous Controllers (CC#) as program change commands used in the MIDI MUSIC SYSTEM (MMS) voice file format. Since I'm aware that I may be the only person to use this program, I have decided to write the program in assembly (MAC65) to run using the Diamond GOS 3. I should be able to write the code in stages and test as I go. This is going to take a greater amount of preplanning and am hoping to avoid the helter-skelter approach normally used when I program in BASIC. I know that there will never be a spit-n-polished version. I'm not delusional enough to believe that Korg will ever add it to their catalog. I am going to blog as the plan is executed. It may be of interest to those that want to develop Diamond programs. Dialog boxes, the Dropdown menu, icons and the event handler will all be used in the program. The Diamond 3.0's internal File Select routine will be used; one of those Diamond macros that can never have enough examples. There might be a little bit of 2-byte math, limited to screen positioning. MIDI is all done with 8-bit numbers with much of it limited to 7 bits. I like that. The biggest problem is how to handle the lack of a 5pin-Din MIDI output from the NTS-1. If the knobs are adjusted on the NTS-1 the Atari will never know. If the program can output the CC# values to the NTS-1, save the set of numbers that define the patch, and load the values for later use, then it will be of some use. If it does that and is compatible with MMS , I will feel the time I put into this project is well spent. The second problem is discovering what I need to relearn about Diamond programing after a 4-year hiatus. Step 1 Always my first step is to build and test the Info Dialog box. It gives me something to do while I think about screen designs and drop-down menu options. It also gives an idea on how much Diamond knowledge has been forgotten over the last 4 years. The "How to build a Simple Info Dialog Box" sheet was Greek to me. By the time the Dialog box was correctly displayed, the sheet made perfect sense. Seeing the program title on the screen also symbolizes a commitment to see the project to the end. DLOGTEST.M65 is the source code to display the "Info…." dialog box. Running the DLOGTEST.APP will show the program information. Click anywhere within the box to exit back to the desktop. INFODLOG.M65 is the DLOGTEST.M65 modified to be a subroutine. This subroutine will be #INCLUDEd in the program in hopes of keeping program versions form together. DMACRO01.M65 is the set of Diamond macros, some of which I have modified for various reasons. Check back in the blog for why changes have been made. And to check my logic. Step 2 Building the drop-down menu and starting to develop the EVENT logic is going to be the start for many test routines. I already know that the Note and Octave categories should be removed if possible. In this test the Desk-INF… will display the Info dialog box and the FILE-QUIT option takes you back to the desktop. All other program options have been defined as inactive. The LOAD and SAVE options look inactive only because the MENUENABLE macro prints them in italic. Also MENUCHECK was used to indicate the current setting for Channel, Note, and Octave. MENUTEST.M65, MENUTESTAPP. It’s a start. nts1 blog1.atr What's next: Get the MIDI data flowing through the MIDI port out to the NTX-1. This way I can tell if any future additions to the program interfere with the data as they are added. I know that the ICON event returns the X,Y position of the mouse but not so sure if they are in reference to the screen or within the icon? Also, I need to start thinking of the ICONs in groups of objects that share attributes and methods. Should be easier to write subroutines, if they all share the same data structure. I think there's a name for that.
  8. Dear all, I'd like to open this thread on my recent development "MidiJoy" because the topic of the thread which led to its inception is now only merely loosely connected to what has come out of it. I'll begin with posting some general information on MidiJoy, afterwards I'm looking forward to questions, comments and bug reports here . The most up-to-date information will probably always be on my website: http://www.phobotron.de/midijoy_en.html and a video introducing the basic idea of MidiJoy is available on YouTube. However, the software will only be available after the ABBUC hardware contest in which MidiJoy is participating (this is part of the competition's rules). Of course I'd be glad if you vote for it in the contest, and if it should make it to the Top 3, I'd make MidiJoy available for free afterwards . Enjoy, F.
  9. Shortly after the Atari was sync-ed up with the PO-33 using the joystick port clock output, the Atari MIDI output was connected to the PC MIDI input to monitor the data stream. I wish I could remember why. That's when I noted that there was a MIDI clock ($F8) being sent from the Atari. I guess the manual wasn't lying. There was never much use for a MIDI clock to sync my arpeggiatorless MIDI equipment. Now I can see where it might be handy to sync the Korg NTS-1's and/or MicroKorg's arpeggiator using the Atari MIDI clock. This is what was learned about programming the Korg NTS-1 arpeggiator. There are 3 controls assigned to the NTS-1's arpeggiator and one that is set with the B-knob. CC117 - type, CC118 - Chord, and cc119 - length (number of notes in the sequence). When an external clock signal is not autodetected ARP-Knob B is used to set the arpeggiator's tempo. If an external clock signal is autodetected the knob is used to set up the step duration of 16th, 24th, 32nd, 48th, or 64th. This you will have to set while the NTS is receiving a clock. Also be aware that changing the Atari clock temp during a song is autodetected after and may take a note or two to set. Note: if you want to turn off the NTS-1's internal clock, a mono 3.5mm jack can be plugged into the SYNC-IN plug in the rear of the unit. Good for watching the CC changes using a MIDI monitor. These CC's values were derived from watching the CC changes using a MIDI monitor. I'm not sure if they will change when custom programs are added but there are no slots for custom arpeggiator types. If there are errors, the Length table is the one that is most likely to have them. ARPEGGIATOR TYPE (cc117) TYPE VALUE UP 0 DOWN 12 UP-DOWN 24 CONVERGE 36 DIVERGE 60 CONVERGE-DIVERGE 72 DIVERGE-CONVERGE 84 RANDOM 96 STOCHATIC 127 ARPEGGIATOR CHORD (cc118) Cord Button Value Octave OSC 0 Major Triad FIL 21 Major Suspended EG 42 Major Augmented MOD 63 Minor Triad DEL 84 Minor Diminished REV 127 ARPEGGIATOR LENGTH (cc119) Length Setting Length Setting 1 0 13 64 2 7 14 69 3 13 15 76 4 17 16 81 5 23 17 86 6 28 18 91 7 31 19 98 8 39 20 102 9 44 21 107 10 48 22 113 11 53 23 118 12 59 24 124 MMS - controlling arpeggiator example A couple of chord progressions were programed into MIDI MUSIC SYSTEM. With the arpeggiator off, Voice 21 plays notes C-A-D-G and Voice 22 plays the notes C-A-F-G. When the arpeggiator is turned on an arpeggiation in the key signature will play. Voice 21 plays C major-A minor-D minor-G major and Voice 22 plays C major-A minor-F major-G major. Play Voice 1 to sequence the music. The tempo and arpeggiator CC#s are set and then the Loop plays V21 and V22 four times. The NTS-1 was recorded. The first loop was played with the arpeggiator off. The APR button was pressed just before the second loop started. The oscillator and effect settings were not changed from their cold start default settings. The music was played before recording to adjust the step duration to 1/16. The tempo also needed to be auto detected and then auto adjusted. The last tempo detected will be used at the start of the next play through. This was annoying. Its something to remember when making tempo changes during play. NTS1 ARP EX.mp3
  10. Have you ever thought about learning to play a Tin Whistle? Me ether, until I found one at the local gift/chocolate shop. Noting that the whistle had but 6 holes, I thought it might be easier to learn then a 9 hole flutophone. Turns out that having 3 less finger holes didn't prove to be any less of a challenge. So I have recruited my Atari 8bit-MIDI Music System software-MIDIMAX-Synth to help me practice. Musical Instrument | For All Your Music Needs | Waltons Music I purchased a Waltons Tin Whistle Pack that contained a tin whistle in the key of D and The Irish Tin Whistle Tutor Instruction Book. The book contains a short section on reading music, playing the whistle, and a selection of 12 practice songs. The notes of the 12 tunes were entered into the MMS software and saved to disk. Now, a song can be played at a Tempo that is compatible with your skill level. As low as 32 beats/min and up to 290 beats/min. Slides and trills were not programmed into the music files. Waltons.atr The practice tunes have the fingering for each note as they are written on the staff. Having the written music to follow makes practice a lot easier. The bad news is that a newer version of the instruction book has replaced my version that is no longer readily available. The good news is that Waltons has granted permission to scan the written music so that it can be used with the MMS files. Tin Whistle Tutor - Tunes.pdf Now think about how much fun a Tin Whistle Flash Mob would be at your next Atari conference? ---------------------------------------------------------------------------------------------------- You knew that I would be unable to start my tin whistle practice sessions without using the Data wheel on the MIDIPLUS miniEngine Synth. The following is O'Neill's March played with the Steel Drum, Sitar for the harmony, and a 2-measure drum sequence. ONEILL-S March.mp3 O'Neill's March If I recorded my whistle playing, you would soon realize why I need the Atari.
  11. Hi all: I have taken the better part of 6-8 hours to create this video, it is a remake of the song by Andy Kim, Rock Me Gently, a MIDI tune. I am also enclosing several MIDI files on 1 Meg disks , these disks do not have DOS on them, you have to use Spartados X with them , whether it be in a cart format or with an U1MB board. anyways disk one should have a Spartados X disk or a Spartados X cartridge Remake of Andy Kim's Rock Me Gently MIDI Files # 1.atr MIDI Files # 2.atr MIDI Files # 3.atr MIDI Files # 4.atr MIDI Files # 5.atr MIDI Files # 6.atr
  12. When a sound is initialized on the MicroKorg, it’s a very simple sound. Reminiscent of the Atari 8 pokey sound created when playing an Advanced Music System II file. Change the OS1 - Wave to Square and the sound seems a little more Atari like. The one thing that you become aware of is that MicroKorg (or any MIDI synth) will play in perfect pitch where the Atari can only be played at an approximation of the pitch. Therefore, a way of detuning a note to match Atari is required. It actually works when the calculated pitch bend setting required to detune the MicroKorg is used. KORG8BIT.BAS was written to read the MIDI data sent to the MIDIMax from the Microkorg keyboard. The Atari reads the data and when a NOTEON command is received, it sends a pitch bend setting and then passes the NOTEON command back to the MicroKorg. Because the MicroKorg's MIDI - LOCAL is set to Off, the keyboard output will be sent to the MIDIMax; not directly to the synth. This allows the Atari to control the synth. To try this out…. Hook the MicroKorg's MIDI OUT and MIDI IN to the Atari MIDI interface MIDI IN and MIDI OUT. MicroKorg Settings Initialize voice: Shift 3,3 VOICE - VOICE ASSIGN = MON PITCH - BEND RANGE = 1 PITCH - VIBRATO = 0 OSC1 - WAVE- SQU MIDI - CHANNEL = 1 (used by program) MIDI - LOCAL = OFF MIDI - CLOCK = EXT Save your sound and global settings if you want. Boot up your Atari with the M: device autorun.sys file and run KORG8BIT.BAS. You should be able to play the MicroKorg's keyboard one note at a time (mono) and hear the effect of the detuning program. I thought there was a possibility that BASIC would cause a noticeable delay, but I didn't feel the program needed to be compiled. The sound is still to clean but to me it sounds a little more like it's POKEY produced. Got one more step before any time is used recording audio files. Program notes: pokey korg.atr "pokey korg.atr" holds the files created to move this project along. They are in the order they were created and how they were used. .BAS are Atari BASIC and .BTX are LISTed Text files. DOS.SYS,DUP.SYS - Atari Dos 2.5 AUTORUN.SYS - MIDI Handler M: device MIDISHELL.BAS - Program lines that are required for using the M: device. TONES.AMS - ADVANCED MUSIC SYSTEM II was used to create a file to play notes C1 - E6 for recording into Audiotonic (Audacity). This way the frequency could be derived from the sample and compared with the standard tuning frequency for each note. NOTES.GMS - A Magic Calc spreadsheet to organize the following data from audio file. MIDI Note Number: 24 - 88 - AMS note range Note: C1 to E6 Standard pitch: Hz Time mark for start of note in audio file Number of Cycles and Time used to calc Frequency of Atari's pitch or …… Audiotonic/effect/change pitch option gives the beginning pitch of a selected segment And then….. Pitch Bend Number needed to change Micro Korg pitch to Atari's. It’s a 14 bit number scaled between center and 1 semitone. 8192 = Pitch bend centered. Assumed linear function. pitch adjust page 1.BMP pitch adjust page 2.BMP A1TOA5.BAS/.BTX - Tests the notes A1-5 to evaluate Pitch Bend numbers. Sends Pitch Bend Command then NOTEON. Adjusted pitches sounded reasonable. PWDATA.BAS/.BTX - data Statements for Midi Note number and Pitch bend. PWDATA2.BAS - program to take PWDATA.BAS and output data statements for the MSB and LSB of a 14bit number. To use with the PITCH BEND MIDI command. PWDATA2.BTX is the file of the Data statements with MSB and LSB to be ENTERed into a program at lines 31000 to 31050 step 10. MIDIIN.BAS/.BTX - simple test program to monitor the data stream from MicroKorg. Watching this data helped identify the MIDI Settings. Number 245 Active Sensing pulse needed to be filtered out by the Atari to keep the data buffers from over writing their data. The Pitch Bend Wheel sends out more data then the Atari can handle. KORG8BIT.BAS/.BTX - This program will accept midi data from the MicroKorg keyboard. Resend it back to the synthesizer with the pitch bend adjustment before the NOTEON command. NOTE: NOTE is an Atari BASIC reserved word and can not be used as NOTEON Or NOTEOFF. KEYON and KEYOFF variable names were used in place of the MIDI commands.
  13. The microKorg was plugged into the MIDIMAX. Then a few simple Atari BASIC programs to control the Pitch Bend Wheel were written for no other reason then I hadn't done it before. A couple of ideas did present themselves as the programs were written. As always, my list of possible projects increases. For many of the adjustable parameters of a synthisizer, the Control Change command (176+channel # -1), Control number (0-127), followed by the set point value (0-127) was adequate. The Pitch Bend wheel was an exception. An exception that was deemed important enough to get its own command code. This pitch bend command number (224+channel #-1) and a 14bit number split between 2 - 8bit words makes it possible to divide the Pitch Bend Range into 16384 (0-16383) increments. When the pitch bend wheel is in the center position, the value will be 1892. The value will be sent in low bit - high bit order. Convert a 14-bit Value to 2 - 8-bit bytes X=Value (0-16833) Most Significant 7 Bit=INT(X/128) Least Significant 7 bits=X-MSB*128 This article gives a much more detailed explanation of pitch bending, Managing MIDI Pitchbend Messages <https://sites.uci.edu/camp2014/2014/04/30/managing-midi-pitchbend-messages/> On the microKorg the pitch bend range can be set between 0 and 12 semitones. Set the edit knob to PITCH and adjust dial 4. A negative range changes the direction of rotation. All synthesizers are not created equal and you may want to consult the manuals. These simple programs should work if yours will accept the Pitch Bend command. The first is the complete program and the other two replace lines 100 - 299970. The programs are in the single density ATR along with the M: driver(autorun.sys) and Dos 2.5. ".BTX" are BASIC TEXT files.microKorg pitch bend.atr Let me know if you come up with any algorithms I might like to try. PBRND.BAS 1 REM microKORG PITCH BEND WHEEL 2 REM RANDOM POSITION 3 REM by Kevin Packard 4/2022 5 REM 100 GOSUB 30000:REM set up variables 200 REM start of main loop 210 REM RANDOM SETTING 220 B=(INT(RND(0)*127)):REM WHEEL SETTING 225 C=(INT(RND(0)*127)):REM WHEEL SETTING 230 PUT #1,A:PUT #1,B:PUT #1,C 240 FOR W=1 TO 20:NEXT W:REM WAIT 250 GOTO 220 29997 STOP 29998 REM ************* 29999 REM set up 30000 REM 30010 CHANNEL=1:REM MIDI CHANNEL 30020 A=(224+CHANNEL-1):REM MIDI COMMAND BIT 30030 B=0:REM LOW 7 BITS 30040 C=0:REM HIGH 7 BITS 32000 REM OPEN MIDI PORT 32010 CLOSE #1 32020 OPEN #1,13,0,"M:" 32030 XIO 40,#1,0,0,"M:" 32040 RETURN PBLOWHI1.BAS 1 REM microKORG PITCH BEND WHEEL 2 REM LOW TO HIGH - SINGLE LOOP 100 GOSUB 30000:REM set up variables 200 REM start of main loop 210 REM 220 FOR X=0 TO 16383 STEP 30 225 C=INT(X/128):B=X-C*128 230 PUT #1,A:PUT #1,B:PUT #1,C 235 NEXT X 240 REM FOR W=1 TO 20:NEXT W:REM WAIT 250 GOTO 220 29997 STOP PBSIN.BAS 1 REM microKORG PITCH BEND WHEEL 2 REM LOW TO HIGH - SINE WAVE 100 GOSUB 30000:REM set up variables 200 REM start of main loop 210 DEG 220 FOR X=0 TO 359 STEP 10 222 Y=8192+INT(SIN(X)*8192) 225 C=INT(Y/128):B=Y-C*128 230 PUT #1,A:PUT #1,B:PUT #1,C 235 NEXT X 240 REM FOR W=1 TO 20:NEXT W:REM WAIT 250 GOTO 220 29997 STOP
  14. Who owns a new or old midi module or synthesizer, and has connected it to his TI-99/4A or other home computer. Which module / synthesizer Which interface, how connected Which software Around 1988 I had a Roland D10, Connected through a CLAB MIDI interface Software was Supertrack 64.
  15. Changing presets/patches/voices/instruments/programs on your MIDI gear was rather easy in the early 80's. Having more the 128 instruments on a digital synth was unbelievable. So unbelievable that the original MIDI standard got a special command number( 192+channel #-1 ) and a 7bit number (0 - 127) to made the change. The MIDI Music System software provided the command Sn to accomplish this. Insert Sn between two notes in a voice and the patch magically changes. Then the future happened and synthesizer manufacturers added banks of 128 instruments. The MIDI controller 32 was assigned the task of controlling the least significant number and controller 0 as the most significant number to designate 128 banks of 128 banks of 128 patches. That's 128*128*128=2097152 patches. Accessing that many instrument voices in MMS requires these commands P32,LSB P0,MSB Sn It is pretty simple as far as MIDI standards are concerned. But..... it seems every manufacture displays patch codes in their own way and deriving these numbers may require a close examination of the manual. I've gone through my MIDI equipment and documented how to calculate the numbers from the front panel displays of the patch information. Your equipment will more then likely be different but you may find this of interest and I'll be able to use it as reference when next I forget. -------------------- MIDIPlus miniEngine USB- a simple midi device with MIDI standard instruments, 127 possible sounds. Three digit display shows sound number. The miniEngine is supplied with a card with the MIDI numbers and names of the patches. MMS command: Sn where n = 0 to 127. Could it be any easier? -------------------- KORG - MicroKorg - This MIDI device contains 128 user definable patches. The patches can be accessed by setting the Dial(bank select) , A/B button(bank side) and the 1-8 buttons(program numbers). These 3 settings define a 7 bit number that sets the patch. The patch displays as (A/B bank side)(Bank Select Dial)(Program button). display = (A/B) (X) (Y) n = (A=0 or B=64)+((X-1)*8))+(Y-1) MMS command: Sn ------------------ Yamaha TG33 - There are 5 banks of 64 voices. 1 - internal programable, 2- Card (card can hold 1 or 2 banks), and 2 - presets. Controller Command 00 and 32 are used to set MSB and LSB for bank. Voice Display = (bank)X.Y Name Set bank (page 104) bank Voice Mode Multi Mode (?) Internal 0 10 Card 1 1 11 Card 2 4 14 Preset 1 2 22 Preset 2 5 25 MMS commands P0,0 MSB P32, bank LSB Sn ,where n = (X-1)*8 + (Y-1) Have not worked with Multi Mode. ----------------- E-MU Proteus 2000 - The Proteus 2000 ships with 4 banks of USER programable memory and 7 banks of COMPSER presets. More programed ROMs can be added. Display: preset location, preset numbers, bank number, name (page 19) MMS command: P0,n Preset location (MSB) USER = 0 COMPSR = 4 more ROM = ? P32,n Bank (LSB) USER = 0-3 COMPSR = 0-7 Sn 0-127 ----------------- KAWAI K1r - Patches can be made as Single(a combination of 4 wave forms) or Multi(a combination of 4 samples. Changing between internal memory and external (card M8) is done on the front panel(I,i,E,e). Single = 0, Multi = 64 Capital letter = 0, Lower case = 32 (I = internal, E = external) A=0,B=8,C=16,D=24 Number = n-1 Single iB-6 = 0 + 32 + 8 + (6-1) = 45 Command S45 Multi IC-4 = 64 + 0 + 16 + (4-1) = 83 Command S83 Switching between internal and card memory during MMS play - unknown how/if it can be done. ----------------- This data is correct until I learn otherwise.
  16. The program I am about to describe should be considered a beta version - of a beta version. I was using it to test out some Ideas for inputting drum patterns so they could be saved as VOICE data files to load into MIDI MUSIC SYSTEM(MMS) projects. It has the capabilities of setting up a 4/4 pattern and then outputting to a MMS voice file. What it doesn't do is play the pattern or check for any kind of error. Most of the patterns are from books, I haven't experimented with rhythms. But I have found many errors in the program that need to be avoided. These two links are the foundation for this program. A8 MMS programing drum tracks - Out of the Pack - AtariAge Forums A8 MMS Voice File Data Explanation - Out of the Pack - AtariAge Forums Underneath the hood of this program may be one of the ugliest programs I have ever written and allowed to see the light of day. The idea of using the joystick input is from Your Atari Computer (YAC). Joystick input Page177 and subroutine 4-33 on page 165 (included on disk). YAC was the only resource needed. Pages on string manipulating have become a little more frayed. If you use the program, try to limit the number of instruments played on the 1/16 notes to 4. You may start to hear a delay when more are played. There is nothing to prevent you from trying to play them all. When naming files, the device "Dn:" is required. Standard Atari DOS filenames are used. The extension must be ".Vnn. Where nn is a number from 01 to 99. MMS automatically saves voice files with the V and then the voice number being saved. When importing the data to MMS the filename requires entry of the file extension but then asks which voice it should be loaded into. Also remember MMS will append the file at the end of anything already in the tracks. The program has zero error protection. There shouldn't be any errors entering the pattern. Make sure a formatted disk is in the drive and file naming rules are followed. If there is an error use "? FNAME$" to see if that is the problem. Sorry but the easiest way to recover from an error is to just type RUN and start over. I think I have found an error in timing caused when the program creates an incomplete Triplet. You can be off by one ^Z and not have it show up in the beats/measure (it gets lost in the round up). It has only happened once, but I was so busy editing the pattern in MMS I forgot to write down what I did. The last thing (that I know of) to considered is that all MIDI drums may not be play back the same. I didn't program in the use of the sustain controller but some synths may need it. It did seem to change up when I switched from the MIDIPlus-miniEngine USB to the Proteus 2000. After the file has been written, the program ends. "RUN" the program to reset the variables and display for the next measure. It's still easier than doing the work by hand. Program: -MMSDRUM.atr Instructions: Design or find a Drum pattern. Load MMSDRUM.BAS Use a joystick to move the cursor within the grid. Press trigger to toggle on or off instrument hit. When done press START and then input file name as "Dn.filename.Vnn". "nn" must be a number between 1 and 99. After the program has saved the pattern, it will end. Re-"RUN" the program to reset the variables for the next 4/4 pattern. To Play: Load MIDI MUSIC SYSTEM software. Press "A" and assign the midi channel for the track you will be programing the drums on(1-20). Press "L" to load voice. Input Filename. If load successful it will ask which Voice to put it in. Voice 21 to 99. Load all your patterns into different Voices. Choose your drum voice track and enter a series of Jumps (Jn) to the voices in the order you wish them to play. Return to menu and press "P". You should hear the Drums if all went well. DRUM200.ATR holds some examples from the book. The .V31, .V32, and .V33 is the voice data created with MMSDRUM. The .MUS, MMS Files, can be loaded and played (be sure to set the midi channel for your setup). DRUM200.atr The following is a simple pattern that was used to photograph the screen. I never saved it but if you try it out, you will agree………. it needs "MORE COW BELL." Modifying the program: If you are going to change an instrument in the drum set, the grid can be changed in Lines 2000 to 20090. Change the name but make the grid line up with the rest of it. The MIDI note to play can be changed in line 2103 to 21140. If you want to change the Velocity setting, they are in line 21010. No accent VELLO = Low velocity. Accent VELHI = High velocity. MMSDRUM program was used to create the drum track for "You Can Take It Back"
  17. Using MIDI MUSIC SYSTEM software to build music compositions seems to fit my skill set. I'm not proficient at reading music but I can translate it. My latest arrangement was a Celtic folk song for flute and drums. Music was entered into MMS and a simple drum pattern was added. It sounded terrible. Turns out that a synthesized flute doesn't need to breath and sounds very mechanical without those breaks. Selected notes were shortened and rests were inserted to maintain timing and give the illusion that a breathing person was playing the flute. Sounded much better but it was tedious work. Then I started to think I might have saved a Voice file and used a program to make the changes. Then import the voice back into MMS. Then it dawned on me that I was going to have to figure out the file structure of a voice file and what the data means. At this time I want to share what I think I know about how to create a voice file to import into MMS. Then someday someone (or myself) might write a useful program to create those files. File header and data structure: First thing that was done was to take a look at what a voice data file contained. A few notes were entered in a voice and then the voice was saved. This short program was written to list the content to the screen. Simply change the filename to match the one you wish to view. Use the cntl-1 key to stop and start scrolling. 10 TRAP 100:COUNT=0 20 OPEN #1,4,0,"D:TEMP.V01" 30 GET #1,A:? A;" "; 33 GET #1,A:? A 37 FOR X=1 TO 3 40 GET #1,A 45 COUNT=COUNT+1 50 ? (A), 56 NEXT X 60 ? :GOTO 37 100 ? "COUNT=";:? COUNT This short voice file listing demonstrates the format of the voice file. You may want to build your own voice files and check the results. 24,0 250,0,0 10,48,0 85,48,0 75,48,0 87,48,0 250,0,0 165,48,0 245,51,255 COUNT= 24 It became apparent that the first two bytes will be the number of instructions in the file. LSB - MSB format. Then the instructions are listed. At the end of the a count of the instruction sets is displayed. This should match the 16 bit number at the beginning of the file. An instruction consists of three numbers. The first designates the specific instruction and the next 2 are for any required data. I am assuming that if the data byte is not required by the instruction then MMS does not clear them to zero. That's the only explanation I have for some of numbers I have seen. The first instruction will always be a measure marker(250). Every voice has a measure marker at the beginning. Check it out. Rests and Notes Rest Rn - 0,LSB,MSB n=0 - 65535 cycles In MMS the duration of the rest is its clock value. In MMS you would most likely assign a clock value as W,H,Q,E,S, T, or Z. Their clock values are listed on page 22 of the manual. The "." and " .. " are used to adjust the number of cycles required for the additional durations. There is also the option of setting the duration by entering the clock value as ^n. Keep in mind that meter will determine the clock value in a measure and to keep all the voices synced the total clock value must remain the same for all measures in a composition. (But you don't have to.) Note instructions are between 1 (C1) and 108(G9). If a tie is used bit 7 will be set making the value above 128. To calculate: MMS note number = (MIDI note number - 23) + (128 * IF tie) The duration is set by the next two numbers much the same as for rests. The Table The rest of the instructions are to manipulate the MMS music settings or MIDI instrument. For more information check the manual. If I missed any I'll add the information if I ever find a need to use them. If the Second or Third number's has not been determined then ND has been placed in the table. In fact, it may not have a purpose. Function MMS Input Byte 1 Byte 2 Byte 3 Rest Rn 0 LSB MSB Note (C1-G9)n MIDI# 24-127 MIDI#-23 (+128 if tie) LSB MSB Tempo Tn 240 35-290 ND Sound Sn 241 0-127 ND Program (CC) Pn,x 242 Controller number Setting 0-127 Repeat REPn 243 0 = forever 1-255 ND End Repeat ENDR 244 ND ND Jump to Voice JMPn 245 1-99 ND RETURN RTN 246 ND ND Change Channel Velocity /CHn VELn 247 247 Channel-1 0-127 255 0 Transpose UP TRUn 248 0-127 ND Transpose Down TRDn 248 Start +256 - n LSB * ND Transpose Zero TRZ 249 ND ND Measure Marker M 250 ND ND Tempo up TUn 251 0-127 ND Tempo down TDn 251 Start +256 -n LSB * ND Pitch Wheel High PWHn 253 ND ND Pitch Wheel Low PWLn 253 ND ND Pitch Wheel Zero PWZ 253 0 ND *= I Think ND = not determined Table edited 11/9/21 I hope this is a good start to understanding voice files. There are going to be some revisions to this table if I find a need to write a program that will import and export MIDI MUSIC SYSTEM Voice files. That may happen If I find that the M: device driver for the MIDIMax will work with Diamond GOS. I'll incorporate the changes when they are brought to my attention.
  18. Hi, I'm trying to get hold of some ST software called Easel by Heavenly Music. It's an editor for Roland Sound Canvas SC modules. A review if the full version of the package is here: http://www.muzines.co.uk/articles/heavenly-music-easel/7600 It was also available as Ease Junior desk accessory version: http://www.muzines.co.uk/articles/easel-junior-sound-canvas-editor-accessory-for-atari-st/10799 Any pointers would be appreciated! Thank you
  19. Hello everyone and nice to meet you! My name is grumpygamer and I am really grumpy! :D Nah, just kidding! I'm just a dad with an insane (and very expensive) passion for all things retro! Anyways I've come into possession of an Atari 520STfm to discover I can play midi on it! Now back when I was young I owned an Amiga (boooo! :P - really loved it!) and I used to make music on it with Soundtracker. So here I am wondering the following: Is there is a tracker on the ST that supports MIDI and at least 8 channels? Is my Atari good enough? If not which one would be the better one to use? I have it on my desk now and only have 1 FDD with Music maker, I tested it with Kontakt on my pc as a sampler and it works! Now I only need to find a tracker to work with for multi channel! Any help is much appreciated!
  20. Getting ready for the arrival of Dropcheck's XE Super Cart 128 with MidiMaze. For this project I decided to take a stock 16K 600XL that was badly in need of a RAM upgrade, and trick it out with MIDI in mind. To do this, I started with my SIO2MIDI board, after first shaving it down a tiny bit on the sides. This allowed me to drop it into the area where the RF modulator once resided, and would allow the new MIDI jacks to be even with the power and video jacks. I also took the opportunity to add the 64Kx4 RAM chips, and modify the addressing (some bent up IC pins and 3 jumper wires). For the new video jack I used a UAV to give it the best possible picture. And as long as I had this guy cracked open, I also changed out the Basic RevB ROM for a RevC ROM. The following pictorial documents the hardware changes required. Surgery - gotta make room for the SIO2PC, as well as strip out all of the unneeded video components. Unfortunately some traces get severed on the bottom side that will need to be jumpered. Bottom view of 'inserted' SIO2MIDI board, some required wire jumpers to replace missing traces, and all held in place by clear epoxy. Upper view showing black epoxy used between MIDI and Video jacks to add strength, UAV & RAM installed. SIO connections. Overview, all board mods completed. Adding new holes in the case for the MIDI and Video jacks. Modified board placed back in the case (front view). Modified board placed back in the case (rear view). Adding MIDI com LED (required a hole in the bottom metal frame of the keyboard) Finished look of MIDI com LED installation. MIDI com LED activated. Finished look of new MIDI and Video jacks + labeling (had to enhance the image to see the new DIN jacks). At this point the system is fully operational except for two minor omissions caused by some traces that got cut as part of the modding. That would be Audio-In on both the SIO and the PBI. Since I don't really need those for my intended application, I decided to not run jumper wires to restore them. However if that changes, I can always add them in at a later time. Now I just need my MIDI-MAZE cart, and I can link this up to my MIDI ring and start blasting happy faces .
  21. A couple of days ago I grabbed the microKorg owner's manual to read on the throne. I happened to open to Page 61 - Assigning control changes(CC). It says you can assign numbers to the principal parameters. The edit menu section on the microKorg is shown with the principal parameters highlighted. You can assign the CC# or just use the defaults that are assigned to those parameters. These are listed in the Table on page 56. The Control 2 values when OSC1-WAVE = DWGS are within the table on page 57 and the names for the DWGSs are listed on page 20. (Digital Waveform Generator System(DWGS)) I thought it would be handy to have a table of the default CC# that would match up the layout on the Korg. This PDF contains a table for the SYNTH commands and parameter changes. I hope it can be of use as a scratch pad when programming control changes from the Atari. MicroKorg - CC defaults.pdf The sheet wasn't of much use for this small example Atari BASIC program. It uses CC#77 to change the OSC1-WAVE synth parameter. It will change the wave to Saw, Square, Triangle, Sine, DWGS, or Noise, after the computer menu number is entered. A CC command requires three bytes of data to be sent to the synth. The first is the command type(176) + channel-1. The second is the controller number. The last being the setpoint; 0-127 but data can be used however the synth is programmed. In this example Atari BASIC program an array is filled with the CC setpoints that will change the wave form on the microKorg(30020) and then the I/O channel 1 is opened for the M: device(32010-32030). A menu is displayed on screen. Input the number of the desired wave and the command will be sent(260). Play the microKorg keyboard and you should notice some change in the patch. (Do I have to make mention that the microKorg has to be connected to the Atari through a MidiMax compatible interface?) Changing the wave on patches does make some surprising changes to the sound. Any changes that are made will not be permanent unless you save the patch. Keep the write protect on while experimenting and you shouldn't have a problem. CC77.BAS 1 REM microKorg OSC1-Wave CC Code 77 2 REM by Kevin Packard 4/22/2020 3 REM 4 REM Some panel knob/keys can have 5 REM a CC# assigned to them. This 6 REM program can change OSC1/Wave, 7 REM which effects the patch. 8 REM 9 REM Requires MIDIMAX type interface 10 REM MicroKorg and M: device. 12 REM 100 GOSUB 30000 200 GRAPHICS 0:? 205 ? "WAVE TYPE:" 210 ? " 1. SAW":? " 2. SQUARE":? " 3. TRIANGLE":? " 4. SINE":? " 5. DWGS":? " 6. NOISE":? 215 TRAP 220 220 ? "INPUT WAVE TYPE >";:INPUT X 230 IF X<1 OR X>6 THEN 220 260 PUT #1,CMD:PUT #1,77:PUT #1,WAVE(X) 270 GOTO 200 29999 REM set up parameters 30000 GRAPHICS 0 30010 CMD=176+0:REM CC+channel-1 30020 DIM WAVE(6):WAVE(1)=0 30030 WAVE(2)=18 30040 WAVE(3)=36 30050 WAVE(4)=54 30060 WAVE(5)=90 30070 WAVE(6)=108 32010 CLOSE #1 32020 OPEN #1,13,0,"M:" 32030 XIO 40,#1,0,0,"M:" 32040 RETURN ATR contains DOS 2.5, the Autorun.sys sets up the M: device, and CC77.bas KORGCC.atr When you BREAK from the program be sure to "CLOSE #1" before trying to access the disk drive.
  22. Many moons ago and being member of the Dallas Computer Clubs I played around and sold Music Studio for Casio and Yamaha keyboards. I would like for anyone who has Music Studio song files to get in touch with me. I also would like to know how to make a copy of the 3,5 inch original disk that I have and took forever to find, any clues appreciated. I also have a 5,5 inch floppy of Music Studio. Also would like to know if anyone has a copy in 3.5 inch format of Music Studio or knows how I can get a back up copy. Just real reluctant to use the only copy I have until I have a back up. In the future I will be reproducing Music Studio song files.
  23. Ever wonder if you could output MIDI data to a MIDI synthesizer from your Diamond GOS equipped ATARI 8 bit through a MIDI MAX compatible interface? I didn't think so but I had to ask. And the answer is: YES - {video removed} I came across a MIDI device handler(M:) and blogged about the adventure of writing a test program in ATARI BASIC. I have had the time to try it out with a Diamond GOS program written in machine code using the MAC65 assembler. It seems that the handler, if loaded as an AUTORUN.SYS, will stay operational when quitting to BASIC or when running an APP. The program DMIDITST.APP loads and then sets up the menu bar with a quit command. Then it places 8 icons for the C scale. These where borrowed from a previous program. The M: device is opened for output to the MIDI interface. There is no error checking for the M: device and am not sure what will happen if it's not loaded. I did note that after running SDUMP.ACC, the program stopped working. This was most likely caused by the ACC opening the same IO channel for the printer that was opened for the M: device. Haven't run into an other glitches. On the chance you have an A8, Diamond GOS, MIDI interface and a MIDI sound module, the disk with the m: device, application, source and macro library files is attached. Diamond MIDI test.atr Create a Diamond boot disk with DOS and configuration files. Copy the AUTORUN.SYS and DMIDITST.APP to your boot disk. Hook up your synth, push in your Diamond cart, boot up the system, and load the app. I used DOS 2.5 on an xe with st mouse, Diamond GOS 3 and MIDIMAX. There shouldn't be any reason why the program sill not run under Diamond 2.0. It would be nice to hear that someone else was able to get it to run on their system.
  24. I have yet to input music into the MIDI MUSIC SYSTEM (MMS) software and have it correct the first play through. I can hear the error as it is played but MMS gives no indication of which measure it might be in. One solution requires an Arduino, MIDI shield with a THRU port, and numeric display. The plan was to program a MMS voice to out put a MIDI command once per measure on an unused channel and have the Arduino count the number of times the command was received. I really didn't put two much effort into figuring out the best way to accomplish this. It worked with what parts were avalible with as little time as possible. It was one of those projects not worthy of documentation until it took me longer to find my notes then to rebuild and use. Now I'll at least have this for reference. ------------------------------------------------------------------------------------------------------------- On the ATARI The MMS software was easy to program. A loop was made to repeat one measure with a couple of SOUNDn commands and channel 16 to output a 0 or 1 to toggle the input to the arduino. The below example is in 4/4 time. For this piece of music, VOICE 20 was programed with the following information. Be sure to {A}SSIGN VOICES from the main menu to the your MIDI channel of choice. Repeat X86 Sound #1 RS Sound #0 RE. RH. EndR The Sound #n command is a 2 byte command. Simple and fast. The Arduino will receive the command and will turn on a digital pin when 1 and off when 0. The REST is a 1/16 beat and gives the display enough time to register a change in pin status. The rest of the Rests make up the 4 beat measure. -------------------------------------------------------------------- The Arduino First prototype In this case the Arduino is an interface between MMS and a digital counter. Turn on pin three and the optocoupler grounds the counter plus lead. Turn off pin 3 and counter is incremented. A push button is also provided to reset the counter. The LED on pin 2 is an indicator that the Arduino is receiving the measure pulse. /* MMS Measure Counter * * Working with MIDI MUSIC SYSTEM it is often hard to know which * measure you are listening to while editing a song. An Arduino can be * programed to accept MIDI data on Channel 16 that will cause a counter * increment. A Voice channel in the MMS can be programed to output * a signal to reset or increment the display of a $1.00 step meter. * * This program will look for a midi program change command on channel * 16 (207). Then read data * 0 for off * 1 for count * */ int ledPin = 2; int countPin = 3; byte midiCommand = 0; byte midiData = 0; byte programChange = 207; //number representing channel and Command // 192(program change)+15(channel 16) void setup() { pinMode(ledPin,OUTPUT); pinMode(countPin,OUTPUT); digitalWrite(ledPin,LOW); digitalWrite(countPin,LOW); Serial.begin(31250); } void loop() { while(Serial.available()<1){}//wait for data midiCommand = Serial.read(); if (midiCommand == programChange){ // Note On - Channel while(Serial.available()<1){}//wait for data midiData = Serial.read(); switch (midiData) { case 0: // Turn off pins digitalWrite(ledPin,LOW); digitalWrite(countPin,LOW); break; case 1: // increment counter digitalWrite(countPin,HIGH); digitalWrite(ledPin,HIGH); break; } } } ------------------------------------------------------------------------------------------ The counter and display unit The counter/display is left-over from a challenge to find something in the dollar store to hack. It turned out to be a step meter. The step meter has two swiches. A sensor switch that is a weighted spring that makes contact as your hips sway and a reset button. If you have a cheep step meter, you can carefully open the case. The case holds the internal parts together and will need to reassemble it. Solder wires to replace switches with external switches and reassemble. Now you should be able to short the wires to see which does what. One pair resets the counter and the other increments the counter. Build the circuit with the Arduino, modified step meter, reset button, 2-330ohm resisters, LED and optocoupler IC. I put it on a prototype board cause I knew it would get used again (and again). The only reason you need the circuit is for the use of the step meter. You may be better off using another display method. --------------------------------------------------------------------------------------------------------------------------------------- Connect your Atari-MIDI interface MIDI Output to the MIDI Input on the Arduino shield and the Arduino Shield THRU to your synth MIDI Input. Press the reset button and start the music. As you listen to the music jot down the measure numbers when you hear something unexpected. Now you have a good starting point for searching out the cause of the discord. Find your own method for counting measures. What ever you come up with will probably be better then my old PLAY-MEASURE-1,10 and PLAY-MEASURE-10,20 and etc. (to the end of time).
  25. Found a good example for using the JUMP command in MIDI MUSIC SYSTEM. Once the notes were entered, I started trying out the patches during playback and found one that seemed to brighten an otherwise dreary day. Of course bells and strings can make any music sound like it was meant for the coming holiday's. This is FIVE PART CANON by Michael Praetorius(1571-1621). Five Part Canon.mp3 -------------------------------------------------------------------------------------- MIDI MUSIC SYSTEM (MMS) has options that can make it easier to work with then its predecessor ADVANCED MUSIC SYSTEM (AMS). The JUMP command is one of them. It works like the GOSUB in BASIC. Voices 1 to 20 are used to output to their assigned MIDI channel 1-16. Voices 21 - 99 can be used to hold sections of music or sequences that can be called from voices 1-20. You can use these sequences by inputting Jn (Jump to voice number n). Just like any subroutine, the music in voice n will play until a RET (return) is encountered. You can expect the same kind of results that might result might get from forgetting to enter a RETURN at the end of a BASIC subroutine. I like to keep it simple but… you can Jump to any one of the voices at anytime from any voice. Things can get pretty messy when you have 5 voices JUMPING around. One subroutine with and extra note can really screw up the timing. (There's a story behind that statement.) The .ATR contains the files for the cannon. Five part cannon.atr I found the music for a FIVE PART CANON by Michael Praeturius in the book "ENJOY YOUR Recorder: The Trapp Family Singers' New complete method of Instruction for the Recorder". Instead of inputting the music in each of the 5 voices, the 10 measures were programed into V21. Then Voices 1 to 5 were used to play the 5 parts. Rests were placed to assure that the music for that voice would come in at the right time. The music as represented by the printed sheet music is in the file FIVEPA21.MUS. CANNON01.MUS developed the music to the next save point. The rest in V21-measure eight was unsettling. A B4Q was put in its place. I wanted v1 to play through 1X before the other 4 voices entered. V22 was programed with 10 whole rests; then V2-5 jumped to V22 before starting. A tie was placed on the last note of music in V21. It is barely noticeable until the end where the extra quarter note is added to the last note played in V2, the last voice to stop playing. The last thing that was done to this file was to transpose the V2 up an octave, V4 down an octave, and V5 down 2 octaves to give it some depth. CANNON02.MUS started out having all the notes beginning at the same time, which made it sound very robotic. No human can play to that accuracy. A slight delay rest was added to 3 voices to make it seem a little less then perfect. V2 was delayed RZ (1/64), V3 got RZ + R^1, and V4 got a RZ+RZ delay. I hope the results are pleasing. CANNON02.MUS was saved and recorded. The Yahama TG-33's P1-13 SP*BelSt preset was used for all voices with only a slight amount of #5 delay effect from the mixer. --------------------------------------------------------------------------------- I have found many MMS music files and 99.9% seem like they may have been converted from AMS files. MMS can do so much more.
×
×
  • Create New...