
Review of innovations, interesting and general events around the player from Vogue magazine
Content
- Linux? Linux!
- We pick the software
- uCOS & miniOS
- PS / 2 interface
- Site, manuals, downloads and Credits
Linux? Linux!
First, a bit of history: after it became clear that the topic on Habré had already broken two times, and the third one
would burst,
hyborg organized a
Google group , or more simply, a mailing list, which was joined by people interested in the project. Only in the first week, about 200 messages were sent, the total number of users in the group exceeded 70 and continued to grow.
With regards to the very launch of Linux, comrades
kmeaw and
stolen posted their kernels based on Ingenic cores, collected in the case of kmeaw with the help of the gente crossdev, and with the usual toolchain, in the topic. But the launch was just a little, and various kernel modules were badly buggy, it didn't work properly to screw the rootfs, but soon the solution was found - it turned out that the JZ4725B processor is almost identical to the JZ4750L clone, for which one Japanese found (or wrote) the kernel and wrote patches for its existing
Neo Slim 3000 devices - a portable console in the spirit of “NES / GBA emulator / heap / other console), and a pair of media players. After some time, through the efforts of the test hours, the
iSage and faust habrauser (Habralogin unknown) wrote the config for our player's XZ0032 board, based on the Neo Slim 3000 board config, so says the label on the board itself. Linux was successfully launched, after some time the rootfs from Ingenic were screwed with Qtopia by
tronix286 and other people, but the main achievement is the screen - it took completely to see what
Odinokij_kot helped, that is, to determine which pins on the processor go to which pins on the connector of the cable screen. After a while, the screen was successfully launched, the bug from the blue screen was overcome - the driver of the buttons was broken and instead of the buttons it pulled the GPIO of the screen. The sound was turned on, faust wrote the simplest polling button driver and repaired the SADC button controller - it turned out that the K3-K6 buttons are connected through a group of resistors and are not connected directly to the processor. Also, USB-Ethernet was raised, and then USB Gadgets Hotplug, which, alas, is only assembled into modules, which made it possible to control the device without a UART. In the meantime, whitequark (Habralogin unknown) added along with Sergey Gridassov an analogue of usbboot from Ingenic - JZboot, and put it all into his
git , which allowed it to be properly stitched without using windows. Now whitequark has organized the kernel branch being developed and is transferring patches to the new version, since in the old it found Kernel oops when working with UBIFS, which it was planned to switch to with YAFFS2, which is used now.
')
Thus, the overall work turned out to be a fairly stable kernel, which already managed to launch not only Qtopia, but also custom assembled rootfs, which I took up, taking as a basis the most recent version of rootfs from Ingenic.
We pick the software
Let's go to the contents of rootfs. After several tests, MPlayer was found out - it is compiled for other processors and generally works crookedly, one of the available versions of MPlayer normally read only audio, the other only video, and in place they were not usable. Resources came to the aid of users of the portable console Dingoo, also working on Ingenic processors. Dingoo already had its own Linux port by the name of Dingux, and had its own wiki, which explained how to build software and make MPlayer work normally, iSage learned that you need to activate the JZ Chars core module for some reason turned off for our processor TCSM and rebuild MPlayer, after that, MPlayer began to work much more stable and faster, in places it began to eat normally not compressed video, it stopped pouring underruns. Then it was time for another software - I tried to collect various console mp3 players on ncurses and finally came to the conclusion that the best way out for music is mpg123 and wrappers for it. iSage meanwhile assembled PrBoom - the Doom port of the Linux engine with improvements and it started up right away :) I tried to build sdlquake, which so far has not been crowned with particular success, until I solved the problem of finding files, the quake engine stubbornly fails to see its pak0.pak , but it starts, which pleases. Similarly, the gmenu2x shell, which is essentially an SDL menu, was finished, it still has a bunch of glitches and is not yet manageable, but already gives good signs of life, which is good news.
I tried buildroot, squirrel and ptxdist from the software of the rootfs itself, and none of them met my requirements, buildroot showed itself well, but contained tons of glitches and bugs, could simply stop gathering for no particular reason, and so on, to this, I decided to leave my rootfs on older components, simply by updating busybox and other key things as much as possible. I also added a dropbear patched to the root login, hooked up key generation, turned off telnet altogether, now you can flash the device and immediately after generating the keys get the console without resorting to anything other than setting up the network on your computer and working with the ssh client.
At the moment, I am working on turning the board into an mp3 player, according to my idea everything should be like this - the user is flashing his board, sticking it into the computer, the usb gadgets file-backed storage rises on the device, and the user uploads files, then any specific file and rebuses the player, then the player on the download launches mplayer to the directory and scrolls through the buttons with buttons. The same can be done with the video, but it is worth considering that the memory is currently marked up only 761MB.
Other assemblies, public assemblies of rootfs, I, alas, have not met for all the time of discussion.
uCOS & miniOS
At the end of the topic on Habré, there were reports of finding players with similar processors and similar boards, this topic was immediately checked by
Xlab , but at that time it was not crowned with success. Recently, tronix286 contacted the Chinese and received software to create minios firmware and configs for a large number of boards and processors, the Chinese asked them not to transfer to anyone, for obvious reasons, because this is Ingenic internal software. Perhaps in the near future we will see the native firmware for our player, of course it will have to be finished and adjusted, but I think we can handle it.
PS / 2 interface
During the discussion of possible interfaces, suddenly the idea arose to connect the good old PS / 2, to which an answer was immediately found - yes, it is possible, and it has already been done on other devices. There are kernel drivers that can work with PS / 2 via GPIO pins, the problem arose in synchronization, since PS / 2 is the USRT protocol. whitequark confirmed that he tried to do this with other ears, but the controller was 12 MHz and could not cope with the task, our 360 MHz would be enough to synchronize the PS / 2. Comrade
dlinyj took up this, and maybe soon will tell good news.
Site, manuals, downloads and Credits
After the discussion in the Google group had grown to a large scale, hyborg created a
Google site , on which my instructions for building firmware, compiling the kernel and software with links to the latest snapshots were copied, the whitequark U-boot and JZboot manuals were added in the same way . Also, a page was created with a description of who did what for the project, a kind of captions.
At the moment, these are all important news about the player from Vogue magazine, the next checkpoint will be when tronix286 launches the firmware from some player and this all works together, but I think he will write to you about it, or when the situation with the completion of gmenu2x is cleared.
PS: If I have forgotten someone or something, I apologize in advance.