log

age author description
Mon, 25 Jun 2012 15:32:16 -0500 Robert McIntyre working on basic choreo.
Mon, 25 Jun 2012 15:08:52 -0500 Robert McIntyre allow path back to bootstrap program from image-kernel.
Mon, 25 Jun 2012 14:55:55 -0500 Robert McIntyre cleanup.
Mon, 25 Jun 2012 14:53:59 -0500 Robert McIntyre song sucessfully plays.
Mon, 25 Jun 2012 14:50:28 -0500 Robert McIntyre allow repositioning of music data.
Mon, 25 Jun 2012 14:23:16 -0500 Robert McIntyre investigating a problem with bad sound when writing RAM with bootstrapping program
Mon, 25 Jun 2012 14:15:38 -0500 Robert McIntyre refactored functionality of play-midi into midi-bytes for reuse.
Mon, 25 Jun 2012 12:45:57 -0500 Robert McIntyre minor change to make button presses more dramatic.
Mon, 25 Jun 2012 11:58:36 -0500 Robert McIntyre minor fix to create render dir if it does not already exist.
Mon, 25 Jun 2012 11:15:08 -0500 Robert McIntyre completed clojure functions to generate final video.
Sun, 24 Jun 2012 17:18:22 -0500 Robert McIntyre trying to find out map problem.
Sun, 24 Jun 2012 16:47:18 -0500 Robert McIntyre added full recording function.
Sun, 24 Jun 2012 14:57:15 -0500 Robert McIntyre added download script to get needed libraries for Dylan.
Sun, 24 Jun 2012 13:39:07 -0500 Robert McIntyre saving progress.
Sun, 24 Jun 2012 13:36:09 -0500 Robert McIntyre remove print statement.
Sun, 24 Jun 2012 13:34:15 -0500 Robert McIntyre sound recording complete.
Sun, 24 Jun 2012 13:12:51 -0500 Robert McIntyre sound recording test now works.
Sat, 23 Jun 2012 23:10:31 -0500 Robert McIntyre working on recording sound. almost have it, but there is still unexplained popping sounds.
Sat, 23 Jun 2012 20:34:14 -0500 Robert McIntyre added sound introspection abilities.
Sat, 23 Jun 2012 19:12:26 -0500 Robert McIntyre added RAM display.
Sat, 23 Jun 2012 17:45:38 -0500 Robert McIntyre going to work on functions relating to doing the final video, ram-display, sound, etc.
Sat, 23 Jun 2012 17:22:32 -0500 Robert McIntyre reduced colors in pinkie pie mark to exactly 4.
Sat, 23 Jun 2012 15:10:14 -0500 Robert McIntyre added pinkie pie cutie mark.
Sat, 23 Jun 2012 14:27:01 -0500 Robert McIntyre generated gameboy palette for gimp for Dylan.
Fri, 22 Jun 2012 21:25:47 -0500 Robert McIntyre switched tile and pallette assembly.
Fri, 22 Jun 2012 21:24:44 -0500 Robert McIntyre cosmetic change. need to investigate why switching pallet and tile assembly does not work.
Fri, 22 Jun 2012 21:21:48 -0500 Robert McIntyre colors now work properly.
Fri, 22 Jun 2012 21:03:04 -0500 Robert McIntyre can now display black and white images (still working on color).
Fri, 22 Jun 2012 18:58:47 -0500 Robert McIntyre accuracy of displayed image is much improved, but there the palettes are still messed up.
Fri, 22 Jun 2012 18:38:22 -0500 Robert McIntyre going to correct premium stupdity.
Fri, 22 Jun 2012 15:03:41 -0500 Robert McIntyre got an image to display, but it doesn't tile correctly.
Wed, 20 Jun 2012 22:49:31 -0500 Robert McIntyre efficient data writing assembly complete.
Wed, 20 Jun 2012 22:08:56 -0500 Robert McIntyre problem turned out to be nothing.
Wed, 20 Jun 2012 21:41:38 -0500 Robert McIntyre trying to track down pesky assembly bug.
Wed, 20 Jun 2012 19:51:50 -0500 Robert McIntyre saving progress.
Wed, 20 Jun 2012 16:50:36 -0500 Robert McIntyre added function to slice up an image into an appropriate representation for the GB.
Wed, 20 Jun 2012 13:59:21 -0500 Robert McIntyre fix compilation problem.
Mon, 18 Jun 2012 18:56:49 -0500 Robert McIntyre resolved conflict.
Thu, 14 Jun 2012 00:47:15 -0500 Robert McIntyre saving progress
Wed, 13 Jun 2012 01:10:00 -0500 Robert McIntyre created function to deconstruct image into tiles and translate into gb-rgb color space.
Tue, 12 Jun 2012 10:12:25 -0500 Robert McIntyre working on confirming accuracy of color map.
Tue, 12 Jun 2012 08:05:24 -0500 Robert McIntyre discovered that the gb has far fewer unique colors than I initially thought.
Tue, 12 Jun 2012 03:36:47 -0500 Robert McIntyre generated graphical representation of the gb color map.
Mon, 11 Jun 2012 10:07:01 -0500 Robert McIntyre discovered gameboy->vga color map.
Mon, 11 Jun 2012 06:19:38 -0500 Robert McIntyre reversed pixel image.
Mon, 11 Jun 2012 06:04:25 -0500 Robert McIntyre pixel introspection. but entire image is upside down.
Mon, 11 Jun 2012 00:55:51 -0500 Robert McIntyre merged changes from trip to wichita.
Thu, 07 Jun 2012 23:11:18 -0500 Robert McIntyre improbed color display kernel.
Thu, 07 Jun 2012 23:03:05 -0500 Robert McIntyre can now display a single color :)
Thu, 07 Jun 2012 22:52:30 -0500 Robert McIntyre fleshing out image color calibration code.
Thu, 24 May 2012 17:33:25 -0500 Robert McIntyre added function to pack gb-rgb bytes
Mon, 11 Jun 2012 00:53:20 -0500 Robert McIntyre edit to image.clj
Mon, 07 May 2012 12:37:04 -0500 Robert McIntyre cleanup.
Mon, 07 May 2012 12:31:16 -0500 Robert McIntyre added rgb->gbRGB translation code.
Mon, 07 May 2012 11:15:49 -0500 Robert McIntyre merge
Mon, 07 May 2012 11:15:44 -0500 Robert McIntyre added image.clj
Sun, 06 May 2012 20:54:09 -0500 Robert McIntyre added reference c program for converting vga rgb to vb rgb.
Sun, 06 May 2012 20:52:31 -0500 Robert McIntyre merge.
Wed, 02 May 2012 13:07:36 -0500 Robert McIntyre added save state
Sat, 05 May 2012 06:19:55 -0500 Robert McIntyre adjusted drum beats.
Fri, 04 May 2012 09:03:34 -0500 Robert McIntyre slight cleanup.
Fri, 04 May 2012 08:55:15 -0500 Robert McIntyre added csv files, completed demo :)
Fri, 04 May 2012 08:06:17 -0500 Robert McIntyre adjusted mother.mid for easy mini-midi conversion.
Fri, 04 May 2012 07:28:40 -0500 Robert McIntyre increased tempo of regret
Fri, 04 May 2012 07:23:07 -0500 Robert McIntyre formatted ship-of-regret-and-sleep.mid for smooth mini-midi conversion.
Fri, 04 May 2012 06:34:00 -0500 Robert McIntyre shortened song.
Fri, 04 May 2012 06:28:16 -0500 Robert McIntyre adding ship-of-regret-and-sleep.mid.
Fri, 04 May 2012 06:18:48 -0500 Robert McIntyre merge dylan's changes.
Wed, 02 May 2012 20:32:45 -0500 Dylan Holmes Fixed error with wild pokemon demographics; will need to alter the way hxc-wilds format of data returned by hxc-wilds to incorporate encounter rates.
Wed, 02 May 2012 19:52:06 -0500 Dylan Holmes Fixed type effectiveness; added it to the ROM map. (I've been remiss...)
Sun, 29 Apr 2012 20:35:58 -0500 Dylan Holmes Added interactive Pokemon cries.
Sun, 29 Apr 2012 19:48:43 -0500 Dylan Holmes Added introduction.
Fri, 04 May 2012 06:15:47 -0500 Robert McIntyre remove useless :duty from drum track.
Fri, 04 May 2012 06:12:59 -0500 Robert McIntyre got drums to work.
Fri, 04 May 2012 05:17:18 -0500 Robert McIntyre working on drums.
Fri, 04 May 2012 04:13:13 -0500 Robert McIntyre working on noise.
Fri, 04 May 2012 03:55:00 -0500 Robert McIntyre remove dead code.
Fri, 04 May 2012 03:50:07 -0500 Robert McIntyre removed duplicate notes in drum track.
Fri, 04 May 2012 03:45:04 -0500 Robert McIntyre enabled duty-selection via title information in the midi file.
Fri, 04 May 2012 03:34:32 -0500 Robert McIntyre implememted automatic detection of tracks.
Fri, 04 May 2012 03:01:28 -0500 Robert McIntyre implemented adjustable wave-duty for the two pitch channels.
Fri, 04 May 2012 02:41:45 -0500 Robert McIntyre added trill and extended last note.
Fri, 04 May 2012 02:27:11 -0500 Robert McIntyre remove csv file.
Fri, 04 May 2012 02:26:28 -0500 Robert McIntyre going to work on another song.
Thu, 03 May 2012 11:28:33 -0500 Robert McIntyre rescaled intro.
Thu, 03 May 2012 11:24:46 -0500 Robert McIntyre fixed silence at end, and increased tempo.
Thu, 03 May 2012 10:28:05 -0500 Robert McIntyre synchronized pony song.
Thu, 03 May 2012 07:25:06 -0500 Robert McIntyre exporting to midi file.
Thu, 03 May 2012 07:01:42 -0500 Robert McIntyre removed all overlapping notes.
Thu, 03 May 2012 06:57:41 -0500 Robert McIntyre removed overlapping notes in drum track.
Thu, 03 May 2012 06:45:26 -0500 Robert McIntyre move some notes between tracks.
Thu, 03 May 2012 06:42:58 -0500 Robert McIntyre simplified notes
Thu, 03 May 2012 06:31:17 -0500 Robert McIntyre merge drum tracks
Thu, 03 May 2012 06:28:37 -0500 Robert McIntyre change insturments.
Thu, 03 May 2012 06:22:34 -0500 Robert McIntyre removed some tracks.
Thu, 03 May 2012 06:13:17 -0500 Robert McIntyre added music
Fri, 27 Apr 2012 12:16:11 -0500 Robert McIntyre saving progress.
Thu, 26 Apr 2012 08:14:03 -0500 Robert McIntyre mapped most of music-playing RAM
Thu, 26 Apr 2012 06:52:35 -0500 Robert McIntyre mapped more of RAM music-playing data structure.
Thu, 26 Apr 2012 05:45:16 -0500 Robert McIntyre discovered meanig of first 8 bytes of music.
Thu, 26 Apr 2012 05:05:16 -0500 Robert McIntyre can cange music; trying to understand music format.
Thu, 26 Apr 2012 04:35:49 -0500 Robert McIntyre investigating the game's music.
Thu, 26 Apr 2012 03:00:58 -0500 Robert McIntyre saving progress.
Wed, 25 Apr 2012 13:46:31 -0500 Robert McIntyre can now play midi files with two tracks.
Wed, 25 Apr 2012 13:09:06 -0500 Robert McIntyre now I can play two voices at once!
Wed, 25 Apr 2012 12:41:30 -0500 Robert McIntyre created basic frame system for multiple voices.
Wed, 25 Apr 2012 12:35:53 -0500 Robert McIntyre workig on two voices using square wave generators.
Wed, 25 Apr 2012 01:58:44 -0500 Robert McIntyre paramaterized music-step
Wed, 25 Apr 2012 01:56:39 -0500 Robert McIntyre paramaterized do-message
Tue, 24 Apr 2012 23:51:30 -0500 Robert McIntyre reordered assembly in music-kernel.
Tue, 24 Apr 2012 23:18:40 -0500 Robert McIntyre remove crufty comment.
Mon, 23 Apr 2012 09:49:24 -0500 Robert McIntyre correctly handles notes longer than 1 second.
Mon, 23 Apr 2012 09:40:11 -0500 Robert McIntyre investigating infinite loop in note-codes.
Mon, 23 Apr 2012 09:22:07 -0500 Robert McIntyre correctly handle silent spaces in midi files.
Mon, 23 Apr 2012 08:26:23 -0500 Robert McIntyre sucessfully played third-kind.
Mon, 23 Apr 2012 07:02:39 -0500 Robert McIntyre completed basic midi parser using midicsv
Mon, 23 Apr 2012 05:45:25 -0500 Robert McIntyre implemented note-code message.
Mon, 23 Apr 2012 04:45:55 -0500 Robert McIntyre changed assembly to handle mini-midi messages of different lengths.
Tue, 17 Apr 2012 06:53:48 -0500 Robert McIntyre increased resolution of music-kernel timer.
Tue, 17 Apr 2012 06:36:43 -0500 Robert McIntyre merge.
Sat, 14 Apr 2012 12:24:00 -0500 Dylan Holmes Found assembly scripts for GiveItem and GivePokemon.
Sat, 14 Apr 2012 09:27:49 -0500 Dylan Holmes Found HP restored by SODA POP, FRESH WATER, LEMONADE; also found number of steps for REPEL, SUPER REPEL, MAX REPEL.
Sat, 14 Apr 2012 05:20:28 -0500 Dylan Holmes Figured out how NPC Pokemon teams are encoded.
Tue, 17 Apr 2012 06:36:17 -0500 Robert McIntyre completed basic music playing kernel
Mon, 16 Apr 2012 14:08:56 -0500 Robert McIntyre made basic tone player.
Sat, 14 Apr 2012 05:41:55 -0500 Robert McIntyre everything works :) now I have total control over the game.
Sat, 14 Apr 2012 04:09:51 -0500 Robert McIntyre saving progress before debugging.
Sat, 14 Apr 2012 03:22:10 -0500 Robert McIntyre moved asseitem-writer assembly to rlm-assembly.
Sat, 14 Apr 2012 01:32:49 -0500 Robert McIntyre merge.
Fri, 13 Apr 2012 09:07:09 -0500 Dylan Holmes saving progress...
Fri, 13 Apr 2012 05:06:56 -0500 Dylan Holmes Saving work -- found Pokedex menu text, and other things.
Fri, 13 Apr 2012 02:38:10 -0500 Dylan Holmes Added several new things: NPC Pokemon names, Celadon prize data, NPC Trainers' Pokemon.
Sat, 14 Apr 2012 01:32:22 -0500 Robert McIntyre brought documentation up to date.
Fri, 13 Apr 2012 11:33:56 -0500 Robert McIntyre merge dylan's changes.
Thu, 12 Apr 2012 22:30:03 -0500 Dylan Holmes Astoundingly, it is not generally possible to convert decimal representations into hexadecimal simply by prepending 0x.
Thu, 12 Apr 2012 22:18:46 -0500 Dylan Holmes Found in-game pointers to type names; ready to remove manually-coded list.
Fri, 13 Apr 2012 11:32:52 -0500 Robert McIntyre removed repeated nybbles, length is now 69 opcodes.
Fri, 13 Apr 2012 11:18:08 -0500 Robert McIntyre got main-bootstrap-program down to 67 opcodes.
Fri, 13 Apr 2012 09:59:32 -0500 Robert McIntyre removed one opcode
Fri, 13 Apr 2012 09:47:34 -0500 Robert McIntyre all tests passed.
Fri, 13 Apr 2012 09:24:02 -0500 Robert McIntyre finally made it to the actual writing part...
Fri, 13 Apr 2012 07:30:11 -0500 Robert McIntyre this f@#@# thing oh my god.
Fri, 13 Apr 2012 05:35:55 -0500 Robert McIntyre allowed non-even initial blank inputs.
Fri, 13 Apr 2012 05:28:17 -0500 Robert McIntyre fixed bug where variables would be overwritten.
Fri, 13 Apr 2012 04:56:01 -0500 Robert McIntyre use E as scratch instead of C
Fri, 13 Apr 2012 04:50:58 -0500 Robert McIntyre fixed bug where A was always 0 when the self-modigying code was executed.
Fri, 13 Apr 2012 04:37:12 -0500 Robert McIntyre set H for real
Fri, 13 Apr 2012 04:13:12 -0500 Robert McIntyre set H, but found flaw in program flow.
Thu, 12 Apr 2012 01:25:28 -0500 Robert McIntyre saving progress.
Thu, 12 Apr 2012 00:52:19 -0500 Robert McIntyre saving progress....
Thu, 12 Apr 2012 00:20:16 -0500 Robert McIntyre saving progress...
Wed, 11 Apr 2012 23:40:01 -0500 Robert McIntyre saving progress.
Thu, 12 Apr 2012 12:08:36 -0500 Robert McIntyre saving progress.
Thu, 12 Apr 2012 10:20:38 -0500 Robert McIntyre had to change programs to prevent repeats.
Thu, 12 Apr 2012 09:21:40 -0500 Robert McIntyre saving progress...
Thu, 12 Apr 2012 06:27:03 -0500 Robert McIntyre changed scratch ragisters from BC to DE.
Thu, 12 Apr 2012 06:20:17 -0500 Robert McIntyre working on mode-dispatch
Wed, 11 Apr 2012 14:04:21 -0500 Robert McIntyre completed read-user-input by working off of Dylan's version.
Wed, 11 Apr 2012 13:39:53 -0500 Robert McIntyre saving progress.
Wed, 11 Apr 2012 13:17:08 -0500 Robert McIntyre decreased frame-metronome by one opcode
Wed, 11 Apr 2012 13:09:41 -0500 Robert McIntyre frame-metronome no longer needs any state.
Wed, 11 Apr 2012 12:36:30 -0500 Robert McIntyre leave HL unmolested
Wed, 11 Apr 2012 12:35:31 -0500 Robert McIntyre simplifying frame-metronome
Wed, 11 Apr 2012 11:43:51 -0500 Robert McIntyre created efficient frame-metronome program
Wed, 11 Apr 2012 10:47:27 -0500 Robert McIntyre working on main bootstrap program
Wed, 11 Apr 2012 09:14:51 -0500 Robert McIntyre modifying dylan's assembly bootstrap program so that my primitive item-writer program can write it to memory.
Tue, 10 Apr 2012 09:17:47 -0500 Robert McIntyre add demo moves
Tue, 10 Apr 2012 06:56:07 -0500 Robert McIntyre merge
Mon, 09 Apr 2012 03:46:04 -0500 Dylan Holmes Found some tile sprites for printable characters. Neato.
Mon, 09 Apr 2012 01:44:19 -0500 Dylan Holmes merged changes
Mon, 09 Apr 2012 01:40:26 -0500 Dylan Holmes Added more sandbox stuff in rom.org to show how the memory is laid out.
Sun, 08 Apr 2012 07:59:15 -0500 Dylan Holmes fixed a few blocks that were not tangling properly.
Tue, 10 Apr 2012 06:33:44 -0500 Robert McIntyre script: wrote memory pattern from within game!
Tue, 10 Apr 2012 03:32:47 -0500 Robert McIntyre cleaning up code
Mon, 09 Apr 2012 13:21:34 -0500 Robert McIntyre script: item-program completely deposited. Will test tomorrow :)
Mon, 09 Apr 2012 12:34:29 -0500 Robert McIntyre saving progress...
Mon, 09 Apr 2012 11:31:09 -0500 Robert McIntyre almost halfway there!
Mon, 09 Apr 2012 11:03:33 -0500 Robert McIntyre more progress.
Mon, 09 Apr 2012 10:35:22 -0500 Robert McIntyre saving progress...]
Mon, 09 Apr 2012 09:25:33 -0500 Robert McIntyre script: made it to celadon poke-center.
Mon, 09 Apr 2012 09:10:45 -0500 Robert McIntyre route repaired.
Mon, 09 Apr 2012 08:51:47 -0500 Robert McIntyre repairing route
Mon, 09 Apr 2012 08:27:45 -0500 Robert McIntyre script: got leomnades and TM13, shopping is complete.
Mon, 09 Apr 2012 07:30:44 -0500 Robert McIntyre got guard spec & x-accuracy; floor five complete.
Mon, 09 Apr 2012 07:20:41 -0500 Robert McIntyre got elemental stones; floor four complete.
Mon, 09 Apr 2012 07:13:40 -0500 Robert McIntyre script: got TM18; floor three complete.
Mon, 09 Apr 2012 06:30:13 -0500 Robert McIntyre script: bought status healing items; floor two complete.
Mon, 09 Apr 2012 06:09:49 -0500 Robert McIntyre script: bought TMs on second floor.
Mon, 09 Apr 2012 05:36:56 -0500 Robert McIntyre adjusting run to use 0x00 items for money since they are worth a half million each.
Sun, 08 Apr 2012 21:21:39 -0500 Robert McIntyre wrote skeleton for celadon purchase spree.
Sun, 08 Apr 2012 21:12:07 -0500 Robert McIntyre mapped celadon store inventories.
Sun, 08 Apr 2012 20:59:06 -0500 Robert McIntyre merge dylan's changes.
Sun, 08 Apr 2012 07:57:52 -0500 Dylan Holmes fixed a few blocks that were not tangling properly.
Sun, 08 Apr 2012 07:55:06 -0500 Dylan Holmes finished working for now. i've completed more carving up of code blocks.
Sun, 08 Apr 2012 06:13:39 -0500 Dylan Holmes more progess: now rom.org tangles into hxc.clj; i'll be subdividing the code blocks as I write more.
Sun, 08 Apr 2012 01:28:39 -0500 Dylan Holmes Saving progress. Cleaned up documentation a little; found more ROM stuff, including names of status ailments and amount of HP restored by potions.
Sun, 08 Apr 2012 20:58:14 -0500 Robert McIntyre script: made it to cereulean with TM55s worth 2 million.
Sun, 08 Apr 2012 08:43:52 -0500 Robert McIntyre item layout is complete.
Sun, 08 Apr 2012 08:27:55 -0500 Robert McIntyre constructing exact item-pc layout for item-writer.
Sun, 08 Apr 2012 06:11:29 -0500 Robert McIntyre completed testing of item-writer; looks good.
Sun, 08 Apr 2012 05:48:13 -0500 Robert McIntyre brought item-writer down to 20 items.
Sun, 08 Apr 2012 04:10:49 -0500 Robert McIntyre preliminary item-writer complete
Sun, 08 Apr 2012 03:00:51 -0500 Robert McIntyre rewriting basic-writer assemly so that it is valid items
Sat, 07 Apr 2012 12:31:12 -0500 Robert McIntyre created 40-byte program to bootstrap main bootstrap program
Sat, 07 Apr 2012 07:43:17 -0500 Robert McIntyre restore memoization.
Sat, 07 Apr 2012 07:31:59 -0500 Robert McIntyre Fixed two major bugs related to restart events which were causing desync. The entire video now syncs properly.
Sat, 07 Apr 2012 05:42:26 -0500 Robert McIntyre fixed major bug with first-difference which was causing de-sync.
Fri, 06 Apr 2012 14:54:39 -0500 Robert McIntyre saving progress.
Fri, 06 Apr 2012 14:41:28 -0500 Robert McIntyre fixed problem with rival's name.
Fri, 06 Apr 2012 13:52:08 -0500 Robert McIntyre solving problem with rival name becomming a key item.
Fri, 06 Apr 2012 12:18:58 -0500 Robert McIntyre improved do-save-corruption
Fri, 06 Apr 2012 09:09:52 -0500 Robert McIntyre made more progress, have burn heals and correct name for rival.
Fri, 06 Apr 2012 07:22:18 -0500 Robert McIntyre improved efficiency of delayed-difference
Thu, 05 Apr 2012 15:05:08 -0500 Robert McIntyre improved delayed-difference with memoization
Thu, 05 Apr 2012 12:59:30 -0500 Robert McIntyre corrected compilation bugs
Wed, 04 Apr 2012 14:55:43 -0500 Robert McIntyre saving progress before trip to Liberal.
Wed, 04 Apr 2012 03:25:14 -0500 Robert McIntyre improved efficiency of set-cursor
Wed, 04 Apr 2012 01:04:06 -0500 Robert McIntyre fixed set-cursor so that moving the cursor backwards works
Wed, 04 Apr 2012 00:56:53 -0500 Robert McIntyre created functions to set the cursor to any position in any list
Wed, 04 Apr 2012 00:35:44 -0500 Robert McIntyre added function to determine wuantity of items currently selected
Wed, 04 Apr 2012 00:16:49 -0500 Robert McIntyre created function to determine total item-offset
Tue, 03 Apr 2012 23:17:33 -0500 Robert McIntyre located item-list related addresses.
Tue, 03 Apr 2012 04:16:20 -0500 Robert McIntyre adapting bootstrap to new util functions.
Mon, 02 Apr 2012 23:13:49 -0500 Robert McIntyre fixing runs to use new util functions.