• Content count

  • Joined

  • Last visited

Everything posted by mubase

  1. Compukit UK101 on P1-500K

    Hi James and Happy Xmas and new year.. Its all working! Thanks so much for all your help so far.I managed to get an old ps2 keyboard from work and after working out which wires were which its now all good. I'm now going to dissect your code and work out whats going on in the various files. I'm interested to know how you got the ROM images as hex files into your VHDL ROM files. Also, if I wanted to use a different ROM (I notice there is an a version of CEGMON with an advanced monitor program) how would I go about getting the hex file to examine?
  2. Compukit UK101 on P1-500K

    Excellent I've got the video side of things working!! Thankyou!!! I've got a 12V b/w analogue TV with video in displaying "CEGMON (C)1980 D/C/W/M?" which I assume stand for disk,cold,warm and monitor. I'm just working out the keyboard now. I have an old USB keyboard that I've cut the usb connector off revealing 4 wires (red,blac,white green). Can I use this type of keyboard or does it have to be a PS2 type?
  3. Compukit UK101 on P1-500K

    OK so I join the 2 signals together using the resistors from each of the two channels tied together at the end...
  4. Compukit UK101 on P1-500K

    Hi James. Thanks for the reply. OK I've downloaded the project file and opened the .ucf file for the pins. I see 2 pins for the video output. Video sync and video connected to the VGA green channel. Can you tell me where these pins are connected and which resistors I need? Thanks again. Steve. PS. The grant Searle z80 system I assembled is actual hardware with Z80 chip and all logic and so chips as per grants design and not a synthesis. I'm relatively new to vhdl...
  5. Compukit UK101 on P1-500K

    Hi Guys. I've stumbled across your UK101 computer project whilst looking around at FPGA emulations of older 8 bit computers. I love the 8 bits and have a version of Grant Searle's Z80 CP/M project up and running. I noticed you are getting your composite video and PS2 keyboard signals from the Arcade MEgawing. I don't have an Arcade megawing but I do have a Papilio One with Logicstart megawing which has a VGA port but no PS2 port. Would it be possible to convert the code to use the Logicstart VGA and some extra pins for the keyboard without any trouble? Thanks, Steve.
  6. Hi all from London (UK.) I'm having fun playing with the new version of Designlab (1.0.7). I have had a Papilio One 500K board with Logicstart Megawing for a while now but haven't had time to do much with it.. I am interested in sound synthesis and would like to know if it is possible to use the YM2149 sound chip component in a schematic with the Logicstart board using the Sigma Delta DAC to send the sound through the on board audio Jack as opposed to using an audio wing like shown in the example. Is this possible? Thanks for any help... Steve.S
  7. I'm using a Logicstart megawing with just the 1 audio output jack from the sigma delta. The schematic takes the YM2149 output and sends it thru the DAC and the DAC output is sent to the Audio block on the Logicstart. No audio splitter. Will it still work? Ooh. Sack that. I've taken out the sigma delta DAC so I now just have the YM chip connected to wishbone slot 5. The YM output goes to the audio mixer and the mixer out to the Logicstart Audio input. Working fine now. Thanks again.
  8. That did the trick! Thanks Jack it all seems to compile nicely now. I've uploaded the bitfile and the Logicstart sketch and all works as expected. One thing has hit me though... I can make sounds with the YM2149 library, but as it is now connected to the Sigma delta DAC, how do I go about sending the YM2149 output through it? (the DAC)...
  9. Hi Jack. OK, back to it... I looked at your video again and realized that you were using the YM2149 symbol from the DESIGNLAB/LIBRARIES/zpuino_wishbone_peripherals. It doesn't show up for me. I've made a jing video showing you the process (there's no sound unfortunately but you should be able to follow..) So YM2149 doesn't show up in the list of symbols for the zpuino_wishbone_peripherals library folder even though the .sym and .vhd files are in the folder... Also, the original design doesn't compile either. So even if I don't change anything, it still doesn't compile... Here's the screencast link: I do hope you make sense of it and know what i'm doing wrong... Steve.
  10. thanks for the video. i followed all of the steps to the rule. however, i still get the same error. I'm using a papilio one 500k, the zpuino soft processor that appears on the schematic is the "hyperion" version even though i have my board selected as : papilio one 500k zpuino in the tools menu of designlab... what could be going wrong???
  11. Hi Jack. Thanks for the reply. I'm having great fun using the YM2149 library on its own but to get it working with the Logicstart would be excellent as I can use the Joystick , the ADCs and the switches to do some very cool shit. OK. Ive opened up the MegaWing Logicstart sketch in Designlab (I'm using 1.0.7), saved it as another file and opened up the schematic in ISE. I've deleted the Audio passthrough and it's nets and connected the YM2149 to the wing and DAC fine. However, I seem to be getting compile errors like this: ERROR:DesignEntry:20 - Pin "wishbone_in(61:0)" is connected to a bus of a different width.ERROR:DesignEntry:20 - Pin "wishbone_out(33:0)" is connected to a bus of a different width.I'm not sure why... any ideas?
  12. Hi guys. I have a Papilio one 500 with the Logicstart board which I love. Now I also have a ZX spectrum 48 computer which I love as well. I would like to know if it would be ossible in ANY WAY to use the Papilio One Logicstart to convert the output signal from the ZX Spectrum to VGA so I could plug my speccy into a VGA monitor instead of a TV. Is this possible? Can it be done ? Thanks. Steve.
  13. Hi all. Its a long time since I used my papilio board but I have cme up with an idea and was hoping someone might be able to tell me if it ossible using a Papilio one 500K and thwe schematic editor. The idea is to build a MIDI to CV controller for use with modular synthesizers. I understand that the schematic editor can enable the user to add as many peripherals as they wish to their design. So would it be possible for me to add say 12 or more DACs to my design for use as outputs having had data converted from a serial port running at the MIDI baud rate (31250 baud) as MIDI messages (note on/off, controller messages etc) to be converted to analog voltages to be sent out of the DACs implemented on the design. The reason for this is that although I have a KEnton MIDI to CV converter it only has 2 channels. I would like loads more channels so I could control my modular through any MIDI platform. Does anyone understand what I am saying and would it be pssible? If someone could help I would be very appreciative... Thanks. Steve.
  14. MIDI to CV converter using Papilio..

    Hi Jack. I'm making progress with the MIDI - CV and have a UART installed on WB 10 with pins on BH1 and 2. I've built a small MIDI in circuit using a 6n138 opto and have its output connected to the UART RX. My program takes MIDI note on messages and CC messages and converts either the note value or the CC value into a voltage which then lights and LED through the DAC outputs. There is a problem with speed. The CC values update alright but only if I turn the knob really slowly. If I turn it fast, the data recieved on the papilio isn't continuous...? I wrote a simpler program just t print what comes out f the MIDI serial port and it was fine but my LED program is slow.. I have pasted it below. Can you see anything in my code that would slow the serial RX down? Also, the map function doesn't work (hence the equation to turn MIDI values to DAC voltages... Any help appreciated. Cheers, Steve. //MIDI to CV on Papilio one 500K running ZAP 2.3.0 using Papilio Schematic Library 1.6 (GadgetFactory-Jack Gassett.) 2014.byte commandByte;byte noteByte;byte velocityByte;byte CCNum;byte CCVal;byte oldCC;#define MYBASE IO_SLOT(5) // DAC 1#define MYREG(x) REGISTER(MYBASE,x) // DAC 1 register#define MYBASE2 IO_SLOT(6) // DAC 2#define MYREG2(x) REGISTER(MYBASE2,x) // DAC 2 registerbyte noteOn = 144;byte CCon=0xb0;int CVTest;int noteTest;HardwareSerial midi(10);//light up led at pin 13 when receiving noteON message with note = 60void setup(){ midi.begin(31250); Serial.begin(115200); // midi.flush();} void loop(){ while (midi.available()>0){ commandByte =;//read first byte switch (commandByte) { case 0x90 ://if note on message //check if note == 60 and velocity > 0 Serial.print("CMD: "); Serial.println(commandByte); noteByte =;//read next byte Serial.print("VAL: "); Serial.println(noteByte); noteTest=(0+((65535-0)/(127-0))*noteByte-0); MYREG2(1)=noteTest; velocityByte =;//read final byte Serial.print("VEL/VAL: "); Serial.println(velocityByte); delay(1); break; case 0xb0: Serial.print("CMD: "); Serial.println(commandByte);; Serial.print("CCNum: "); //float V=3.3/CVTest; Serial.println(CCNum);; oldCC=CCVal; CVTest=(0+((65535-0)/(127-0))*CCVal-0); Serial.print("CV: "); Serial.println(CVTest); MYREG(1)=CVTest; delay(1); break; default: break; } }}
  15. MIDI to CV converter using Papilio..

    And heres a sine wave. IMAG002.BMP
  16. MIDI to CV converter using Papilio..

    Great. Heres the picture. IMAG001.BMP
  17. MIDI to CV converter using Papilio..

    Ok Sack that last message. I think Ive got it. Your tutorial on adding 10 UARTs helped a lot! So I have now got a schematic consisting of 4 audio passthrough units connected to 4 sigmadelta DACs that have I/Os going out to pins CL0-CL3. I've tested them all using a simple program that outputs varying values from 0x0 to 0xffff and they measure up on my oscilloscope. Adding a basic RC filter (470 ohms / 100nF ) I also wrote a small program in ZAP to output a sawtooth wave (count up to 0xffff and back to 0.) I took a picture of the resulting wave but I dont know how to post it to this page ! So its a start. I am in absolute awe at what a brilliant thing the schematic editor is!
  18. MIDI to CV converter using Papilio..

    Hi Jack. OK I think I understand and have been reading the ZPUINO user manual however, I am unsure as to whether I am getting the schematic right. I am using the PSL example in the examples folder as a template and have connected an Audio passthrough to slot 5 and a DAC to the audio passthrough with a connection to the 96MHz clock. Now, should the output of the DAC have an IO tag assigned to it ? rI tried this and attempted using a name tag of WING_CH0 and deleting the WING_CH0 tag from the papilio default pinout bus.. is this correct or am I totally wrong? Or do I need to use the audio wing to connect the DAC to?? I apologize for my slowness but this is very new to me. Thanks, Steve.
  19. MIDI to CV converter using Papilio..

    Hi guys and thanks for the advice so far. Its nice to be getting back into the Papilio board again. (500K- i have a Logicstart board too.. ) So am I to understand that the audio passthrough can be called simply by defining it like in the wishbone example? >> #define MYBASE IO_SLOT(5)#define MYREG(x) REGISTER(MYBASE,x) and then just writing a value to the MYREG define? What about the DAC's registers? SIGMADELTACTL and SIGMADELTADATA if there is more than one DAC? how would I set up and use them?? I found a good example of using an interrupt to send a low and then a high value through the DAC to produce a square wave: int level = 0; void _zpu_interrupt (){ if ( TMR0CTL & (1 << TCTLIF)) { /* Interrupt comes from timer 0. */ /* Change level from low to hi and back again. */ if (level == 0) level = 0xFFFFFFFF; else level = 0; SIGMADELTADATA = level; /* Clear the interrupt flag on timer register */ TMR0CTL &= ~ (1 << TCTLIF ); }} void setup (){ // Configure sigma-delta output pin. // WINGA PIN0 and PIN1 are the outputs. pinMode(WING_A_0, OUTPUT); pinMode(WING_A_1, OUTPUT); pinModePPS(WING_A_0, HIGH); pinModePPS(WING_A_1, HIGH); outputPinForFunction(WING_A_0, 0); outputPinForFunction(WING_A_1, 0); // Enable channel 0 and 1. SIGMADELTACTL = 0x03; unsigned frequency = 1200; // Clear timer counter. TMR0CNT = 0; // Set up timer , no prescaler. TMR0CMP = ( CLK_FREQ / frequency ) - 1; TMR0CTL = (1 << TCTLENA)| (1 << TCTLCCM)| (1 << TCTLDIR)| (1 << TCTLIEN); // Enable timer 0 interrupt on mask. INTRMASK = (1 << INTRLINE_TIMER0); // Globally enable interrupts. INTRCTL = (1 << 0);} void loop(){}How would I go about sending more than one signal out of the audio Passthroughs/DACs I have set up on the schematic in the sketch??
  20. Hi all. Back again with a question about the IntroToSPartanFPGA tutorials from Mike. I have been trying to understand this chapter on 8 bit DAC and output of waveforms in the audio range. I get the 8 bit DAC code: library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity dac8 isPort ( Clk : in STD_LOGIC;Data : in STD_LOGIC_VECTOR (7 downto 0);PulseStream : out STD_LOGIC);end dac8;architecture Behavioral of dac8 issignal sum : STD_LOGIC_VECTOR (8 downto 0);beginPulseStream <= sum(8);process (clk, sum)beginif rising_edge(Clk) thensum <= ("0" & sum(7 downto 0)) + ("0" &data);end if;end process;end Behavioral; and have generated a .COE file containing 128 numbers in decimal from 28 to 228 for a lookupt table for the ROM block. Do I now need to generate a counter using the Core gen? Also, how do I send the wave out of the P41 mono audio output on the logicstart (i.e what do i send to it?) Ive tried sending the douta to it but I don't think I know what I am doing...
  21. Hi Guys and Merry new year! I received my Papilio500K yesterday and am just waiting for the Logicstart to arrive. :0)))))))))))) I have managed to get the quickstart file working very easily with ISE webpack. I didn't have a logicstart so just attached an LED to GND and one of the even number pins. All worked and so did the serial port demo showing the AscII codes. All happy! I then discovered the schematic editor on the webpack. I did a boolean logic primer at college a few years ago as part of an audio systems course so I still remember all my ands ors nands xors etc ( even some combinational logic, de morgans and karnaugh!) but i'll have to do a recap. I would like to know how far one can go with using the schematic editor.. Is it possible to create your own components? Are there any good PDFs out there maybe by xilinx or others that could help me use the schematic way of programming? I have the reference but it would be nice to do a few toots too.. Very excited to get the board. Roll on spare time from UNI work so I can get my head into the Papilio. Thanks, Steve.
  22. Hi all. A quick question.. I have a Logicstart Megawing. Does it leave the Papilio one 500K with any spare pins?? If so, I'd like to Mod the logicstart to accept more I/O on those pins... I want to be able to add MIDI functionality if possible. Thanks again, Steve.
  23. Logicstart board & spare pins...?

    Ooh! Thanks Jack! The Audio is still there as is the joystick... I'll look into this. Thanks again. The VHDL is coming on slowly. I am on a bit of a hold right now getting on with processing and Xcode cocoa audio projects for university... All the best, Steve.
  24. Hamster FPGA tutorials. 8 bit DAC. Questions.

    Cracked it finally! So I Generated a block ram of 8 x 256, added a .coe file for 255 values between 28 and 228 that I generated using a simple program in "Processing.", changed the counter for address and connected the memory to the DAC as suggested. I had to change the counter to 15 downto 8 as the address was set at 8 bits. The results are in the attachment. The sine came out at 500Hz Very nice looking sinw wave! Now I have sine, sqr and saw. Thankyou very much Mike for being patient and helping me to get it. Now I might be able to understand your synth project on the hamster projects wiki and also have a go at generating different frequencies & I can carry on with your book. Its all lookin rosy.