Topic: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Welcome aboard the 1-Bit Forum, great to have you here! Please make yourself at home, and if you like, please introduce yourself in this thread smile

So, for a start... I'm utz wink I make 1-bit music (surprise surprise) and I've also coded a few sound routines. Also I run Ancient Wonderworld, a blog about oldschool computer art - see the links in my signature.

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Glad to learn that 1-bit MUSIC forums haven't vanished.

@utz: sorry for my belated reply, nowadays I rarely log on my Yahoo account! tongue

@garvalf: I need to finish our program, I'm in debt with you. sad

TK90X Fan - fan of 1-bit and AY music played by TK90X/ZX Spectrum
Cantinho do TK90X (my blog, in Portuguese language)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Hello TK90X Fan!
I'm glad to see you here.

Don't think you are in debt, no! I'd be glad if it could be finished, but so far I've released the individual files in a package so it's already good enough, so do as you wish wink

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Greetings!

Cool forum.

300:2C 60 D0 30 N300G

smile

5 (edited by 0r4 2016-10-26 14:53:54)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Hello there!

I'm 0r4. I make mostly of my music in 8bit, but I want to explore more to improve.
See you in forum smile

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Cheers 0r4, welcome aboard! Of course we talk about 1-bit here most of the time, but we like 8-bit, too wink

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

as long as it's not 16-bit, it's ok for us wink

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Hi everyone!
I already said hello in calc section but since 16-bit was mentioned above and this is 'introduction thread' I couldnt resist not to introduce you to some of my filthy 16-bit sounds wink

https://zuol.bandcamp.com ;everything
https://ulanmajorat.bandcamp.com ;everything except vocals and a few solos
https://betanjehu.bandcamp.com/album/tadeusz-cie-lak-trio ;bass here

great forum you got here, lots of informative threads for a beginner in 1bit like me ;]
cheers!

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Wow, you seem to be really active! Also, I think black metal will have a few fans around here wink

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

The black metal band is rather cool. My favourite Polish black metal album is "Wicher" by Sacrilegium: https://www.youtube.com/watch?v=RrmnbldZiUQ . Other albums from Poland I enjoy in this vein: "Grom" and "Sventevith" by Behemoth, "Prawo stali" by Graveland, Arkona

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Graveland is a bit controversial due to this NSBM shit, i really dont like their music either but sacrilegium is pretty nice ;]
one of my favorites from polish bm scene is https://www.youtube.com/watch?v=dzuDC-RlYX8. Internationally looking definitively Vinterland ;]

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Howdy. My name is Mark and I live in rural Dumfries and Galloway in the South West of Scotland and I make films, music and stuff.

New around these parts and new to making music on the Speccy. Took the long way round to find you guys but glad to be here. Looking forward to reading through the stickies. I imagine I'll find a bunch of answers to my initial burning 1 Bit questions without having to annoy anyone first.

Fun fact, I grew up in Dundee in Scotland and both my parents (and my grandmother) worked at the Timex in the 80's, assembling Spectrums.

13

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Hey Mark, welcome aboard! I realize we don't actually have a sticky about getting started on Speccy 1-bit music yikes And we're always happy to help, so please feel free to ask any beginner's questions you may have.

14 (edited by mark_lyken 2017-05-20 11:20:24)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Thanks utz, that's very much appreciated. You may regret saying that though, ha, ha!

My hope is to use native programs and learn some assembly - particularly interested in the assembly side. I have picked up some 2nd hand machine code books but I've found little reference to sound and so am reading the "1 Bit Routine" tutorial with great interest (if little understanding at the moment!).

I spend toooooo much time as it is, editing/making music on a Mac, so I would ideally like to do as much as I can natively with the Speccy, rather than cross platform.

I am very interested in sound design and computer music in general and had been trying to get answers elsewhere about synthesis on the Speccy but with little luck. Finally found some irrlicht tracks, that led me to your videos on youtube and finally here. smile

I have my old ZX and an AY 8912 sound card (which literally arrived this morning).
Figured the beeper sound being output through the mini jack would make things a little easier.

15

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Well, I'd be more than happy to aid you in your quest to pick up assembly. We definately need more people writing their own sound routines.

Btw check out these:
Mastering Machine Code on Your ZX81, by Toni Baker - There's also a ZX Spectrum version of this book, but this one comes as a hyperlinked html version. Very handy, especially chapter 8.
How To Write ZX Spectrum Games, by Jonathan Cauldwell - Very useful once you've learned some basic assembly theory and are wondering how to put it into practise.

You'll also want a mnemonics table for a quick overview over all the available commands. I mostly use this one. It's missing a few undocumented opcodes, though. The definitive list of all Z80 opcodes is here.

Edit: Oh, and thanks for your contribution on bandcamp btw smile Glad to hear there's at least one person who actually likes my beeper poetry big_smile

16 (edited by mark_lyken 2017-05-20 19:49:52)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Thanks utz, that's very generous of you and lots to get me started! I have printed out and bookmarked all of those suggestions.
No worries on the banccamp front, finding that track gave me hope that there were folk out there pushing the envelope so to speak!

17

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Cheers! Another thing you'll want to do is setting up a toolchain. Books usually don't explain how to do this in a modern way. There are many different ways of going about this, ultimately it all depends on your personal preferences. Are you a bit familiar with using the shell on your Mac and compiling simple C/C++ programs?

18 (edited by mark_lyken 2017-05-21 15:15:05)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Ah ok. Nope, no C++ programming experience. I'm a total novice all round as far as programming goes!

To be honest, I'm keen to keep things native and would like to stay away from the Mac entirely if at all possible - I use the laptop for everything else in my work so I'm keen to switch it off in the evenings and use the Speccy.
I realise this is tying a hand behind my back to a certain extent but I'm a little powerbook fatigued + there is an element in my work where I like to employ old tech. My last project generated all of the visuals with a 1950's Heathkit Oscillosope and a hacked Vectrex + modular synth. Example here: https://vimeo.com/141600974 Hours of footage was then cut to the music.

I have my 48k at the moment with a Zaxon DivSD interface arriving this week + a ZX Spectrum Next board which delivers in August. I'm hopeful the Next will be a good computer to program on, taking advantage of it's expanded specs but still utilising the z80, although in FPGA.

Reading through the mnemonic dictionary you linked me too has helped already. I was able to at least recognise correlations between your code and the instructions, so that's a start!

I had a question re: the beeper. Am I right in thinking that in the 48k the sound generation occurs solely between the z80 and the speaker and if that's the case is the recognisable beeper sound is a characteristic of the 40 ohm speaker? Does the signal then flow from speaker to the ear/mic output? I may cringe at this question in a few weeks..... wink

19

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Well, that certainly means taking the hard route wink On the other hand, I can completely understand your desire to stay away from "big" computers. In this case you may want to familiarize yourself with MRS (the Memory Resident System). It's one of the most advanced assemblers that run natively on the 48K, and it should work just fine in conjunction with the divSD.

Regarding the 48K sound, it actually is generated by the ULA chip, which also does the graphics. The ULA sends the signal to both the on-board speaker and the MIC output (and since the latter isn't fully seperated from the EAR port it's audible there as well, at a lower volume). Pretty much all the recordings available online are taken from the MIC port.

Like what I've seen so far of your works on vimeo, nice and dark. Will have to check out more of that wink

20 (edited by mark_lyken 2017-05-21 16:44:51)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Ah, that makes sense and explains the problem of running graphics and audio at the same time. Were the Z80's themselves used in other systems for sound generation or is it strictly as sound CPU? I did see reference to a Z80 of a sound driver here: http://md.squee.co/Zilog_Z80

I understand recreating the ULA was the trickiest part for creating ZX clones.  Okay doke, will download MRS now and read up on the ULA chip! Now you mention it I've seen a few references to Chris Smith's Spectrum ULA book, might have a read of that to familiarise myself with it properly.

Glad you like the music, it's got steadily more abstract and less musical as time has went on!

21

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Z80 is sometimes used in the Sega Genesis/Megadrive as a sound co-processor. It's also used for sound generation in a number of other home computers without dedicated sound hardware.

You don't really need an in-depth understanding of the ULA. I suppose my wording was a bit confusing: As far as sound goes, the ULA only converts the digital output from the Z80 into an analogue signal. The actual sound synthesis is done by the Z80.

Basically, you mostly interact with the ULA either by writing to VRAM (0x4000 - 0x5bff) in order to change graphics, or by writing to port 0xfe in order to change the border color, and the state of the 1-bit signal. Bit 4 is the relevant bit for controlling the beeper state.

The tricky part of running graphics and audio at the same time is this: the Z80 shares the data bus with the ULA in the lower 16 KB of the Spectrum's RAM (0x4000 - 0x7fff), and the ULA gets precedence over the CPU. So when the CPU is executing a read or write operation that concerns the first 16K of RAM, it may have to wait a variable amount of cycles. This is called "memory contention". Now here's the catch: When synthesizing 1-bit music, you usually need to use cycle-exact timing. However, the amount of delay caused by the memory contention is very difficult to predict, so cycle-exact code becomes nearly impossible when generating graphics at the same time. There are some tricks to make it appear as if graphics and music are running at the same time, but actual synchronous gfx+msx generation is considered very challenging (though not impossible).

22 (edited by mark_lyken 2017-05-21 18:30:52)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Gotcha.
Will go and mull all that over!
Presumably there's no way to sync/start two machines via midi - Allow one to deal with the graphics and the second with sound? Or would that spoil the fun? ha, ha.

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

You would need to spend most of the CPU time on both machines to run the MIDI protocol, as Spectrum does not have hardware serial I/O.

website - 1bit music - other music - youtube - bandcamp - patreon (latest news there)

24 (edited by mark_lyken 2017-05-22 08:36:40)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Ah, thanks Shiru. Good to know. I thought it could perhaps be a possibility as the 128 has a MIDI port (albeit a very weird one!) This is all part of the appeal of learning to program on the Spectrum and gaining a sense of its inner workings because at the moment I have a working knowledge of the DAW's, editing software etc that I use but little or no understanding of how any of it works under the hood!

25 (edited by uglifruit 2018-05-29 22:55:38)

Re: Welcome to the 1-Bit Forum (aka The Introduction Thread)

Hi there.

Leicester, UK based person here.

Had a Speccy in the 80s, did a little z80, have tinkered with it since - and have been sharpening my skills.  Though they still aren't very sharp.  Have written a few things - and have various things in 'nearly finished' states.

Work in music tech education, and have a good working knowledge of music.  Played with Beepola, and in fact used it for making parts of some music I've licensed to a library music company.  And used it for generating some of the music I made in a Musical I wrote, performed at Edinburgh Fringe Festival (it was about old computers).

Currently engaged in a project trying to use a spectrum as far as possible as a music performance tool (I know, a daft idea).
I've been playing around with various different 1bit engines, and seeing how I can add some degree of keyboard control to pattern choice, or various things like that.

I also make Teletext art.

So that's me.