"Tape recorder" for Speck

ZXNet echo conference «hardware.zx»

From jdigreze To All 4 November 2005

Hello caro Pause can be implemented as an additional function on boot, and on start as an additional function put also stop... Yes, you probably still need an indicator... Although it’s debatable, in general it’s necessary experiment.

From jdigreze To All 4 November 2005

Hello madcore imho, working with trd players via the tape port is not realistic. I'll say a few words about the control interface. I think it will be enough LED power indicator, and two buttons - boot, start... We type LOAD "" on the Spectrum. Click boot. The boot button activates sending the selector program to the Spectrum. Which should interactively select the desired image. After The image is selected, its number is stored in the “tape recorder”. Next we do reset Spectrum. And again we type LOAD "". Then press the start button. Which activates sending the selected image to the Spectrum. Such an implementation will reduce the cost of the device due to the absence “extra” buttons and display cost about 100-300 rubles.

From Kamil Karimov To All 4 November 2005

Hello jdigreze jdi> I'll say a few words about the management interface. I think it will be jdi> enough LED power indicator, and two buttons - boot, start... jdi> To work with loaded levels, you also need a fixed “PAUSE” button. And the indicator costs about 50 rubles. must be left. It will be very useful if it shows the time until the end of loading the current block.

From Alexandr Tsidaev To All 7 November 2005

Hello, DVS DVS> its structure must change dynamically (BAS or ASM) in DVS> depending on the file composition of the card. DVS> DVS> If there is such a “selector”, then it will simply not be possible to print DVS> solder in the indicator and that’s it (the indicator has no feedback), even DVS> there is no need to rewrite the software. hmmm... either I misunderstood something, or this is easier than steamed turnips :-)) This is the simplest option that came to mind, in BASIC :-) 10 FOR n=0 to PEEK(25999) 20 for k=0 to 10 30 print chr$ peek 26000+n*12+k; 40 next k 50 print tab 1;peek 26000+n*12+11 60 next n I can’t think of anything simpler :) I can’t vouch for tab 1 in line 50, I have the emulator at hand there is no check, it was thought that after this the stamp would start from the 17th character lines the resulting .$b can not even be generated on the fly, but stored on flash but generate only an array address 25999 - number of files (0-255, nothing prevents you from slightly altering it to 65536 pieces) addresses 26000-65535 - an array of 12 byte file descriptions in the form of 11 bytes name+1 byte number in short, struct fdesc { char name[11]; unsigned char fileNumber; }

From DVS To All 7 November 2005

Hello Eltaron 2 Eltaron Thank you! The idea is clear! But still, so as not to bother me, I would like have a tzx of this "selector", indicating from what offset put fdesc[i] there, in short, so that the interested person takes it and does it this piece inside and out.

From DVS To All 7 November 2005

Hello jdigreze 2 jdigreze There was already such an idea with a selector and, like that time, I’m asking a question (attention question :-) boom...). Would you undertake to make such a “selector”? If yes, then keep in mind that its structure must change dynamically (BAS or ASM) depending on the file composition cards. If there is such a “selector”, then it will be possible simply not to solder it onto the signet indicator and that’s it (the indicator has no feedback), even rewrite the software no need. PS: the software for this device is written in IAR C.

From jdigreze To All 7 November 2005

Hello Eltaron Nooo... Dynamic basic or asm is nonsense! ;) We need a program specifically for bilateral exchange, something like a commander, which will flip through files on a flash drive, set/remove the relevance label to/from files. The exchange protocol may possibly be made synchronous. Those. if the tape recorder transmits data, then the spec generates a synchronization series; if the spec transmits data, then sihra gives a tape recorder. Unfortunately, my “kai” is still down, I hope to revive it before the weekend and try to work through lpt with a pussy. If everything goes well - I will post the specification of the level 0 exchange protocol. And then you will need to think about information exchange protocol... PS: About 5 years ago I did a similar file exchange with a pussy, everything worked wonderful :)

From DVS To All 7 November 2005

Hello, DVS 2 caro Maybe we can collaborate somehow on board layout? PCAD and Eagle are not mine profile, and I like to do what I’m a pro or almost a pro at. I would pay for a pilot batch of 5-10 pieces. How much could it cost, for example, in techno communications? Board size ~2 deep enclosure Mega16. The board is not entirely simple because... requires installation of buttons, indicator, slot for flash. For wiring work I can promise 1-2 payments and official status beta tester. In general, we can agree via PM if there is time.

From DVS To All 7 November 2005

Hello, DVS In general, here is the document: Terms of reference (almost) for the development of a file manager for ZX-compatible collaboration computer and HardTaper tape recorder. Purpose: The file manager is designed to view the list of available files recorded on a flash drive of a tape recorder, relief (well, actually for anyone as of course about reducing the cost too) choosing the file to play, as well as block in the file. Operation logic: While the Speckie is in loading mode from the tape, press the button (now combinations of buttons because those who follow the topic already know that the user interface consists of 4 indicator segments and 4 buttons) on the tape recorder occurs loading the file manager into Speccy. The file manager, providing scrolling and searching for the desired file, transfers it identifier with the usual SAVE command (previously asking Yes/No) tape recorder. The tape recorder, having received the file identifier, prepares it for playback and enters pause mode for a time Tпз (set by the setting). The file manager enters Specky into boot mode again (that's it work completed). The tape recorder pauses and starts playing the file. Entrust execution to: jdigreze Date: 11/07/2005 Signed: Speccy team :-))) During the writing process, one drawback became clear: you cannot select the file manager loading level (can you guess why? :-)))), and from the indicator please!This can be circumvented by making the file manager shadow or... Well, in general, who else wants to participate and make additional gadgets :spy: ? Go for it! PS: PLUS: this file manager does not increase the cost of the device ;-)

From jdigreze To All 7 November 2005

Hello, DVS I think I'm interrupted... Ok. I'll try to do it ;) The terms of reference are clear in general terms. There is some question for clarification - internal the structure of the file system on the flash drive, and there may be parameters for entry points on loading and writing files there? In general, I’m a little familiar with AVRs, so I can try some of the code for tape recorder write...

From Chunin Roman To All 7 November 2005

Hello, DVS DVS> 2 caro DVS> DVS> Maybe we can somehow cooperate on the board layout? PCAD and Eagle DVS> is not my profile, but I like to do what I am a pro or almost a pro at. DVS> I would pay for a pilot batch of 5-10 pcs. DVS> How much can it cost, for example, in technocommunications. DVS> Board size ~2 deep body Megi16. DVS> DVS> The board is not entirely simple because... installation of buttons, indicator, is required DVS> flash slots. For wiring work I can promise 1-2 boards and DVS> official beta tester status. In general, we can agree through DVS> PM me if you have time. I would also take part in the process!

From Alexandr Tsidaev To All 8 November 2005

Hello, DVS DVS> Eltaron suggested writing a viewer in BAS and putting a list in CODE DVS> files as a chain from fdesc (in short, there will be a chain of blocks by DVS> 11 bytes 8 bytes name + 3 bytes extension, identifier or number not DVS> needed and, in general, the extension is not needed IMHO :-)) it's still tzx :-)) if without it, then there will be only 8 bytes per file, which is more convenient than 11, because the degree deuces, and 48K of descriptors can fit more... though it doesn’t matter at all WOS images are not enough :)

From DVS To All 8 November 2005

Hello Eltaron 2 Eltaron The extension will come in handy in the future. 2 jdigreze I will create the CODE block (part of it) on the fly. And in tzx let there be a CODE block under one file, although you can do without it, you need to see how it will be easier.

From DVS To All 8 November 2005

Hello jdigreze 2 jdigreze In order to implement this idea, you don’t need to know either AVR or C. The point is next... A program is being created for speckies BAS+CODE, which will be exactly that part (almost the entire file manager), which the tape recorder will upload to the spec. Dear Eltaron suggested writing a viewer on BAS, and putting a list of files in CODE as a chain from fdesc (in short, there will be a chain of blocks of 11 bytes 8 bytes name + 3 bytes extension, identifier or number is not needed ;-) ) . This option is needed improve the user interface (search, scrolling, sorting...) and add sending the selected file i.e. 11 bytes back to the tape recorder. This program BAS+CODE you need to upload it as tzx and say where in the CODE area (address or offset from start) start writing 11-byte blocks (how to put them there is already my The main concern is that there is tzx). Processing SAVE is also my concern, but SAVE does file manager, in addition, you can make SAVE your own (not from BASICa), pilot tone shorten or even make your own encoding. Is that clear? 2CHRV I promised you to the scarf when I have beta tester status. Or do you have time for did the wiring appear?

From jdigreze To All 8 November 2005

Hello, DVS That is can you generate a CODE file in tzx format yourself? and send him after behind the selector? Or should I still form tzx? It's all a bit murky... Let's say the user has only 10 files, and we will send him along with the selector standard set for 1000 files * 11 = 11Kb descriptors, where 110 bytes will be are filled, and the remaining descriptors will be empty, the whole thing will be loaded in 3 minutes... Okay, I'm starting to write a descriptor viewer, with a scroller, etc. Rest We'll discuss it during the process ;)

From Chunin Roman To All 8 November 2005

Hello, DVS DVS> 2 Eltaron DVS> The extension will be useful in the future. DVS> DVS> 2 jdigreze DVS> I will create the CODE block (part of it) on the fly. And let it lie in tzx DVS> CODE block for one file, although you can do without it, you need to DVS> watch as it will be easier. And if you make, for example, a similar string of commands to the tape output, and for example, upload the directory first... Then using commands in the magnetic output do the appropriate download :). Like completely interactive. :wink:

From jtn To All 9 November 2005

Hello, CHRV 1. CHRV says the point - why load the entire catalog if it’s not on the screen will fit 2. Boot should load as quickly as possible - short basic with trimmed to minimum length by pilottons, then high-speed exchange. for example USART - spec without turbo will handle 38kbit. 3. to make shipments, you can match each game to the directory in which it will be stored or: a) only loading levels b) the shipments themselves i.e. after loading the program, the remaining blocks will be taken exclusively from one directory, and not search through all the files on the flash drive. well, and the ducks at that won't get lost. 4. It’s not difficult to digitize in realtime, but with packaging and recording in flash there will probably be a school... well, many of the white-headed ducks are not too big - a couple of hundred byte. although in different strategies... 5. there was such a copier (like quick copy or quicksilva copy, if necessary, I’ll clarify gasvaniye), which made it possible to speed up loading from 2x to 10 times, if a standard Basik loader with LOADs was used. the meaning was that a zero repair line from the fastload was inserted, and all LOADs were replaced with usr xxx. all subsequent blocks have already been recorded in accelerated form. Why not apply this idea too? That's all for now.

From DVS To All 9 November 2005

Hello jdigreze Yes, I already figured out about block loading, and I agree with that.

From DVS To All 23 February 2006

Hello, DVS I’m raising my topic from oblivion and informing you that HardTaper has been improved as both hardware and software. 1) Hardware made TapeIN driver on 561LH2 (let's not forget about 3.3 volt supply, so LM555 does not pass) 2) I set the quartz to 14 MHz, so it’s easier because multiples of 3.5 MHz :-) 3) The software has been improved and now I can say that my brainchild can both PLAY and RECORD. 4) The recording is made as follows: the user selects the desired file number and turns on the recording mode, which must wait for confirmation, because it is possible accidentally overwrite the desired file. With all this, the flash card should already have there is a file with the corresponding number and extension tzx, which is created there on a regular "reader" by copying any(!) file of suitable size and renaming it to the format [number.tzx], thus creating a slot for records! Everyone chooses the file size to suit their needs, for example 1MB file enough for ~6 minutes. recording at a sampling frequency of 22050. Note that the recording maintained according to the tzx standard and recordings made by me both from tape and from line output of the sound card were then tested in Unreal, i.e. files containing recordings are copied from the flash card to the PC and loaded into Unreal, which successfully "eats" them. Thus, Boulder was checked (recorded with an old cassettes) and ATHENA 128 (from line output).There are still problems, but this option is already very close to the one I’m talking about I dream. I think I’ll post the diagram along with the firmware here as soon as I draw the diagram ( I ask interested people to “kick” me by mail, otherwise I will again I'll disappear...) PS: Happy holiday to everyone, Spec Defender's Day..., in the sense of the Fatherland :-)

From DVS To All 24 February 2006

Hello, DVS Here are the files that I promised. Who wants to participate in debugging and improvement, assemble and flash. HEX format intel-extended, how to flash I won’t tell you so much about it written. File: htaper_sch.zip http://zx.pk.ru/attachment.php?attachmentid=2658 File: htaper_hex.zip http://zx.pk.ru/attachment.php?attachmentid=2659

From DVS To All 25 February 2006

Hello, DVS People are interested in the circuit twice as often as in the firmware :-)

From SfS To All 26 February 2006

Hello, DVS DVS> Here are the files that I promised. Who wants to participate in debugging and DVS> improvements, assemble and flash. HEX format DVS> intel-extended, how to flash I won’t tell you so much about it DVS> written. The device is attractive, but a question arises: Can you post the source code of the program? The fact is that I don’t have ATmega162, but I have several ATmega8515, ATmega163. I would try to compile a version for them. Special order ATmega162, when a handful of other megas lie idle - the toad presses :)

From DVS To All 28 February 2006

Hello, DVS I played around with the code, but it doesn’t fit into 8K. In general, under 8515 and mega8 I can just make a player if someone explains to me why he wants to make it available on an 8K controller, which is not much cheaper than a 16Kbyte one.

From DVS To All 1 March 2006

Hello Dendy Den> I don’t understand why you need to load programs into the Spectrum memory Den> to assemble a USB device that is more expensive than the Spectrum itself? Everything Den> equals the data transfer rate will be 6000 bits per second. Isn't it easier Den> use a tape recorder, CD-player? Everything is misunderstood. Where does 6000 bps come from? Read and read the topic again. PS: no offense.

From Dobrynin Sergey To All 1 March 2006

Hello Dendy Den> I don’t understand why you need to load programs into the Spectrum memory Den> to assemble a USB device that is more expensive than the Spectrum itself? Everything Den> equals the data transfer rate will be 6000 bits per second. Isn't it easier Den> use a tape recorder, CD-player? Read the thread from the very beginning!!! DVS "played around", "played around" and.... did Quite an interesting device!!!

From Maxim Saratovtsev To All 1 March 2006

Hello, CityAceE Is there a program for the real Spectrum that allows you to record a program from floppy disks (TR-DOS format) to a tape recorder?

From Maxim Saratovtsev To All 1 March 2006

Hello, DVS I don’t understand why, to load programs into the Spectrum’s memory, you need to collect a device for USB that is more expensive than the Spectrum itself? Still the speed data transfer will be 6000 bits per second. Isn't it easier to use a tape recorder? CD player?

From Chunin Roman To All 1 March 2006

Hello Dendy Den> Is there a program for the real Spectrum that allows you to record Den> program from a floppy disk (TR-DOS format) to a tape recorder? You don’t need a special program, just change the basic bootblock. But if the program designed to work with the disk (loads modules, etc.) specifically hack and edit. In general, at the moment, for a Russian clone the requirement is to have A BETA interface is almost mandatory.

From DVS To All 1 March 2006

Hello, CHRV I edited the first post and added links to download the diagram and firmware, so that even the most impatient and lazy fans can get to them.

From DVS To All 6 March 2006

Hello jdigreze After testing we'll see... it seems to me that the recording slot is quite convenient. And the “all-wheel drive” recording is a bunch of problems right away, it’s really 64 mega is needed.

From Igor Afonkin To All 6 March 2006

Hello, DVS DVS> I played around with the code, but it doesn’t fit into 8K. In general, under 8515 and mega8 DVS> I can only make a player if someone explains to me why it is DVS> wants to do this on an 8K controller, which is not much cheaper DVS> 16KB. Well, if it doesn’t work, then we’ll do it as expected ;) True, I also have a mega64, so you can do a lot of development on it, although it more expensive than 16th. But you can try to implement recording on fat16 "all-wheel drive"...

From acidrain To All 10 April 2006

Hello, DVS DVS> LCD indicators based on Philips PCD8544 appeared at my disposal DVS> (Nokia 3410 monochrome-130r) and with EPSON S1d15g14 (Nokia 3510i color DVS> 12bit - 160r). "Contact" with them is established :-) (both are connected via LPT DVS> for testing functions in "C". I wonder how the display is controlled? I have the opportunity to do more buy high-quality displays at lower prices. I would like to use them in your projects =) Can you tell me what and how in the case of these two from 3410 and 3510 no one?

From Robus To All 11 April 2006

Hello, DVS DVS> [B] DVS> DVS> 1) Flash card (let's say 128MB) DVS> 2) Clone 8051 (which I respect and will never forget, that’s for sure) is acceptable DVS> AT89C4051 - to reduce the cost of design or more expensive with USB. DVS> 3) MAX232 i.e. UART<->RS232 DVS> 4) LCD indicator on HD44780 DVS> 5) Several buttons, including the "Play" button. DVS> 6) Attachment DVS> I don’t understand why a flash drive??? And why MAX??? When AT89C51 has Serial Port, simple buffers for 12 volts and straight to the comport, speed 115200 is enough. At PiCi we are making a program that communicates in its own format with the microcontroller, and on the microcontroller the data is converted into signals! I'm sure that the speed is 100% enough, well, of course, if you take the AT89xxx at 20-30 megahertz! Speed 115200 - 11 kilobytes per second, which is enough even from a disk drive make a transfer, although you need to do the math, but it’s enough for a cassette. In 1996 year I connected a direct tape output to the COM-PORT, and strangely enough - it worked, although at the time I didn’t understand how it could turn out 5V against polar 12V, but nothing burned out, but the transmission speeds even without any there were enough microcontrollers... =)

From Robus To All 11 April 2006

Hello, acidrain aci> I wonder how the display is controlled? I have the opportunity and aci> buy higher quality displays at lower prices. I would like aci> apply them in your projects =) Can you tell me what and how in the case of aci> with these two from 3410 and 3510? Our device uses an LCD on the same EPSON microcontroller. I started him. Really clumsy as ever!!! The best part is that in the description of the commands controls were EXAMPL's for Z80. There is one idiocy in the microcontroller, there The data is sent first, and then the command. There is a description...

From DVS To All 11 April 2006

Hello Robus Rob> I don’t understand why a flash drive is needed??? And why MAX??? When AT89C51 has Rob> Serial Port, simple 12 volt buffers and directly to the comport, speed Rob> 115200 is enough. At PiCi we are making a program that has its own Rob> format communicates with the microcontroller, and is done on the microcontroller Rob> converting data into signals ! I am sure that the speed will be 100% enough, Rob> well, of course, if you take the AT89xxx at 20-30 megahertz! Speed 115200 - Rob> 11 kilobytes per second, which is enough even for transferring from a disk drive Rob> to do, although you need to do the math, but it will be enough for a cassette. In 1996 Rob> year I connected the tape output to the COM-PORT directly, and how not Rob> strange - it worked, although at the time I didn’t understand how it could turn out Rob> 5v versus polar 12v, nothing burned, but transmission speeds Rob> even without any microcontrollers it was enough... =) "The war is long over..." (c): v2_laugh: Those who carefully read the thread will understand me: v2_tong: PS: no offense

From DVS To All 11 April 2006

Hello, acidrain aci> I wonder how the display is controlled? I have the opportunity and aci> buy higher quality displays at lower prices. I would like aci> apply them in your projects =) Can you tell me what and how in the case of aci> with these two from 3410 and 3510? You can download the pdf via Google for the controllers that I indicated. Both controllers have a serial Serial interface. The 3410 has an 8-bit word format, the 3510 has a 9-bit word format (9-bit DATA/CMD, and 3410 the choice goes by foot). It’s better to download the pdf or I can “soap” it.

From DVS To All 11 April 2006

Hello skyther sky> Is there any information on the Alcatel (one touch 310) indicator? Otherwise sky> I don’t have a Nokia :) I think that a PCD8544 is installed there, like in the 3310. If there are 8 contacts on the LCD, then this exactly PCD8544.

From DVS To All 1 June 2006

Hello, DVS Congratulations! C_er - this means a card error. What to do: 1) Cards formatted for Windows are supported. Therefore if there is possibility, then you need to format it in FAT16 under Windows. Actually, Windows is cheating and does not write partition information to sector 0, although this is not allowed according to the standard, but I had to focus on Windows (I am finishing universal support from 0 sector and without) 2) I haven’t tested it with mega16 (my version is 162 mega), so it’s quite possible that I forgot to correct the source code somewhere. I'll watch. File names must be in the format: N.tzx, where N is the file number 1-999 without padding on the left with zeros, i.e. not 001 and 01, but just 1.tzx When turned on for the first time with the card inserted, if initialization is successful cards, displays the number of the recently used (played/recorded) file without C_er.

From DVS To All 1 June 2006

Hello skyther sky> And put the files in the root or in a folder (it slipped in the topic - folder sky> "SPECCY")? I formatted it with both Windows and a phone (Siemens SL45). Maybe sky> the card is old and does not support SPI :( Yes, that's right, you need to create the "SPECCY" folder in the root and put the files there. Everyone should keep SPI.

From skyther To All 1 June 2006

Hello, DVS Should I put the files in the root or in a folder (it was mentioned in the topic - the "SPECCY" folder)? I formatted it with both Windows and a phone (Siemens SL45). Maybe the card is old and the SPI is not holding :(

From skyther To All 1 June 2006

Hello, DVS I created the folder, so the problem is different :( And the quartz frequency should be exactly 14,000 or maybe 14,318?

From skyther To All 1 June 2006

Hello jdigreze Pritania 5V, at 3.3 mega it won’t start :( Card through resistor dividers connected (100k+47k, also tried 10k+4.7k)

From Igor Afonkin To All 1 June 2006

Hello skyther On mega it doesn’t matter... but for a 5V flash drive it can be fatal. 100K+47K - 3.4V... Hmm... Ideally, you should use 561PU4 (4050), but I myself I connected it through the connectors - it worked. Idk. Check that the flash drive is connected correctly. By the way, what is the volume of it? And type - SD or MMC? they are a little different though SPI mode should work the same. Also, check the /CS signal of the flash drive, it should be about 0 when accessed.

From Igor Afonkin To All 1 June 2006

Hello skyther The quartz frequency should not affect. The card doesn’t care how often the data flows, as long as it’s not faster than the standard (I’m lying ;) - 25Mbit/s) Power supply 3.3V?

From Andreas Kaiser To All 1 June 2006

Hello skyther sky> Resoldered to 3.3 mega and it started up :). But still, after “play” c_er, a sky> then b_er. Flash drive MMC infineon 32Mb. And about the bill promptly sky> connected... It seems to work on LPT, although please post the picture sky> (preferably with an explanation of where the leg GOES, and not what it is called ;) OT; what; Why is there such an interesting cat on the avatar and what’s wrong with it?

From DVS To All 1 June 2006

Hello skyther Should work with any card. I checked the sources, everything seems to be ok. As for 14MHz@5V, I can say that this is really the standard mode, but at 3.3V use at such a frequency is not entirely correct, but I read about it myself only 1.5 months ago. I also tried to use dividers before, but at a high SPI frequency (14/4=3.5) high-resistance dividers knock down the fronts, then it’s better to install PU. If the results are the same, then I’ll be on a layout with 162 mega sockets I’ll plug in an adapter with 16 mega and “catch the bugs.” PS; better; I used to post the firmware only for 162 mega.

From skyther To All 1 June 2006

Hello, DVS DVS> PS; better; b I only posted the firmware for 162 mega. Don't worry ;) We'll debug it. What do you write in: C or Asm? Now I remember - I have a mega8, it seems to be “play only” implemented, can you post the circuit diagram and firmware? (or did I miss it?)

From skyther To All 1 June 2006

Hello icebear ice> OT; what; Why is there such an interesting cat on the avatar and what’s wrong with it? The picture is called find the bird ;) I also noticed: if you press play a second time, it tries to play, and then writes b_er... Looks like I won't get enough sleep again today... ;) And b_er doesn’t write without a card - it goes to file selection.

From skyther To All 1 June 2006

Hello jdigreze That's all true :(((We need to try with another card...

From skyther To All 1 June 2006

Hello jdigreze I re-soldered it to 3.3 mega and it started up :). But still, after “play” c_er, and then b_er. Flash drive MMC infineon 32Mb. And I connected the account correctly... Looks like LPT works, although please post a drawing (preferably with an explanation of where the leg GOES, and not what is it called ;)

From Igor Afonkin To All 1 June 2006

Hello skyther Turn the card with the contacts facing you: ┌─- code ─── _______ /1234567| | | └── code ─── 1) /CS 2) DI (to MOSI on mega) 3) GND 4) +3.3V 5) CLK (to SCK on mega) 6) GND 7) DO (to MISO on mega)

From DVS To All 2 June 2006

Hello, DVS Edited the first post.

From DVS To All 2 June 2006

Hello skyther On 8mega I sent the circuit diagram and firmware by mail, it was an intermediate option to evaluate ease of use. Now I have already moved far away from him and stopped support. But if you still want to collect, then knock on the post office. I’m not really worried, I just need to work out some kind of assembly technique, It is possible to add extended error codes, although the scheme is simple.

From DVS To All 2 June 2006

Hello skyther Well, with MP3 players, PDAs and Spec emulation, everything is already clear :-)

From skyther To All 2 June 2006

Hello, DVS Last night I tried to load from an MP3 player - I made wav in realspec, then winamp (disc_writer.dll). On 320/48000 it was successful :) The only thing that confuses me is the mp3 size...

From DVS To All 2 June 2006

Hello skyther Here it is: http://mp3vkarmane.nm.ru/mmc.html PS; down; about SD

From skyther To All 2 June 2006

Hello, DVS I found a 16Mb SD card :) Who knows how to connect it? Please share.

From skyther To All 2 June 2006

Hello, DVS Thank you! I'll try it in the evening.

From skyther To All 2 June 2006

Hello skyther No, it doesn’t work :( SD doesn’t initialize at all - it doesn’t even try to play. And I’m right Did you understand that MMC and SD are connected 1 to 1?

From skyther To All 2 June 2006

Hello jdigreze I just connected ALS318 - now I can read entire messages (first put 321 on 1 digit). And here's what I noticed: after init (----) "F -1" minus first file??? Card error = "C 0" Maybe the firmware was assembled incorrectly? Another question: how to set fuses? I have: CKOPT, BOOTSZ1, BOOTSZ0, BOOTRST=0, the rest are default. I uploaded the firmware from mega162 - it behaves the same :(

From Igor Afonkin To All 2 June 2006

Hello skyther Yes. Only SD has 9 contacts. The eighth is thin and very close to the seventh. And the ninth on the bevel, on the opposite side, and is located at a greater distance from the edge, than the rest. These contacts in SPI are not used 100% ;) There is a vague suspicion that the SPI shift register is being initialized, but I don't have the code I saw it, I could be wrong.

From DVS To All 3 June 2006

Hello skyther So, let's clarify everything in order: 1) "----" - means the beginning of initialization 2) F -1 - this means that 0xFFFF was read from the EEPROM (it is clean), after the first attempt to play/record any real file, its number will be written to EEPROM and will be output the next time you turn it on. 3) If you press the play button when the file is correctly selected and appears "C_er" means the card initialization failed, i.e. no response. The initialization procedure is the simplest and everyone must go through it correctly connected cards. Later in the evening I will be able to chat live (via ICQ). And I think fuses (BOOTSZ1,0 BOOTRST - don’t touch, CKOPT - I’ll look).

From skyther To All 3 June 2006

Hello caro Oh, sorry, I didn't mean "by default", but not programmed (=1) ;) It's a bummer with ICQ - I went to the village, but the Internet is here... Here's a question: I dug into the firmware and saw the INT0 handler - am I confusing something? Or is it necessary, since your leg is hanging in the air?

From Kamil Karimov To All 3 June 2006

Hello skyther sky> Another question: how to set fuses? I have: CKOPT, BOOTSZ1, sky> BOOTSZ0, BOOTRST=0, the rest are by default. For ATMega162; By; By default, CKSEL3..0 is set to state 0010 and CKDIV8 = 0. This sets the operation from an internal RC oscillator at 8 MHz with a divider by 8. As a result, the controller operates at a frequency of 1 MHz :) To work with external quartz, CKSEL3..0 must be set to state 1110 or 1111. For ATMega16; By; By default, CKSEL3..0 is set to state 0001. This sets the crystal to operate from an RC oscillator at a frequency of 1 MHz. The same as for ATMega162, you need to set CKSEL3..0 to state 1111. CKOPT is best left unprogrammed (=1). PS. 1 means the bit is unprogrammed.

From DVS To All 5 June 2006

Hello jdigreze 2 jdigreze Everything is similar, but in the pdf for SD from the site www.sandisk.com it is written that CMD1 is for SD "doesn't work" and you need to use ACMD41, I tried to issue 40h+41dec and just 41h (CMD1), so in both cases in response R1 bit 0 is set (card in idle) and bit 2 (invalid command). Maybe in this case you need to send the correct CRC? I don’t understand what the trick is yet... Have you tried this algorithm on SD?

From DVS To All 5 June 2006

Hello jdigreze 2 skyther I'll install debugging without any questions. Write also how you built the circuit.

From DVS To All 5 June 2006

Hello jdigreze jdi> Works 100%. I sent you my raw materials for at89s8252. Thank you, I’ll see... But I’m 99% sure that I’m doing everything exactly right also, and even with CRC the same cheating. Panasonic 8Mb SD card, what other problems could there be? Is the SPI frequency high? I think that 3.5 MHz is quite a gentle mode. Polarity of SPI signals? Probably not, on all MMC everything goes with a bang.

From skyther To All 5 June 2006

Hello, DVS DVS> Write also how you built the circuit. According to your scheme ;). Collected from a mole rat near Leningrad. The map and indicator hang on wires (~10 cm), no buttons - I poke the wire into the indicator. Power supply mega 3.3, The clock from it goes to the spec.

From Igor Afonkin To All 5 June 2006

Hello, DVS DVS> Have you tried this algorithm on SD? Works 100%. I sent you my raw materials for at89s8252 via email. ACMD41, if I'm not mistaken, is required to work with encryption, and regular partitions are visible as on MMC.

From DVS To All 5 June 2006

Hello skyther sky> I poke the indicator with a wire Of course, I have anti-bounce installed, but double click is not excluded :-) Explain the situation with C_er further. Doesn't appear anymore? If "C 0" is displayed, it means you have opened a file that does not exist, or in a file there are no supported tzx tags. And "b 0" means that you have entered the menu playing blocks (tags) and when you press play you get b_er, this again means that there are no tags supported by tzx. Try different tzx. When pressing from the position "F n" appears "C m", where m is not zero, which means the parsing of the tzx file was successful and m blocks were found.

From skyther To All 5 June 2006

Hello, DVS C_er appears from SD. I tried different tzx, VT and from this topic. Drop the image please card (winimage) that works for you. The size is preferably 32 MB, but you can I'll adjust the other one.

From Igor Afonkin To All 5 June 2006

Hello, DVS DVS> Thank you, I’m looking... But I’m 99% sure what I’m doing DVS> everything is exactly the same and even with CRC the same cheating. DVS> Panasonic 8Mb SD card, what other problems could there be? SPI frequency DVS> high? I think that 3.5 MHz is quite a gentle mode. DVS> Polarity of SPI signals? Probably not, on all MMC everything works on DVS> cheers. Of course, I have a small choice of SD. Tested on Verbatim 256Mb and Kingston 128Mb. My frequency is ~2.8MHz. Check the SPI configuration register. I have it like this: in SPCR (#D5) 7. spie = 0 (no interruptions) 6. spe = 1 (SPI enabled) 5. dord = 0 (MSB comes first) 4. mstr = 1 (We work as a Host :)) 3. cpol = 0 (Polarity. When idle SCK = 0) 2. cpha = 0 (Phase. Valid data at SCK=1. Set before edge SCK, removed after.) 1. spr1 = 0 (divisor... 0. spr0 = 0 ...HCLK/4)

From Igor Afonkin To All 5 June 2006

Hello, DVS Or maybe the problem is due to the logical structure of the disk? My SD's have both MBR (in the zero sector) and PBRS (logical descriptors) sections). I have only one "entry" in the MBR - a pointer to PBRS, which has address #0C900h (for Verbatim 256Mb) and #0CC00h (for Kingston 128Mb). In PBRS There is also only one entry pointing to the beginning of the Primary Partition. I probably struggled with these descriptors for a month, I couldn’t understand why the MBR doesn’t have instructions on Primary Partition...

From DVS To All 5 June 2006

Hello jdigreze 2 jdigreze This is where we need to figure it out. The fact is that sector 0 when formatting is overwritten. If you format under Windows, then immediately into the zero sector starts with BOOT record primary partition (this is where the first three bytes of JMP EB3C90 ), and if on Palm or in a camera, then PBRS is written in zero (this is where there are 4 descriptors sections are 16 bytes each, but only the very first one is used, and at the end there are two bytes signature 0x55AA) and from there you can get to the BOOT record primary partition (this is where the first three bytes of JMP EB3C90 are). But I’ve never seen an MBR in the zero sector... Maybe just in terminology don't connect?

From DVS To All 6 June 2006

Hello, DVS 2 jdigreze It was I who confused the terms in my post (I remembered it for a long time and called it in my own way :-), may the gurus in this area forgive me and not throw bombs at me), but the point is one and the same, although I believe that MBR (there is no letter S at the end) is bootable block length 446 bytes (sits in sector zero). And MBR is followed by Partition Table, which can point to 4 PBRS sectors. There is now a good connection to the logical structure. Tried formatting to different devices. The algorithm is like this: 1) I read sector 0 and analyze the first three bytes, if they are EB, 3C, 90 then I consider that PBRS and MBR with Partition Table are missing. 2) Otherwise, I think that in the zero sector there is a Partition Table and a jump on PBRS I do it from there. 3) Parsing and checking for compatibility with FAT16... All this works, if the MBR is filled with 00 or FF when formatting, I haven't yet I met that there was something else. But the algorithm can be adjusted. Offers? 2 skyther Sorry about the file format, I'll fix it this evening. This is "something" for debugera :-)

From DVS To All 6 June 2006

Hello, DVS 2 skyther But really, can you count the zero sector (in different versions) and post it?

From skyther To All 6 June 2006

Hello, DVS OK it will be in the evening

From Igor Afonkin To All 6 June 2006

Hello, DVS DVS> All this works if the MBR is formatted with 00 or FF, DVS> I have never seen anything different. But adjustments are possible DVS> algorithm. Suggestions? Everything is correct! ...should work. On my cards the MBR is full #000h, for with the exception, of course, of the Partition Table itself ;) Suggestions? Idk. You need a dump of the 0th sector from a specific instance of the flash drive.

From DVS To All 6 June 2006

Hello, DVS If it doesn’t start, I’ll connect a 16 mega (I have one in stock) and "dig"...

From DVS To All 6 June 2006

Hello, DVS If it's not too much trouble, drive the SD-shki, otherwise I have one for 8Mb and it stupefies me enters.

From DVS To All 6 June 2006

Hello skyther 2 skyther Try it! (HEX Intel-extended) I can also post hex eeproms if -1 is confusing :-) File: ftaper_code.zip http://zx.pk.ru/attachment.php?attachmentid=3297

From DVS To All 6 June 2006

Hello skyther Congratulations. You are one of the first to repeat FlashTaper!!! I guess what the problem was... Well, oh well. Try the recording, try other TZX, in short, try everything. Don't forget the buttons screw it up :-) PS; Tomorrow; I'll post v2.2 for ATMega16 and 162 in the first post.

From DVS To All 6 June 2006

Hello skyther I already wrote about the recording, but it’s not difficult for me to repeat it. The recording principle is slot-based. Those. in the SPECCY directory the user must create several files (slots) with names in the N.tzx format (in general, as usual). I recommend creating files (slots) by simply copying any large file, and then it needs to be renamed to N.tzx. File size selectable arbitrarily, calculating the time for which the recording is designed based on the speed sampling 22050 samples (bits)/second. Next, select the desired file number from the menu and instead of pressing play, press record (the other extreme button), and then play. After recording, the resulting file can be read and checked in the emulator ;-) (I several games from cassettes "digitized").

From skyther To All 6 June 2006

Hello, DVS Here are the images from the MMS card. I formatted win2k and winImage, SL45 refuses :( Looks like I overdid it... File: images.rar http://zx.pk.ru/attachment.php?attachmentid=3298

From skyther To All 6 June 2006

Hello, DVS I drove different tzx, everything seems to be OK :) I'll check the SD tomorrow evening. How is recording implemented? If, for example, we read the header + file, they are written to different tzx?

From skyther To All 6 June 2006

Hello, DVS That’s not what I meant, that we write to an existing file, I understand. The question is: if we read 2 blocks (short length, included in one tzx), they will be written into one and the same tzx or different ones, one by one? (I think that in one...)

From skyther To All 6 June 2006

Hello skyther HURRAY, IT WORKS!!! :) What was the problem? Loaded the game (15 blocks) - it works :) Guys, I've got beer!!!

From ASDT To All 7 June 2006

Hello, DVS "9 figures" He probably eats a lot :)

From ASDT To All 7 June 2006

Hello, DVS “By the way, you can attach an LCD analogue of that indicator” Which one are you using now? :) An hourly LCD costs 30 rubles, plus parts - 20 rubles

From ASDT To All 7 June 2006

Hello, DVS "mobile device" Actually, yes, the external device, accordingly It is not advisable to bring food there...

From ASDT To All 7 June 2006

Hello, DVS I made an indicator on the LCD of the clock (4 digits), for battery life - 5 ms 176 series :), control - 5 lines... It eats little and doesn't bother the processor. And most importantly - it costs a penny :)

From Andreas Kaiser To All 7 June 2006

Hello skyther sky> Do you want to power your mobile device using batteries/accumulator? But what about it? That’s why it’s a mobile device, so you don’t have to carry a nuclear power plant with you on a cart :)

From DVS To All 7 June 2006

Hello ASDT By the way, you can screw on an LCD analogue of the indicator that is now used without modifying the circuit and firmware.

From DVS To All 7 June 2006

Hello, DVS 2 skyther Before playback starts, the total number of blocks is displayed, and when During playback, the current block number "P__N" is displayed. When recording, the percentage of slot occupancy is displayed. Over time, things go like this: When calculating time, it is necessary to do quite serious parsing and take into account that different blocks are played at different speeds (especially images with protection), but what about loaded levels? 2 ASDT LED indicator CC56-12EWA is about $2, but given the interface you can screw on any other (smaller, larger).

From DVS To All 7 June 2006

Hello, DVS In general, I need to draw up a normal operating manual. Still needed think about the further development of the project... screw in the alphanumeric LCD or better add control via T_in/T_out as already suggested, and Maybe even connect to ZX_BUS and steer through the add-on. ports + 254 :-) Remaining about 4.5-5Kb CODE mem.

From DVS To All 7 June 2006

Hello jdigreze 2 skyther Everything will be recorded in one file. The time limit is determined by the size slot. In general, the recording is somewhat similar to a WAV recording (the 15h tag is used TZX Direct Recording).

From DVS To All 7 June 2006

Hello skyther sky> ALS318 rulez ;) 9 digits and no hardware modifications. I also have a wide indicator with small numbers and lenses. every digit. In my opinion, it’s also 318. It looks great (in my frequency meter installed).

From skyther To All 7 June 2006

Hello ASDT ASD> \"9 digits\" He probably eats a lot Maybe a lot, but I have everything assembled on a spec board and powered by ATX ;) Do you want to power your mobile device using batteries/accumulator?

From skyther To All 7 June 2006

Hello ASDT ALS318 rules ;) 9 digits and no hardware modifications.

From skyther To All 7 June 2006

Hello ASDT I suggest adding a countdown counter (in seconds or min:sec), during the pause (and after file selection) - total time, and during playback - the current block. Control via out seems to have already been proposed - we form a BASIC with a sign number:name, and then use the buttons to select, reset the spec and load as usual. You can add “play cat” to the “mode” button. You can also make a beeper: press the button - it beeps ;), error - a different sound.

From skyther To All 7 June 2006

Hello icebear ice> NPP behind you on a cart And I kept thinking: why are the wires to the indicator smoking ;) But seriously: take the old handset and take out the display with the battery ;)

From Igor Afonkin To All 7 June 2006

Hello, DVS No need for LCD. Let's better establish an exchange via T_in/T_out ;) By the way, I have already purchased all the parts for myself, all that remains is to put everything together, so I'll be using it soon...

From Igor Afonkin To All 7 June 2006

Hello skyther sky> Here are the images from the MMS card. Formatted win2k and winImage, SL45 sky> refuses :( apparently he changed his chemicals... Or there is no MBR, then it is formatted as a flop, or not read from the 0th sector. Most likely the first, taking into account the reaction of the SL45... Anyway, CONGRATULATIONS ON YOUR SUCCESSFUL LAUNCH! :v2_clapp:

From DVS To All 7 June 2006

Hello, DVS 2 jdigreze Yes, this needs to be done, but I still get an error before starting playback because parsing is in progress and the integrity of the blocks is checked there file. Although there is a possibility that the parsing will miss “non-native” sectors. Therefore, it’s probably easier to add a check for cluster contiguity before parsing file. Just go through the veil from the beginning of the file to the end :-)

From DVS To All 7 June 2006

Hello skyther 2 skyther Thank you. This is very important information. It turned out the same as I did with SD. We need to figure it out...

From DVS To All 7 June 2006

Hello skyther sky> Are fragmented files supported? There was an error several times sky> \"F_er\", which was eliminated after completely erasing and writing tzx sky> files. No, they are not supported yet, but work in this direction is underway. For this There is quite a lot that needs to be changed, in particular adding good buffering. The point is that while playback is in progress, the “running around” across sectors can exceed interbit interval.

From skyther To All 7 June 2006

Hello, DVS I tried the SD card, it doesn’t work :( Here are the logs from the terminal: ┌─- CODE ─── MMC_GO_IDLE; OK; MMC_SEND_OP_COND; FAILED; DOS_mmcStartMR; FAILED; └── CODE ───

From skyther To All 7 June 2006

Hello skyther Are fragmented files supported? There was an error "F_er" several times, which was eliminated after completely erasing and writing tzx files.

From Igor Afonkin To All 7 June 2006

Hello, DVS And immediately after selecting a file, it may be possible to build a chain in RAM according to principle: 4 bytes - sector address (not number), 1 byte - length unfragmented area. Allocate about 50 bytes for this task, i.e. on chain of 10 fragments. If the length is zero, the end of the chain. If the file If more than 10 fragments are fragmented, then “eggrog” even before the output starts...

From DVS To All 8 June 2006

Hello, DVS jdi> Honestly, I thought that’s how you did it... Apparently jdi> error... jdi> It will be completed in the next versions ;-) jdi> That is. CMD1 (set_op_cond) should in any case bring the card out of sleep jdi> but this command must be sent repeatedly until the bit is reset jdi> <>. jdi> Not only is it not reset, but the <> bit is also set! I have suspicions about SD's reaction to releasing CS... The thing is, that Response R1 (after sending the command and CRC) I read like this: I clock the SPI byte by byte, i.e. 8 bits each, and I see what falls into my register as soon as this is something different from 0xFF I stop clocking, I consider that I received R1 and I'm letting go of CS. But in theory, you need to read another 40 bits, since the length of R1 is 48 bits, but why do this if useful information is contained only in the first 8 bits!!! Therefore, I believed that after releasing the CS, the card would not be present at the next CS try to get me the remaining 40 bits. In general, in both options the result is not satisfactory SD refuses exit Idle, moreover, in the second option with reading all 48 bits of R1 differs from that obtained according to the first option (8 bits) !!! :-) I continue to search for a solution...I seem to have enough PDF, even for some percentage of Intel XCA Application Note downloaded it, it says how to initialize SD: CMD0, CMD55, ACMD41 - tried it and yes.

From DVS To All 8 June 2006

Hello, DVS Вот как это делается: ┌─- CODE ─── u08 mmcCommand(u08 cmd, u32 arg) { u08 r1; u08 retry=0; // send command spiTransferByte(cmd | 0x40); spiTransferByte(arg>>24); spiTransferByte(arg>>16); spiTransferByte(arg>>8); spiTransferByte(arg); spiTransferByte(0x95); // crc valid only for MMC_GO_IDLE_STATE // end command // wait for response // if more than 8 retries, card has timed-out // return the received 0xFF while((r1 = spiTransferByte(0xFF)) == 0xFF) if(retry++ > 8) break; // return response return r1; } u08 mmcSendCommand(u08 cmd, u32 arg) { u08 r1; // assert chip select SPI_CS = 0; // issue the command r1 = mmcCommand(cmd, arg); // release chip select SPI_CS = 1; return r1; } u08 mmcReset(void) { u16 retry; u08 r1=0; retry = 0; do { // send dummy bytes with CS high before accessing spiTransferByte(0xFF); spiTransferByte(0xFF); spiTransferByte(0xFF); spiTransferByte(0xFF); // resetting card, go to SPI mode r1 = mmcSendCommand(MMC_GO_IDLE_STATE, 0); // do retry counter retry++; if(retry>100) { #ifdef DEBUG USART_puts("MMC_GO_IDLE; FAILED");; #endif return 0xFD; } } while(r1 != 0x01); #ifdef DEBUG USART_puts("MMC_GO_IDLE; OK");; #endif // TODO; check; card parameters for voltage compliance // before issuing initialize command retry = 0; do { // initializing card for operation r1 = mmcSendCommand(MMC_SEND_OP_COND, 0); // do retry counter retry++; if(retry>5000) { #ifdef DEBUG USART_puts("MMC_SEND_OP_COND; FAILED");; #endif return r1; } } while(r1); #ifdef DEBUG USART_puts("MMC_SEND_OP_COND; OK");; #endif └── CODE ───

From DVS To All 8 June 2006

Hello, DVS I repeat that it works great with MMC. I generally do mmcReset before playing each file :-)

From DVS To All 8 June 2006

Hello, DVS Heh, interesting about this clocking method, I didn’t find any information, I just looked "temporary" (diagram with delays) for MMC. I'll try it in the evening and report back.

From Igor Afonkin To All 8 June 2006

Hello, DVS DVS, try this function in this form. ;) ┌─- CODE ─── u08 mmcSendCommand(u08 cmd, u32 arg) { u08 r1; // release chip select SPI_CS = 1; spiTransferByte(0xFF); // assert chip select SPI_CS = 0; spiTransferByte(0xFF); // issue the command r1 = mmcCommand(cmd, arg); return r1; } └── CODE ─── In the document that I have, it is required constantly before and after removal /CS send sync via SCK in the amount of 8 pieces at MOSI=1.

From Igor Afonkin To All 8 June 2006

Hello, DVS DVS> Just run through the file from the beginning of the file to the end To be honest, I thought that was how you did it... Apparently it was wrong... :v2_smoke; Hm.; And it's strange that SD doesn't want to respond to CMD1. Here's what's about it writes SanDisk; San>; The host must poll the card (by repeatedly sending CMD1) until the San> Сin-idle-stateТ bit in the card response indicates San> (by being set to 0) that the card completed its initialization San> processes and is ready for the next command. That is CMD1 (set_op_cond) should bring the card out of sleep anyway, but this the command must be sent repeatedly until the <> bit is cleared. And one more thing: San> In SPI mode, however, CMD1 has no operands and does not return the San> contents of the OCR register. Instead, the San> host can use CMD58 (SPI Mode Only) to read the OCR register. It is San> the responsibility of the host to refrain from San> accessing cards that do not support its voltage range. And instead of OCR, one byte will be returned - R1, in which the <<0>> bit is <>. In general, Idk... I was completely focused on SD, and I don’t know the differences from MMC. Athe document from SanDisk is called ProdManualSDCardv1.9.pdf, if you don’t find it, write I'll send it to you... True, it's about 1.1MB ;)

From DVS To All 8 June 2006

Hello, DVS I tried to do before starting MULTIPLE_BLOCK_READ mmcReset(), in which before CMD0, added CMD12 and everything started! But!!! I don’t like it that way :-(((It’s somehow hard and in the forehead, it’s the same as in front By launching another application, Windows will be overloaded :-)

From DVS To All 8 June 2006

Hello, DVS When sending sync after changing CS, the card began to go out of idle!!! But “the further into the forest, the more firewood” now it’s unclear how the card comes out MULTIPLE_BLOCK_READ and MULTIPLE_BLOCK_WRITE, the point is that it only costs drive it into MULTIPLE_BLOCK_READ mode, then reset the controller and try carry out initialization, then R1 will be 0x3F (stable). And when I need again MULTIPLE_BLOCK_READ mode, but from a different sector, then the card doesn’t fit into it at all enters. I tried to do STOP_TRAN (CMD12), there is an effect, but not always. In short, MULTIPLE_BLOCK_READ from a certain sector is only enabled once after initialization. I tried to read PBRS, everything is ok, the data correct.

From DVS To All 11 June 2006

Hello, DVS The first post contains v2.3 firmware for ATMega16(162). Changes: 1) In the function of issuing commands for SD/MMC, a sync byte has been added after the change chip select states. 2) Taking into account the features of SD, the card initialization function has been changed. Now the map re-initializes stably without turning off power 3) Taking into account the features of the SD card, the functions of continuous read/write (exit mode using the CMD12 command, with reading the remaining bytes in the sector) 4) I think that the name "ZX Flashtaper" is better suited than "HardTaper". Let Someone will do it on HDD and call it HardTaper :-)

From DVS To All 12 June 2006

Hello, DVS What proposals will there be for implementing a two-way exchange with Speci? Is it possible to make a UART on a spec via Tape OUT? (The idea has already been running) Who will it take it?

From DVS To All 12 June 2006

Hello fan fan> I mean that the very concept of UART is not applicable to the gramophone port fan> %) UART - Universal Asynchronous Receiver and Transmitter. Why not applicable? If RS232 is done via Kempston joy + centronix, and UART is private case (pair of conclusions) ? Or does it mean that the constant component is cut at the tape port?

From DVS To All 12 June 2006

Hello fan fan> or normal IN/OUT UART Yes! This is what you need. The idea is this: 1) The user types LOAD "" % on Specky 2) On FlashTaper press the BOOT button 3) The file manager is loaded into Specky 4) FlashTaper switches to file manager mode 5) The file manager, through the “tape recorder” UART, reads part of the directory from programs 6) The user scrolls through the files in the window and selects the desired file, then the block and file playback starts.

From Alexander Zan To All 12 June 2006

Hello, DVS DVS> Is it really possible to make a UART for specs via Tape OUT? Either Tape OUT or normal IN/OUT UART %) and preferably MIDI standard :D

From Alexander Zan To All 12 June 2006

Hello, DVS I mean that the very concept of UART is not applicable to the gramophone port%) But I like the idea of using a file manager, and in principle it is quite feasible. It would be absolutely super to get perverted with recording a brain dump (but this already a problem with the Spectrum part :( ).

From Alexander Zan To All 13 June 2006

Hello, DVS DVS> UART - Universal Asynchronous Receiver and Transmitter Actually, this is a terrible cockroach that unloads a percentage of excess crap. In short, it doesn't matter. We got off topic.

From ASDT To All 13 June 2006

Hello, DVS "It’s not for nothing that even in the super-duper ATM-2 TIN/TOUT" So what's the question? Connect by AND/OR...

From ASDT To All 13 June 2006

Hello, DVS “Well, the user was counting on something when he pressed the button on the tape recorder: BOOT, and before that by entering LOAD"" on Specky." So what's the question?

From ASDT To All 13 June 2006

Hello, DVS “Even if so, you still need to think through the exchange algorithm” So if so... Then the usual tone at the beginning, according to its frequency - either recorded on a tape recorder, or direct access...

From ASDT To All 13 June 2006

Hello, DVS "Direct access will be enabled automatically" What's the use of this? It makes more sense to be in tape recorder mode, and switch to direct access at the request of the software.

From ASDT To All 13 June 2006

Hello, DVS "be in two modes PLAY and RECORD, and the rest of the time? That's right - it's IDLE :-) At this time, let him work as a slave to process commands." I see... I thought that in RECORD it could switch by presence of a signal at the input... "Make a VG93 emulator on mega" Not relevant :)

From ASDT To All 13 June 2006

Hello, DVS "then select the uart HANDLES" So if the loader is already loaded... Why the button? I suggest frequency switching.

From ASDT To All 13 June 2006

Hello, DVS In the sense that you need to focus on maps. And vg is a standard inexpensive solution, there is no need to change it...

From ASDT To All 13 June 2006

Hello, DVS How about a direct connection, i.e. without the analog part?

From ASDT To All 13 June 2006

Hello, DVS I think that the analog part can be thrown out, because... tape recorder in reality it is of no interest...

From DVS To All 13 June 2006

Hello ASDT ASD> "Direct access will be enabled automatically" ASD> What's the use of this? It makes more sense to be in tape recorder mode ASD> and switch to direct access at the request of the software. Well, the user was counting on something when he pressed the button on the tape recorder: BOOT, and before that by entering LOAD"" on Specky.

From DVS To All 13 June 2006

Hello ASDT ASD> How about direct connection, i.e. without the analog part? I think a device with TIN/TOUT will be much more useful. Because this is one of the few standards for all Specs and clones, just like the 3.5 MHz clock for the Z80! jdi> About 10 years ago I connected 2 TOUT->TIN spectra, dialed on one jdi> LOAD "", and on the second I typed SAVE "xxx" - it worked with a bang! This is exactly what I meant when I spoke about the standard P/P from ROM. If not bother with the turbo, shorten the pilot tone and how to send CODE blocks to both parties according to the request-response principle, the master is Specky.

From DVS To All 13 June 2006

Hello ASDT ASD> Then the usual tone at the beginning, according to its frequency - or record on ASD> tape recorder, ASD> or direct access ... Direct access will be enabled automatically: on Spec after downloading the file manager, on FlashTaper immediately after unloading :-) Exit this mode by reset or by command to load.

From DVS To All 13 June 2006

Hello, DVS 2 The Exploited In this vein, which you propose, there is another, cooler problem. Make on mega emulator VG93 (in general, just a TR-DOS controller, maybe even ROM in mega protect), and instead of the drive, use SD/MMC with FAT16, and *.trd images on the cards. Agree it's cool :-) There are sources for the VG93 emulator from Z-EMU. Everything is in C. I dream of reviving my “real” and take care of this matter. In the meantime, what's in stock is what's in stock. I'm talking about FlashTaper, which is also quite fits nicely into Spek’s ideology.

From DVS To All 13 June 2006

Hello, DVS DVS> I think that the analog part can be thrown out, because tape recorder DVS> is of no real interest... Yes, no, no matter how you look at it, a classic remains a classic... It’s not for nothing that even in the super-duper ATM-2 TIN/TOUT are made, otherwise it would be possible to save on mikrukh and consumed current :-) Everything that will happen via ZX-BUS will have different tasks and different circuitry, yes and there are no Z80 programmers willing to support this creation on the horizon observed.

From DVS To All 13 June 2006

Hello, The Exploited The> at 3.5 MHz up to 38500 kbit software uart was done But what, the sound path will let through so much? I mean all sorts of filters, on The classic Spectrum 48 with ULA cuts well. I personally counted on 4800 or 9600. ASD> "Make a VG93 emulator on mega" Not relevant Have you already done something? Or did you say it from the point of view: "Spec's time has passed, tape recorders even more so... etc, etc."

From DVS To All 13 June 2006

Hello, The Exploited The> I suggest making instant downloads of z80/sna snapshots (under trdos The> there is such a thing). The> I can help with the boot code for both Z80 and Atmega Unfortunately, my device does not connect to ZX-BUS yet, it’s closest to loading sna approached CARO, in the ZX-MCard topic. ASD> "then select uart HANDLES" ASD> So if the loader is already loaded... Why the button? ASD> I suggest frequency switching. I agree that the idea with the BOOT button is not very good. But also software no need to switch. Everything is as simple as a nut! Let me explain: For simplicity, we can assume that FlashTaper can be in two modes PLAY and RECORD, and the rest of the time? That's right - this is IDLE :-) At this time, let it works as a slave to process commands. Or am I missing something?

From DVS To All 13 June 2006

Hello jdigreze Probably better then the second option. And use standard P/P from Specky ROM. Here Only bad luck with recognition in FlashTaper... I'm DirectRecording I use it, then you need to port P/P Load from Speccy.

From DVS To All 13 June 2006

Hello jdigreze jdi> And then, I think that you shouldn’t limit yourself to just possibility jdi> file selection. It is necessary to make it possible to read/write by sector jdi> to flash. Then, to write tzx to the card you will not need to have it on hand jdi> have a PC... I agree, but it’s better to do this through ZX-BUS, similar to ZX-MCard. One way or another, you need an encoder for Z80 to write such a shell (here I passed ). But first of all, you need to think through the algorithm and I don’t think there’s any need to get too complicated.

From DVS To All 13 June 2006

Hello jdigreze To be honest, I was only counting on 3.5 MHz.

From skyther To All 13 June 2006

Hello ASDT Can set the "Uart" mode to the mode button. The loader is loaded as standard, then select the uart HANDLES and go ahead :)

From Igor Afonkin To All 13 June 2006

Hello ASDT DVS> I agree, but it’s better to do it through ZX-BUS by analogy with DVS> ZX-MCard. Well, ideally, in the future, it will be possible to try to combine these two devices in one. I hope Camille won't mind... :) About 10 years ago I connected 2 spectra TOUT->TIN, on one I typed LOAD "", and on the second I typed SAVE "xxx" - it worked like a charm! ASD> How about direct connection, i.e. without the analog part? Even if so, you still need to think through the exchange algorithm. But, IMHO, it's a problem it’s not that TIN/TOUT do not have a direct connection, the problem is more in synchronization In the days of real tapers, if the speed began to “float” rotation of the drive shaft, loading programs was probleatic... PS: Soon I’ll be “released”... it will be easier to engage in free creativity ;)

From Igor Afonkin To All 13 June 2006

Hello, DVS DVS> What proposals will there be for implementing two-way exchange with Speci? DVS> DVS> Is it really possible to make a UART for specs via Tape OUT? (The idea has already been discussed) DVS> Who will take it? It is impossible to make a full-fledged UART precisely because of the cutting off of the constant component. So far I only have two ideas... 1) Synchronous exchange, synchronization from the receiver; 2) Asynchronous exchange, block transmission, frequency synchronization (like standard TIN/TOUT procedures).

From Igor Afonkin To All 13 June 2006

Hello, DVS When you use it only as a taper, then, of course, you will turn off the turbo, but when you want interactive interaction, then there should be a turbo mode supported Although, IMHO... And then, I think that you shouldn’t limit yourself only to the possibility of choice files. It is necessary to make it possible to read/write to flash by sector. Then, to write tzx to the card you won’t need to have a PC at hand...

From Igor Afonkin To All 13 June 2006

Hello, DVS Standard ones won't fit. A self-synchronizing signal is needed, because computer can work with or without a turbo, and turbos give different gains for everyone productivity, i.e. The frequency of the signal will fluctuate over a wide range.

From Mark Antonov To All 13 June 2006

Hello, DVS DVS> Unfortunately, my device does not connect to ZX-BUS yet why zx-bus? through the same channel and upload (at 3.5 MHz up to 38500 kbit made software uart) DVS> In this vein that you propose, there is another cooler one DVS> problem. Make a VG93 emulator on Mega It seems to me that making a real-time VG model is very difficult, if at all perhaps. here at least a combination with pga+mcu is needed, IMHO. DVS> I'm talking about FlashTaper, which also fits in pretty cool DVS> Spec's ideology. well, the ideology of multiface has also existed for a very long time :) when there were no There were no emulators, let alone snapshots.

From Mark Antonov To All 13 June 2006

Hello skyther I suggest making instant downloads of z80/sna snapshots (there is one for trdos). I can help with the boot code for both Z80 and Atmegu

From skyther To All 13 June 2006

Hello ASDT What if you make a shortened tyrdos? Like Inozemtsev’s (supposedly) virtual disk "C" on ROM.

From ASDT To All 14 June 2006

Hello, DVS “What if we make a shortened tyrdos?” Just not on ROM, but on "ZX FlashTaper" If at maximum speed, it will even be fast...

From Mark Antonov To All 14 June 2006

Hello skyther sky> What if you make a cut-down tyrdos? Like Inozemtsev (I think) sky> virtual disk "C" on ROM. no big deal, but why the hell. the subject was just made for specs with a tape recorder (without disk controller). for trdos other solutions would be suitable - extensions based on the Caro multicard, for example. In this case, I suggested loading snapshots, here only the speed is doubtful.. but again Spectrums have other input ports - Sinclair/kempst joystick's for example.