Tumgik
#fat16
te9nyat · 1 year
Text
0 notes
mrjerrychang · 1 year
Text
免用工具將USB隨身碟格式化FAT16【Win10示範教學】
客戶來電問:「我們設備要用FAT16的USB,這個隨身碟設備讀不到…」 經過一波詳細問診後是有些工業設備要存資料仍需要使用到FAT16檔案系統,客戶買的隨身碟隨便都大於4GB,如何將大容量隨身碟分割並且不需要格式化工具幫助客戶隨身碟格式化成FAT16… Continue reading Untitled
Tumblr media
View On WordPress
0 notes
andmaybegayer · 2 years
Text
One upside to being extremely online is being able to provide additional commentary when someone sends you a screenshot of some post.
Like oh yeah that's foone, they're a known hardware warlock whose gender is legally the header of a FAT16 formatted floppy disk. That's Aella, she's possibly one of the few people to ever become dependent on LSD for a while. That's the Cybersmith, he's. Actually I'm not telling you what I know about him.
1K notes · View notes
techav · 2 months
Text
Revisiting Wrap030 Disk Access
Tumblr media
I have more ideas for projects than time or budget to work on them. Already this year I've gone completely through the design process for two new large homebrew projects that are currently too large for my project budget, plus a few small ones I never got around to ordering. So rather than spend more than I should taking on a new project, I decided to revisit an existing one.
It's been over a year since I last worked on the original Wrap030 project — my old stack-of-boards MC68030 system. Its current configuration includes the main board with CPU, ROM, RAM, UART, & glue logic; a hand-wired breakout board to add a second UART; a custom video output board; and a mezzanine board with FPU and provision for an IDE disk that is not yet working. It has been functional in this configuration since last February.
My goal for this project from the beginning was to build something capable of running a proper operating system, like Unix System V or Linux. To do that though, I'm going to need to get disk access working.
I had started on disk access, but didn't quite have it functional when I turned my focus to integrating all of boards into the single Wrap030-ATX motherboard. I had added IDE cycles to the CPLD on the mezzanine board, and had added a few rough drafts of disk functions to my ROM. I set the project aside when I realized my function for checking dish presence was reporting a disk was present when there wasn't one.
I have worked with IDE before — my original 68000 project had an IDE port on it. I had gotten that project to the point where I could read a sector of data from the disk, but never could wrap my head around how to actually navigate even a simple file system like FAT16. It was this code that I had adapted for Wrap030, so when it didn't work, I assumed it was a problem with my logic.
Turns out I had just inadvertently clobbered a register in the disk check function. The logic worked just fine. I was able to write a couple quick BASIC programs to read a sector of data and even run code from the boot sector.
Tumblr media Tumblr media
My assembly function for reading data from disk however was still not working.
I tried rewriting it.
I tried rewriting it in C instead of assembly.
I tried again, and again, and again. I added delays and loops and print statements and everything I could think of. I scoured datasheets, read though all the different release versions of the ATA specification, ported code from other projects, looked at every example of reading from an IDE disk I could find.
No matter what I did, I always got the same result.
Tumblr media
This did not make any sense. Reading from an IDE disk involves setting up the sector address, the number of sectors to transfer, sending a read command, and then reading the IDE data port 256 times per sector. Each time the data port is read, the disk will give another 16-bit word of data. But for some reason, all I was getting was the first word of data returned 256 times.
There is nothing in the specification to explain this.
I knew there was nothing wrong with my logic, because I could read the data just fine with my BASIC program or by manually poking the right addresses using the monitor. Maybe there was some edge case affecting timing when running in assembly, but even adding delay loops and print statements didn't have any effect.
I reached out for help. I got great feedback on my read functions and my timing and how IDE and CompactFlash cards worked, but still could not solve this problem.
But then @ZephyrZ80 noticed something —
Tumblr media
I had shared my code and was explaining that I had added some extra NOP instructions to enforce minimum time between IDE access cycles in PIO-0 mode. At 25MHz with cache enabled, the 68030 can complete an instruction in as little as 80ns, so a few NOPs would ensure enough time elapsed between cycles.
With cache enabled.
… cache enabled.
… cache.
The 68030 has 256 bytes of data cache. My disk read function is running in a tight loop that only really hits a few addresses; not nearly enough to invalidate and flush the entire 256 bytes of cache. The CPU does have a cache inhibit signal to use with peripherals that return new data on subsequent access to the same address, but it turns out I was only asserting it when accessing the UART on the main board.
It's a simple enough hypothesis to test. When I initially added support in my ROM for enabling cache at startup, I included user functions for enabling and disabling cache.
Tumblr media
… It was cache all along.
Now I need to add some way to inhibit cache while accessing the IDE port, and then I can move on to trying to use the disk for loading programs.
41 notes · View notes
april · 4 months
Text
context:
i have an old thing that needs a microSD card in order to operate
the only microSD card i have is 1GB and i would like to use one with higher capacity
i do have spare microSDHC cards but i don't think they would be compatible with my doohickey
the microSD card is formatted as FAT16
the microSDHC cards are formatted as FAT32
hypothesis:
the microSD reader may also be able to read microSDHC cards that are formatted as FAT16
method:
reformat 4GB microSDHC card as FAT16 with 64KB clusters
put test data on microSDHC card
try to read microSDHC card with microSD reader
result:
the microSD reader recognises that a card is inserted, but cannot read it
conclusion:
the hypothesis appears disproven at first glance, but there is one additional factor that must also be ruled out
NEXT TEST
context:
the microSD card is formatted as FAT16 with an unknown cluster size
the default cluster size when formatting this microSD card as FAT16 with windows 10 is 16KB
the only available cluster size when formatting the microSDHC card as FAT16 was 64KB
hypothesis:
it may be possible that my doohickey cannot handle 64KB clusters
(if the above is true, a microSDHC card may be usable if i use different software to format it as FAT16 with 16KB clusters)
method:
reformat microSD card as FAT16 with 64KB clusters
put test data on microSD card
try to read the microSD with the microSD reader
result:
the microSD reader can read the microSD card
conclusions:
the cluster size was irrelevant
by elimination, the differentiating factor is in fact the physical card format (microSD vs microSDHC)
the microSD reader cannot read microSDHC cards
i need to buy a 2GB microSDSC card
36 notes · View notes
kinkyrius · 7 months
Text
We have to write a program that can read a FAT16 file system as coursework and I promised myself I was going to work on it tonight but I'm too tired and horny :(
3 notes · View notes
Text
This small USB Bluetooth Mp3 Module can be used in home theater systems, portable speakers, audio, cars and furniture. It can support USB/SD-card/Blue tooth/ FM/ AUX switch. Operates at 3.6-7.2V and has push-buttons for ease of use.
Tumblr media
Features:
Operating Voltage is 3.6V-7.2V
Support MP3 / WMA / WAV format music.
Support Resume function.
Support FAT32, FAT16 file system.
Support BT music and BT call function.
Support USB / SD-card switch/ FM(87.5MHz-108 MHz)/MP3/AUX function.
Size: 3.8*3.6*1.0 cm
4 notes · View notes
asspull3x · 1 year
Text
System Showcase
The Asspull IIIx is like if you mashed a Super NES, a Megadrive/Genesis, and the general design concept of an old micro computer together, flavored with MSX.
What does that mean?
It means you get a video game system that takes cartridges, but it also takes diskettes and hard drives.
Also, all of its parts have silly names, inspired by the Amiga.
Lalanne
Lalanne is the code name for the A3X's motherboard as a whole. It comes with fifteen expansion card slots (the sixteenth is Fonda, described below), a 128 KiB BIOS ROM and 4 MiB of work RAM. Cartridge games can be just under 16 MiB in size, leaving some space in the memory map for the BIOS and any battery-backed cartridge RAM.
Fonda
Fonda is the I/O controller. It is one of only two devices that's hardwired onto the Lalanne motherboard. On the one hand Fonda handles inputs from the keyboard, mouse, and controller ports. On the other, Fonda handles the MPU-401, OPL-3, and PCM audio systems.
Austin
Austin is the video processor. It features four different screen modes and up to 256 colors:
Text mode, with 40 or 80 columns and any of 25, 30, 50, or 60 lines, in 16 colors. It's really not unlike on a PC.
Bitmap mode with 4 bits per pixel, linear, with 200, 240, 400, or 480 lines of 320 or 640 pixels each, in 16 colors.
Bitmap mode with the same resolutions as the other one, but in 8 bits per pixel, so 256 colors.
A tilemap based mode. It has four maps of 64×64 tiles each. Each tile is your standard 8×8 pixels in size. The 256 color palette is split into 16 lines and each tile can pick from those. Tiles can be flipped both ways. All four layers have the same functionality, including pixel-level scrolling, additive and subtractive blending, and windowing. The only limitation is that you can only use 320×240 resolution.
On top of all that, all screen modes have full sprite support. There are 256 possible sprite objects, each with their own 16 colors chosen from a separate 256 color palette. Each sprite can be flipped both ways, blended both ways, positioned much anywhere, appear behind any layer, and be 8×8, 8×16, 16×8, 16×16, 16×32, 32×16, or 32×32 pixels in size.
All of this powered by 512 KiB of video RAM, subdivided into maps (text, bitmap, or tilemap), tile graphics, color palettes, font graphics, and sprite object attributes.
Simmons
Simmons is the disk controller. More can be attached as expansion cards, but one comes preinstalled. Each allows two more external disk drives to be attached, but the built-in one only has one port — the other is attached to an internal diskette drive. Each Simmons has two sets of 512 bytes of internal RAM to cache any sectors for reading and writing, available to the main system. The BIOS offers full support for FAT12, FAT16, and FAT32 volumes.
Smith
Smith is the A3X's line printer. A simple dot matrix device with an 80 character line buffer, not counting the control codes that allow it to print in bold type and underlined.
Little
Little is the A3X's gamepad. It has four action buttons, two shoulder triggers, start and select buttons, and a D-pad. The Anthony variant adds an analog stick.
Crawford
The keyboard! It has no numeric keypad, and yet the BIOS' line input routine support alt-number codes.
Kennedy
Kennedy is just a regular old mouse. This is somehow not some failed Resident Evil joke.
3 notes · View notes
kawaoneechan · 1 year
Note
So, AIIIx, alias A3x, with felin mascots? I am just curious how much this could be used as a virtual storytelling device of sorts... But also because it is an emulator, pretty much.
For instance, can we have a global, long-term variable, e.g. a name, that is being kept in our A3x?
The A3X has no internal, persistent, shared storage available between cartridges or disk-borne programs like for example the internal memory of a CD-I player. What it does have is:
disk support, with plain FAT12 formatted diskettes and FAT16/32 hard drives, so when you think about it the only qualifier that has to be struck is "internal".
no care for disk-borne programs detecting certain cartridges and mucking around with any battery-backed SRAM that might be on those cartridges. ("You like Castlevania, don't you~")
4 notes · View notes
pancakeke · 1 year
Text
chist. So my 3D printer has been insane for a while, and recently stopped working entirely. The fix was extremely easy but monoprice cobbled together the worst user manual ever that didn’t address any real issues. It tells you to contact their support email if you need help, which I did, and they never ever responded to my messages.
First issue: the printer (Monoprice mini SLA) stopped reading files I manually added to the 8GB SDHC card that came bundled with the printer. I could still add files via the shitty web UI (which still managed to add files to the SD card somehow?) so whatever. The thing was still usable so I just rolled with it while trying to get monoprice support to respond to me.
Second issue: I updated the printer’s firmware through the settings of the web UI. This update button does not seem to exist anymore so I don’t know what the deal was with that. Anyway, I got updated to firmware version 3.88. The install was corrupt and things started going wrong. I tried printing the same file 3 times but the print always stalled around 70 layers in and the printer screen would turn off. I gave up and went to bed for the night, but the next day the web UI was no longer usable. Whenever I tried to access it, the page would freeze and take the printer down with it.
Then I got sick and didn’t touch the printer for months but that takes us to this past week. I rip it apart to check all the cables and make sure nothing looks burnt out. Everything is fine.
I try formatting the original SDHC card. I try other SDHC cards, I partition them, wipe the partitions, format as FAT32, FAT16, NTFS. I use window’s disk management, diskpart, a special SD card formatter, nothing makes any of the cards work with the printer.
I go to google and see someone saying to use an SD card 4GB or under formatted as FAT. Ambiguous. That might mean better luck with an SD (opposed to SDHC) card. The page also says that monoprice does not support any firmware versions except the ones you can get from monoprice’s website. I check monoprice’s site. The latest supported firmware is 3.83. Why did the automatic update put me on 3.88 if it wasn’t supported? Also why doesn’t monoprice say anything about not using the update button on the web UI??
I get a 2GB SD card. I put the latest monoprice firmware on it. I stick the card in the printer. No files found. To cover all my bases I throw a print file on the card and put it back in the printer. One file found? So this card works? How does it see the print but not the firmware?
I do more googling. There’s a thread that says the firmware file MUST be named “update” for the printer to recognize it. The download direct from monoprice adds the firmware version to the file name (so the name is “3.83-update”), which makes it invisible on the printer’s menu. Changing the file name makes the file work. Monoprice’s site and their user guide say nothing about this.
I update the firmware to 3.83. It installs correctly. The web UI connects again and the printer can read SDHC cards again.
This was so stupid. If monoprice just added 2 sentences to their user manual saying to troubleshoot with a non-SDHC card and to only use their provided firmware files (after renaming them) this would have been super simple to resolve.
7 notes · View notes
os2warp · 1 year
Text
on the new old pc, windows nt 3.51 is installed on a fat16 partition because if its installed on ntfs, the first time i start windows 2000 it will automaticly convert it to ntfs5, which is incompatible with nt3.51. the fat16 file system is the “big fat16″ used by windows nt, and is incompatible with dos/win9x. idk if windows 2000 changed something about that too or what, but nt3.51 couldn’t run chkdsk (complaints of a “non-windows nt disk”) and i was having Weird Problems installing certain programs. (lots of programs actually).
i remembered that nt3.51 fully supports hpfs, os/2′s file system. it can’t create new hpfs drives, but it can read from and even be installed on a preexisting one. so i booted up the os/2 floppies, reformatted the nt3.51 partition as hpfs then booted up the nt3.51 floppies and started reinstalling. i didn’t have to fully reinstall, just get to the first reboot stage where it sets up the disk, then i overwrote the new nt3.51 installation with the old one. everything works great now. nt3.51 is running from an hpfs partition and is no longer having Weird Problems, and there is no way at all for windows 2000 to meddle with things.
4 notes · View notes
ilearhmajeste · 1 month
Text
A long time ago, inside a smoky Los Angeles gymnasium!
#.mDeweyDecimal system. Where WONT your cell cellWorm work fore call Dada wife目
g fuxit(POLYMERIZE)
g.diploidpHetus
r.myself to correct the missing d last line
Lastweek.John Oliver saying, pretty, pretty bad
Tumblr media
youtube
Tumblr media
youtube
Tumblr media
Giles received the Watcher Kite!
youtube
Douze
Tumblr media
Could be two sixes bunking or the little rascals moving in on ま!Game
Tumblr media
Additionally, plus one
1 Chronicles 29
χ+the Positive ¶ Wherefore David blessed the Lord before all the congregation: and David said, Blessed be thou, Lord God of Israel our father, for ever and ever.
Ьегдwhistles cro crow growth
Tumblr media
Oz.the Meтasure Thine, O Lord, is the greatness, and the power, and the glory, and the victory, and the majesty: for all that is in the heaven and in the earth is thine; thine is the kingdom, O Lord, and thou art exalted as head above all.
THINE The People's Republic of China(response)
youtube
It's ok, they don't believe in it.
12 And when he had considered the thing, he came to the house of Mary the mother of John, whose surname was Mark; where many were gathered together praying.
-Anastasia IS the passage forming the ACTS chronologue.
youtube
Also could be a person who exists at any given time.
Kelly, Go ahead and open your present
What the hell!
What did you expect TheGundams "English"
They may even work at any of a number of interesting establishments that are currently up to date on rent payments at billings Bridge plaza. Or outside like at the McDonald's, the riverside hospital, or the canal when it freezes. Update your USB formatter frequently. A friendly reminder from the ink spreaders of airaisa
youtube
Brining Beaver Tails shouts a common ice field technician jangling a santaClausr style bell
Try the Brown Sugar, it's not cinnamon anymore
Connection us flimsy
Introducing, a childe sized plastic patio chair to improve your balance for amateur iceskaters
youtube
Notice avoidints of assuming, instead she's relaying what she has to relay take her word for it they got a department fas fcc faa fat16 Giles isn't ready to bang a black Olivia so he creeps iff the computer teacher who left Rufus Wainrightz car keys on the chalk board as eddie walks ok Sean of the crime. Yeah she messed with Angel, gave him some kind of Achiles Sexheal
Allegations.glug.glugDrunnnnnnnkypoo
youtube
youtube
Then the impression that the twelve days of Christmas 'carol' is a drinking gMe sctv did iT firstRadeio
Are you telling me you've never spaced out and woken up at the club to see some guy whose house your going to wind-up burning down jetSgream
Hut: if a tree falls in the wilderness but you signed up for direct deposit, is it still in God we trust?
youtube
Italy is "Librrated and the commies hang Mussolini
Abraham
IS
Covid19
0 notes
nzdepot · 2 months
Link
$9,386.00 $ U-Reach Intelligent 9 UB940UG Golden Series USB Duplicator and Sanitizer 1-39 https://nzdepot.co.nz/product/u-reach-intelligent-9-ub940ug-golden-series-usb-duplicator-and-sanitizer-1-39/?feed_id=149610&_unique_id=6623845452e5b Features: Intelligent 9 Golden Series USB Duplicator and Sanitizer 1-39 – Standalone design, no PC required to operate the USB duplicator. – Compatible with the USB stick 2.0/3.0/3.1/USB-HDD and other various USB devices. – Impeccable copy speed: up to 2GB per min for each port and up to 120 ports. – Supports all types of data copy formats while performing bit-by-bit duplication. – Supports “quick copy” for Linux (ext2/ext3/ext4) and NTFS, FAT16/32. – Data Sanitization: quick erase, full erase, and DoD erase. – Can handle the largest USB capacity available on the market. – Handles USB-HDD with a capacity of up to 3TB. – Support eUSB (USB-DOM) 2.54mm and […] #
0 notes
digibetadeck · 2 months
Text
HELP NEEDED: 1997 KODAK DC120 COMPACTFLASH CARDS
i am fucking pulling my hair out over this shit this camera uses "ATA CF" cards and i have no fucking clue how to format it properly for this thing I know the following: FAT16 256MB limit (supposedly) Fixed disk requirement (supposedly) I've tried everything. 4 heads, 8 heads, 4096 bytes / sector, 1024 bytes failed; 3 other cards failed ITS JUST THIS SINGLE ONE.
I have an image of the card, and even when I put the image of that card ON THE OTHER CARDS it refuses to work. At this point, is it a hardware issue? or a software issue? PLEASE HELP. - Ilme
1 note · View note
techav · 2 months
Text
More Speed, More Power, Pretty Pictures
I added some crude functions to the ROM monitor on my Wrap030 project to read the root directory of a FAT16-fomatted disk and load binary files into memory to execute. This opens up a new option for developing programs and running them on the computer, and makes it easier to keep programs on-hand for loading when I demonstrate the computer.
So what new program do I build first for running from disk? The same Mandelbrot renderer I've been using all along, of course! All I needed to do to get it running from disk was adjust a few load instructions to use PC-relative addressing and then change the vasm output to raw binary.
It ran without issue ... mostly. I had been noticing some instability with the system in general. It's not really related to the programming work I've been doing, it just tended to show itself more when doing the kind of FPU-intensive processing required for the Mandelbrot program. Sometimes the system wouldn't boot at all, sometimes it would continually reset. Other times it would run fine for a while, but randomly throw a coprocessor protocol exception (especially when using double- or extended-precision floating point values).
I had a pretty good idea of where this instability was coming from ...
Tumblr media
As someone on Discord put it, that's a pretty little antenna I've got there.
High speed computers don't like excessively-long wiring between components. I made the ribbon cables long because there were other boards I developed for this system. But, I'm only using the CPU board, the FPU + IDE mezzanine board, and the video generator board. All that extra wire is just making things more difficult.
A year ago, when I first put these three boards together, I had to bump the bus speed down to 25MHz to get it to run. I could run the CPU board up to 56MHz by itself, and I could get it to run with one expansion board or the other up to 40MHz, but with all three boards, 25MHz was the best I could do (out of the oscillators I had on hand). I have some 33MHz oscillators now, and while I could get it to run sometimes, it was obviously far more unstable.
It was time to trim those pretty little antennas.
Tumblr media
I left room for one more card, in case I can get my DRAM card working later, but trimmed a few inches off. The result? Rock solid at 25MHz now.
... and at 32MHz.
... but 40MHz still doesn't run.
I am quite pleased with that result. My target for this system in the beginning was 25MHz. That extra 30% speed increase is very noticeable, especially when running a program like the Mandelbrot renderer.
But I had a thought.
My FPU is rated for 25MHz, and here it's running solid at 32MHz along with the rest of the system. But my FPU board was designed to support the FPU running at a separate clock speed from the rest of the system (the 68881/68882 FPU is actually designed to support this, so I implemented it when I built my mezzanine board).
What would happen if I tried running the FPU even faster? Perhaps using that 40MHz oscillator that I couldn't use for the complete system?
Surprisingly, not a problem running the CPU at 32MHz and the FPU at 40MHz.
... or 50MHz
... or 55MHz
... or 67MHz!
Once again, I've run out of faster oscillators. This computer is running stable with its FPU clocked at over two and a half times its rated speed.
The video above is a real-time capture of the VGA output of this machine running that Mandelbrot renderer (now modified to use 96-bit extended-precision floating-point arithmetic!) with the CPU & main bus clocked at 32MHz and the FPU clocked at 67MHz. Some frames take minutes to render. Some complete in as little as seven seconds.
I am in awe. While I had big dreams when I first started working on this project six years ago, I never could have imagined it running this well at that kind of speed. I am very happy with how this project has turned out so far, and can't quite believe I actually built something like this.
I typically wrap up these posts with a plan of where to take the project next, but the project has already exceeded my expectations. There is so much it is already capable of now that I have a permanent storage option available. I guess I could try getting that DRAM card running to expand the main memory beyond 2MB, or try adding a keyboard and some text routines to complement the video card. Both are good options towards getting a proper operating system running, which has always been a goal of the project.
Either way, I'm sure I'll have fun with it.
Tumblr media
18 notes · View notes
zemaniacom · 6 months
Text
În viața noastră de zi cu zi cu PC-urile noastre se pot întampla dezastre mai mici sau mai mari. Este foarte enervant, în cazul în care, de exemplu, o imagine frumoasă, un document important sau o melodie favorită este pierdută sau ștersă din greșeală. Într-o astfel de situație Ashampoo Undeleter este salvarea ta. Cu acest program fișierele șterse sunt recuperate în cel mai scurt timp. Așa că, dacă ați șters din greșeală melodia preferată, această întâmplare nu mai este un dezastru. Trebuie doar să utilizați eficienta funcția de căutare a Ashampoo Undeleter și au programul generează o listă cu toate fișierele șterse. Într-o astfel de listă este afișată chiar starea fișierelor. Acest lucru arată dacă fișierele pot fi recuperate în totalitate, parțial sau deloc. Apoi, puteți recupera melodia preferată în locația dorită cu doar un singur clic. Funcția de recuperare a Ashampoo Undeleter este extinsă și nu se limitează la unitățile de hard disk ale calculatorului. Fișierele șterse pot fi, de asemenea, detectate și recuperate de pe unități de stocare USB externe, memorii flash USB și alte medii de stocare. Nume produs: Ashampoo Undeleter Pagina oficiala: https://www.ashampoo.com Pagina promotionala: link, link Descarca: ashampoo-undeleter.exe Valabilitate licenta: permanentă Sistem de operare: Windows [wpsm_ads1] Creati un cont Ashampoo (daca nu detineti unul deja), apoi vizitati pagina promotionala si completati campul solicitat cu adresa de email. Apasand butonul ”Request full version key” licenta va fi trimisa in casuta de email, link-ul pentru descarcare il aveti mai sus, acum nu va ramane decat sa instalati programul si sa-l inregistrati. Recuperați fișiere și directoare pe partiții NTFS, precum și FAT12, FAT16, FAT32. Recuperarea fișierelor pe partiții cu compresie NTFS activă. Recuperarea fișierelor pe partiții cu codificare NTFS activă. Recuperarea fluxurilor de date alternative (ADS) pe partițiile NTFS. Suport pentru toate sistemele de fișiere cunoscute pe Microsoft Windows. Algoritm MFT și FAT foarte rapid și recuperare extrem de rapidă. Număr nelimitat de obiecte recuperabile (fișiere, directoare). Evaluarea stării obiectelor restaurate. Interfață de utilizator rapidă și, prin urmare, intuitivă
0 notes