monsonite

Members
  • Content count

    70
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by monsonite

  1. Happy New Year to All, In the last few days, there has been some accelerated development to try out the new EVE (embedded video engine) chip from FTDI - the FT812 James Bowman - (@GameDuino) and creator of the J1 Forth chips and I have joined forces - in a Trans-Atlantic collaboration, to develop a breakout board for the FT812 - and to get it working before New Years Eve. Some of you may be aware that this is the updated version of the chip used in the GameDuino 2. It has an impressive spec - and simplifies the whole process of generating sophisticated graphical displays and user interfaces A common theme on the community feedback site for Gameduino - was that there was no means to drive a large screen monitor. So we have addressed this and produced a shield for the Papilio Duo, that features the new EVE chip - and will drive a large screen monitor or television. Whilst originally specified for 800 x 600 SVGA - James has managed to tweak the clock timing by about 8% and stretch it's capabilities to XGA resolution - which is 1024 x 768 60Hz. James had a set of boards made from my Gerber files, and put the boards together in Northern California - whilst I worked on mine in London. By the early hours of Tuesday, my board displayed its first image - a big red blob at 800 x 600 - and then a few hours later James reported that he had got it running 1024 x 778. To celebrate the New Year, and to promote open source development - we will be sharing some of our prototype boards out amongst Gadget Factory Community members. There will be 5 available as competition prizes as part of a prize draw - details yet to be decided, and then further boards will be available later. The boards will work with ZPUino on the Papilio Duo - running the GameDuino 2 Library. Thy will also work on any development board that presents Arduino - like expansion headers - which is now a lot of boards - from many manufacturers. The prototype boards are however limited, for the moment to just 3V3 logic - but this is being addressed in future versions. Moving forwards, we are in early stages of discussion with Jack to offer the Universal XGA Shield - as an exclusive product through Gadget Factory. Best Wishes for 2016 - and a Prosperous New Year - from here in London. Ken
  2. Hi All, Welcome to the J1 discussion area of the Gadget Factory Forum. The J1 is a compact, open source cpu, with a stack architecture optimised for executing the Forth language. It is ideally suited to fit into a variety of FPGAs, and James Bowman, the designer, has kindly made a build available that suits the Papilio hardware - specifically the Papilio Duo fitted with computing shield. Stack processors have been around quite a while - as described ion Philip J. Koopman's 1989 book "Stack Computers: The New Wave" http://users.ece.cmu.edu/~koopman/stack_computers/index.html The book introduces the concept of the stack computer and offers a detailed examination of 7 such examples both 16 bit and 32 bit. The book reviews stack computers that were being developed in the mid-1980s, at the same time as the ARM RISC architecture was in its infancy. In 1985, Charles H. Moore introduced the Novix NC4016 - a 16 bit stack computer based on a gate array. This device was revolutionary in it's day and faster than the nearest Intel x86 offering - despite the fact that it used only 1% of the transistors of the Intel part. It ran at 8MHz and showed how hardware and software could be optimised together for speed and efficiency. The J1 is a close descendent of the Novix, James Bowman has incorporated many of the ideas pioneered in the NC4016 and adapted them for efficient implememtation in FPGA hardware. The result is a 32bit Forth processor in a common Xilinx FPGA that runs at 180MHz. I would like to invite you to join a journey of discovery into the fascinating world of soft core processors, stack machines and the Forth language. Ken Boak co-Moderator London 13th September 2015
  3. Hi All, We have had a bit of discussion over on the GameDuino Community http://gameduino2.proboards.com/thread/279/800-600-gameduino-shield?page=1&scrollTo=1103 Here are some suggestions arising: The following have so far been has proposed for the future version: 1. SPI chip selects compatible with GD2 for SD and FT8122. Support for analog joystick and Wii Nunchuck on A0 A1 (Analog) and A4, A5 (I2C)3. 40 pin FPC connector to allow direct access to all LCD signals to allow plugging a larger LCD (eg 7") or HDMI adaptor4. RTC suport - this could be a supercapacitor backed-up MCP74910 5. Support for Li Po cell - for total portability 6. 3 x 2 header and D14, D15 to pick up the R3 I2C and SPI signals7. Extending the pcb by 0.7" to it's bottom edge would allow a Teensy 3.2 (ARM Cortex M4) to be plugged in directly - for super compact operation. Ken
  4. Hey Jack, I know that you have been busy recently, with family and holiday - but thanks for posting up my design. James and I have been collaborating over this for about 3 weeks on both sides of the Atlantic, and the prototypes are now really starting to perform. Some Features of the Design The board is produced on a 50mm x 50mm footprint - and forms a compact version of the classic Arduino shield - with the addition of a few extra pins. I am doing a whole range of boards using this format as they are quick and cheap to design and make - and stackable. They offer 7 more GPIO pins than the standard Arduino shield- and are great for quickly trying out new IC designs - like the FT812. The extra headers and resistor network on the underside of the pcb were to allow this board to be used as a VGA output on the STM32 Discovery F7 board. We use the Disco F7 at work - and I thought it would be neat to add a big screen. These parts would generally be omitted in normal use on the Papilio Duo. The version shown is one that I was toying with the placement of the microSD connector - as this is an important addition to the design - as it allows images and mpeg videos to be screened through the FT812 chip. The voltage regulator is a very standard MCP1702 3V3 250mA low dropout regulator from Microchip - costing a few tens of cents. It drops the 5V raw power to 3.3V for the FT812 IC - which is not 5V tolerant. When I first powered up this board it was barely using 10mA - so there's plenty of current in reserve - and you have the possibility of running this off a Lithium battery if your application needs that kind of portability. Video Resistor Networks These are key to the creation of the analogue VGA video signal. You will see a row of 8 commoned resistors, for each of the Red, Green and Blue video outputs from the FT812 IC. The resistor networks are basically a string of commoned resistors that increase from approximately 500 ohms in binary powers of two - up to 63.4K ohms - which is as close to 64K as the standard 1% resistor values allow. The 8 bit digital word presented to the resistor network creates a multi-input potential divider circuit - acting in conjunction with the 75 ohm termination resistor inside the video monitor. With all bits set high, the combination of currents created in the network should sum together in their specific binary values and create a voltage of about 0.7V at the video input of the monitor. This is a very simple way of creating a low cost video DAC - using nothing but Kirchoff's and Ohm's Laws! Now XGA! James has done great work in stretching the capabilities of this board to a full XGA which is 1024 x 768 at 60Hz. This has been done with a minor tweak to the frequency of the external crystal. The idea of this shield is that it provides a complete computing environment to complement the power of the FPGA - providing video, microSD, PS/2 keyboard and mouse interfaces. I am currently also looking at breaking out the audio signal from the FT812 - and providing some support for a games controller. Host processors! This shield may be used with Alvie's ZPUino soft cpu - providing enhanced speed, over that of a standard Arduino - and we expect to be able to update and port James's GameDuino 2 library across to the ZPUino - so that it takes full advantage of all the new features of the very much enhanced FT812. Alternatively - if you want to start off with either the ATmega32U4, or a simple 8-bit soft cpu (6502 etc) - you get the full performance of the FT812 graphics engine - without putting a whole load of demand on the 8-bit processor. If you are a Forth enthusiast, and have followed the progress of James's J1b processor - here is an opportunity to add this embedded video engine to a J1b Forth processor - and have a complete Forth computing environment hosted by the Papilio Duo. Have your Say Over the next few week's we will be taking on feedback, refining the design and producing some cool demos. We also have a few of the prototype boards to give away - to those who really want to get their hands on an early unit. Some of the broad ideas we would like to try on this new hardware: Large screen games - using the existing Gameduino 2 Ecosystem Retro Computer Jpg and mpeg player Virtual Instruments - such as oscilloscope, multimeter, logic analyser etc - all on the big screen Forth Computer FPGA Learning Platform - a combination of Papilio Duo and video hardware to learn basics of digital logic, FPGA and computer design - similar to "Nand to Tetris" course. We are very excited about the possibilities for this new project and would love to hear what you would like to see go into it. Ken
  5. Hey Jack, Greetings from London - already into 2016 by a couple of hours. Over this weekend I hope to get the documentation in order for the new FT812 board - so that we can post all the relevant open source design details to the forum. Have a great New Year - wherever you may be. Ken
  6. monsonite

    J1b on Duo tryout

    Hi Jack, James, All My Eve pcbs arrived today - so I hope to get a couple built up later this evening. The attached images show the bare board, and the completed board, fitted on top of the Papilio Duo - using the standard "duemillenove" Arduino headers. The board offers the 800 x 600 24 bit VGA graphics to either the Spartan 6, or if you wish, the ATmega32U4. In theory you could play "Gameduino" like games - using just the 32U4. However, the plan is that the FT812 Eve "embedded video engine" IC augments the J1b Forth processor - with very little processing overhead. I have also included a secondary VGA resistor network - such that the FPGA could generate its own RGB 3:3:2 video output - independent of the Eve IC. This could be used for the existing ZPUino processor as a simple way of getting a limited 256 colour VGA display. Also included are sockets for PS/2 keyboard and mouse - and a spare "FTDI" cable connector to give an additional UART connection. I will be spending some time building up this board over Christmas, and collaborating with James regarding the driver code needed to access the FT812 from the J1b processor. Merry Christmas and Prosperous New Year Ken
  7. monsonite

    J1b on Duo tryout

    Hey Jack, I should get the pcbs back early next week - just in time for Christmas. James B is also having a set made up Stateside - so I expect that he will have it up and running with the J1 long before me. I'll forward you the EagleCAD files if it would be of potential future interest. The SPI interface is wired to the usual pins on the Arduino headers - so potentially it could be used as a video graphics co-processor for either the ATmega - or the FPGA on the Papilio Duo. I will keep you posted - as we make some progress. Have a Happy Christmas and a Prosperous New Year Ken
  8. monsonite

    J1b on Duo tryout

    This evening I got the Python Shell running with Python2.7 and Win 7. You need to adjust the Path system variable - and also install PySerial. I have now got what i consider to be minimum "friendly environment" working - so I can start to explore the J1b and Forth language. In the pipeline I have a new open source pcb design (currently at manufacturers) for a shield that supports the FTDI FT812 Embedded Video Engine (Eve) - outputting to Dsub VGA connector (800x600 60Hz) plus PS/2 keyboard and Mouse. This pcb will work with anymicrocontroller with Arduino headers that suppoerts SPI interface - including Papilio Duo, Nucleo, Discovery F7, Arduino + Teensy etc. It's VGA output for the big screen. Have a Happy Christmas Ken
  9. monsonite

    J1b on Duo tryout

    Hi JCW, James, I use "Termite" under windows There's a Plug -in under setting that is called "Status LEDs" - that allows you to set DTR as you need. I was able to get 5.27MHz Output Pin toggle using James's code modified as follows to remove delay : blink OUTPUT 13 pinMode 0 begin dup 13 io! invert again ; And this version toggles at about 7.5MHz : fasterblink OUTPUT 13 pinMode 0 begin 1 13 io! 0 13 io! again ;
  10. monsonite

    J1b on Duo tryout

    James, jcw, My new Papillio Duo and computing shield arrived today. These were the ones I ordered during the special offer on CyberMonday. This means I now have an additional set of hardware to devote to the J1b - as the first two boards are currently tied up with ZPuino projects - and so far I have only been working with a J1b simulator running in C on a STM32F746 - which runs about 1/10th of real speed. jcw - if you are interested in some benchmarking - how about a simple loop that toggles an I/O pin - that would give an idea of how quickly we can do hardware related things? It would be really cool to get the J1b working with a VGA output - James - I am sure that you know exactly how to do this Is there a Gameduino 1 hack that could be done? Ken
  11. monsonite

    Jack how was China Trip

    Jack, I have a close personal friend based in Shenzhen. He is a Chinese native, but excellent English (he used to teach English in high school ). If you need trustworthy Chinese contact out there to introduce you to tech companies or shop for the latest goodies in Shenzhen electronics markets - then that's his line of work. Contact me off-forum if you would like an introduction. Ken
  12. monsonite

    Mouse Input?

    Hi All, Optical mice are extremely cheap these days, ($1.50 in UK) as are the Bluetooth wireless versions (about $5). Is there a simple hack to allow an FPGA access to the button presses, the scroll wheel and the X, Y position data? Any help appreciated Ken
  13. monsonite

    J1b on Duo tryout

    James, Sorry for my late reply, but I have been attending various open source events around the UK this last week and enjoying the unseasonal exceptionally sunny weather. I hope to spend some quality time with the J1b this weekend. Will try the new shell with Win 8. Will report back later with my findings Ken
  14. monsonite

    J1b on Duo tryout

    Hi Offroad, Thanks for the tip. I'll have a go this evening after work. Ken
  15. monsonite

    J1b on Duo tryout

    James The Shell now connects with the j1b - but is complaining about an ImportError - see attached screenshot. What am I missing? Ken
  16. monsonite

    J1b on Duo tryout

    James The 80MHz version works "out of the box" - so I guess it may have been a timing issue. I notice that the speed grade of my Spartan 6 is 2C. I now need to get the shell to work under Python 2.7. I'll let you know when its up and running Thanks again Ken
  17. monsonite

    J1b on Duo tryout

    Thanks James, I will try out the 80MHz version tomorrow - and see if it was just a timing issue. Much appreciated Ken
  18. monsonite

    J1b on Duo tryout

    James, I checked the serial port and I am definitely using the correct port. If the J1b is just plugged into a standard serial terminal program, is their any response via the Uart Tx that would confirm operation? I am at a bit of a loss here, to as whether the device is not running on my 2MB Duo, or whether it is some artifact caused by using Windows rather than Linux to host the python shell. any help appreciated Ken
  19. monsonite

    Design Lab will not launch at all!

    Jack, Brad All, The Launch4j error is a problem that plagues the Arduino IDE - and it's derivatives, like Design Lab. I am glad that you have managed to trace it back to a rogue or possibly malicious jnidispatch.dll I virtually wrote off a laptop for any further Arduino/DesignLab development, because it got infected with the Launch4j problem Thanks again - I now know how to cure it. regards Ken
  20. monsonite

    J1b on Duo tryout

    Hi James, I have programmed the j1.papilioduo.bit bit file into my 2MB Papilio Duo using the Papilio-Loader tool. That loads OK with no errors reported. Please bear with me as I am a complete newcomer to python. I am using a 64-bit Windows 8 machine. I have installed Python2.7 and pyserial-2.7 (Not Python 3 as some of the syntax is incompatible) I have downloaded the scripts, unzipped and installed them in C:/Python27/swapforth/j1b I can see that the Papilio Duo UART has appeared on COM4, and I have confirmed that if I run shell.py that it causes the Tx LED to blink momentarily I get the message "Contacting..." back from the shell, but nothing back from the FPGA - no activity on Tx or Rx LEDs. Are there any other python scrips or tools that need to be present in my directory in order for this to work Any suggestions appreciated Ken
  21. monsonite

    J1b on Duo tryout

    James, This is excellent news. Thankyou for all your hard work getting this to run on the Papilio Duo. We really appreciate the extra mile you have gone to get this into the Papilio Community. I shall be trying it tonight, after work. regards Ken
  22. monsonite

    J1 / FORTH CPU

    Hi Offroad, The J1 is indeed a very compact implementation of a versatile high speed stack processor. James Bowman has proven it's track record using it as an embedded application specific controller within the Gameduino graphics and audio shield for Arduino. It's fairly close to the embodiment of the exotic Forth procesors that Chuck Moore and Jeff Fox (& others) worked on in the early 1990s - with modern FPGA tools making this all possible for the man in the street - the democratisation of FPGA hardware and open source tools. Thanks to Jack, we now have our own small area of this forum to discuss the J1 and it's derivatives. Hopefully we can find a multitude of applications for this cpu and get a whole new generation of people exploring soft cores and stack based languages - as an alternative to ARM and C. Here is the link to the new J1 forum topic http://forum.gadgetfactory.net/index.php?/forum/121-j1-forth/ regards Ken
  23. monsonite

    J1 Forth CPU on Papilio Duo

    Jaxartes, Yes it is really cool that there now exists the reverse engineered designs of long-gone microprocessors. In their day, these were a miracle of digital design and state of the art photo-lithography processes. Virtually every kid my age, grew up with a home computer that was based on either 6502 or Z80 - and some went on to learn machine code and become game developers and engineers. The fact that you can take a 40 year old CPU design, and run it nearly 100X its original clock rate just shows how the technology has come on. Coupled with all the retro-engineered support chips like the SID, synth and VGA graphics and you can quickly have a fast machine with a retro feel. I have seen that at least 1 person has reverse engineered the BBC Micro - I believe there is quire a following to engineer these Acorn designs including it's close relatives the Acorn Electron, Atom and Master 128. http://www.mike-stirling.com/retro-fpga/bbc-micro-on-an-fpga/ It was out of the Acorn Computer design team that the ARM processor was developed in the mid-1980s and does bear some heritage to the 6502 in terms of memory access and lack of microcode.
  24. monsonite

    J1 Forth CPU on Papilio Duo

    Hey Jack, It's an honor and a privilege - but as they said in "Wayne's World" - "We're not Worthy" - or more specifically "I'm not worthy!" I'm sure the J1 forum will get pretty rowdy sometimes, arguing about what to do with those two free extra bits in the instruction set - what to do with bit 4, and how to use just 4.5 slices to implement the whole ALU in LUTs I hope that James will show us the way, the light and the truth about Forth, and that we will all become stack manipulating polymaths, like Chuck Moore. But like I have said in the past, it's about the journey, not the destination. And Chuck said " The map is not the territory". Hopefully the J1 will open a whole new generation to Forth. I started with ZX ROM Forth in 1984, and bought a Jupiter Ace in the same year. In '88 I bought a Novix NC4016 dev board, 30 years on, my brain is still knotted by the intricacies of Forth. It's an alternative to Suduko puzzles to stop you going senile. Welcome aboard fellow Forth-wrights - May the Forth be with you Adios Amigos Ken London
  25. monsonite

    J1 Forth CPU on Papilio Duo

    Offroad, Agreed, An excellent opportunity/excuse to learn Verilog and tinker with real hardware. J1 is open source, and James Bowman is a real proponent of open source tool chains (wherever possible). If you have not already come across Victor Yurkovsky's blog - this might be worth a look. http://www.fpgarelated.com/showarticle/797.php I'm as excited about the J1 project, as Woz was - when back at Wescon '75 he bought his first 6502 for $25 Real Forth chips for those that have been waiting 30 years. Ken